• Aucun résultat trouvé

I. Etat de l’art

I.7. Synthèse générale

Les travaux présentés dans ce chapitre «Etat de l‟art» s‟articulent autour de trois axes principaux:

(i) les approches de modélisation des systèmes orientés services

(ii) les approches d‟adaptation des SOSs

(iii) les approches de développement dirigées par les modèles des SOSs.

Les approches de modélisation ont défini des formalismes qui visent la spécification des SOSs indépendamment des technologies (dotNet, JWSDP, etc.) et des standards (SOAP, WSDL, UDDI, BPEL4WS, etc.). La définition de ces formalismes est d‟une importance capitale pour la maitrise de la complexité inhérente au développement des SOSs.

En ce qui concerne les approches d‟adaptation des services, plusieurs propositions ont vu le jour. Elles ont visé la prise en compte des différentes dimensions des besoins de l‟utilisateur final. De telles préoccupations concernent particulièrement le contexte de l‟utilisateur, la Qos, la gestion des droits d‟accès ainsi que les propriétés non-fonctionnelles.

Les approches MDA de développement des SOSs ont pour objectif de profiter des avantages de MDA (e.g., amélioration de la productivité, capitalisation des modèles métiers, amélioration de la portabilité et de l‟interopérabilité). Ces approches se fondent sur les concepts et les standards de l‟approche MDA pour la génération du code automatiquement à partir des modèles métiers.

Le tableau 7 suivant présente une synthèse des différentes approches étudiées dans le cadre de cet état de l‟art. Nous avons défini quatre critères pour faire comparer ces différentes approches : le formalisme/langage de modélisation utilisé pour la spécification des SOS, la prise en compte de l‟utilisateur (Oui, Non explicite), le niveau de prise en compte de l‟utilisateur (Le niveau PIM ou le niveau PSM), la préoccupation prise en compte de l‟utilisateur (Contexte, Droits d‟accès, Profils de l‟utilisateur, etc.) et aussi le critère de la génération automatique de code.

approche Formalisme de modélisation Automatisation de génération de code La prise en compte de l‟utilisateur Le niveau de prise en compte des utilisateurs Préoccupation( s) prise(s) en compte Stojanovic et al.(Stojanovic et al, 2004) Zhang et al.(Zhang et al., 2006) Biesegel et al.(Biesegel et al., 2005) UML, service component Oui Non -- -- Johnston (LÓPEZ SANZ ET AL., 2008 ) SoaML(OM G, 2009) Profil UML pour SOA SoaML

Oui Non explicite -- --

(Fuchs , 2004) Pas de formalisme Non Oui PSM -- (Benslimane et al., 2005)

SCD Non Oui PIM Contexte

(Maamar et al., 2006)

ContextUML Non Oui PIM Contexte

(Sheng et al., 2005)

ContextUML Non Oui PIM Contexte

(Lopez- velasco et al.,2005) (kouadri mostéfaoui et al., 2006)

VPL UML Oui Oui PIM Droits d‟accès Tao tao et al.,

2007)

Machine à états

Non Oui PIM Profil de

l‟utilisateur Chang et al. Notation

spécifique

Non Oui PIM Profil de

l‟utilisateur ( Bézivin et

al., 2004

UML/EDOC Oui Non explicite -- --

(Patrasciou al., 2004)

EDOC Oui Non explicite -- --

(Gronmo et al., 2004a)

UML Oui Non explicite -- --

(Yu et al., 2007)

EDOC Oui Non -- --

(Ortiz et al., 2007)

Profil UML Oui Oui PIM Aspects non

fonctionnels Alam (Alam

et al. 2007a) (Alam et al. 2007b)

SECTET-PL Oui Oui PIM Droits d‟accès

(D‟ambrogio et al., 2007)

Non défini Oui Oui PIM Qos

Tableau 7–Synthèse des différentes approches étudiées

Comme nous le montre le tableau, il n‟y a aucune approche d‟ingénierie des SOSs adaptables qui définisse un formalisme/langage prenant en compte le profil de l‟utilisateur ou de son contexte tout en permettant la génération automatique du code conformément aux principes et standards de l‟approche MDA. La majorité de ces propositions ne se fondent pas sur des formalismes/notations adaptés à la spécification des SOSs Adaptables. En outre, elles ne permettent pas la génération automatique du code en respectant les standards de l‟approche MDA.

Plus concrètement, l‟approche définie par (Maamar et al., 2005)(Benslimane et al. 2005) et l‟approche définie par (Fink et al., 2003) ne permettent pas la génération automatique de code. En ce qui concerne l‟approche définie par (Fuchs, 2004) qui se base sur les vues pour l‟adaptation des services aux types des utilisateurs (Interne/Externe), elle ne définit aucun formalisme pour la spécification des SOSs à un haut niveau d‟abstraction. Une telle approche prend en compte l‟utilisateur tard dans le cycle de développement, c‟est à dire au niveau code.

Les approches à base de la variabilité de service (Chang et al., 2007a) permettent le développement des SOSs adaptables en prenant en compte le profil de l‟utilisateur tout au long du cycle de développement. Cependant, cette proposition ne définit aucun formalisme pour la spécification des SOSs adaptables et elles ne permettent pas la génération automatique de code.

L‟approche d‟adaptation à base du concept du service différencié (Tao et al., 2007) se base sur les machines à états finis pour la prise en compte des profils des utilisateurs interagissant avec le service. Cette approche prend en compte l‟utilisateur le plus tôt dans le cycle de développement. Toutefois, cette approche ne fournit aucun formalisme qui vise la représentation de la structure statique d‟un SOS. De plus, elle ne permet pas la génération automatique du code.

Les approches qui ont visé l‟extension des standards associés à la technologies des services web tels que les travaux (lopez-velasco et al, kouadri mostéfaoui et al., 2006) (Maamar et al., 2006) pour la prise en compte du profil de l‟utilisateur ou de son contexte pour l‟adaptation des services posent plusieurs problèmes : (i)ces extensions ne sont pas accessibles et incompréhensibles aux différents stakeholders s‟intéressant au développement des SOSs vu leur verbosité ainsi que leur bas niveau d‟abstraction (ii) le manque de l‟automatisation de la génération de code correspondant aux extensions apportées à ces standards pénalise largement le développement des SOSs adaptables vu que le codage manuel de ces extensions est un exercice complexe, fastidieux et «error-prone». Par conséquent, il est nécessaire d‟offrir des formalismes et des notations facilement compréhensibles par les différents stakeholders et permettant l‟automatisation de la génération de code. Ce qui permet l‟amélioration de la productivité et une meilleure compréhension des SOS par les différentes stakeholders.

Contrairement aux approches d‟adaptation, les approches de modélisation des SOSs ont défini différents formalismes pour la spécification des SOSs telles que les travaux à base de Service Component (Stojanovic et al, 2004) (Zhang et al., 2006), à base de Service Component Architecture (Biesegel et al., 2005) et à base de profils visant la modélisation des SOSs(Johnston et al., 2006) (LÓPEZ SANZ ET AL., 2008 et al., 2006) (Zeid et al.,2004). De telles approches ne prennent pas en compte l‟utilisateur final explicitement au début du cycle de développement.

code. Toutefois, ces approches adoptent des formalismes qui ne sont pas adaptés à la spécification des SOSs. Elles se fondent sur le langage UML ou le profil EDOC. Or, ces deux formalismes ne sont pas définis pour la modélisation des systèmes orientés services. En outre, ils ne permettent pas la prise en compte de l‟utilisateur au niveau PIM.

Concernant les approches MDA de développement des SOSs tout en prenant en compte l‟utilisateur final, plusieurs propositions ont été définies. Ainsi, pour la prise en compte de la qualité de service, D‟ambrogio (D‟ambrogio, 2007) s‟est basé sur un profil UML pour la spécification de la Qos. Le formalisme défini ne permet pas la spécification des SOS. Il se focalise seulement sur la représentation des caractéristiques de la qualité de service. L‟approche définie par (Alam et al., 2007a) (Alam et al. 2007b) se fonde sur un DSL dédié pour la gestion des droits d‟accès. Elle ne définit aucun formalisme pour la spécification des aspects statiques et dynamiques d‟un SOS. Quant à l‟approche définie par (Maamar et al., 2007), elle définit le profil contextUML comme formalisme pour la spécification du contexte. Cette approche n‟adopte pas les standards de l‟approche MDA pour la génération du code.

L‟approche définie par (Ortiz et al., 2006a) traite les aspects non-fonctionnels (temps réels, login, etc). Certes, l‟approche permet la génération automatique du code suivant les standards et les principes de l‟approche MDA, cependant le profil défini ne permet pas la prise en compte du profil de l‟utilisateur mais elle prend en compte uniquement des aspects non fonctionnels.

Pour répondre à la problématique de l‟ingénierie des systèmes orientés services, d‟une part, et l‟adaptation de tels systèmes à leurs utilisateurs finals, d‟autre part, notre travail de thèse cible à proposer une approche d‟ingénierie dirigée par les modèles pour le développement des SOSs adaptables. Une telle approche se base sur :

(i) Un profil UML pour la modélisation et la spécification de ces systèmes tout en prenant en compte l‟utilisateur le plus tôt dans le cycle de développement. Ce profil définit les différents éléments de modélisation capables de représenter les différents artefacts d‟un SOS adaptables.

(ii)Un processus de développement définissant les phases, les activités, les artefacts pour le développement des SOSs Adaptables.

(iii)Un outil logiciel défini dans le cadre de l‟approche MDA, permettant la génération du code à partir des modèles métier via un ensemble de règles de transformation.

Dans le chapitre suivant, nous présentons notre profil UML défini pour la modélisation des SOSs adaptables. Ce profil constitue le premier élément de notre approche d‟ingénierie des SOSs adaptables.