Orchestrations de Service Web : vers une évolution

Transcription

Orchestrations de Service Web : vers une évolution
Orchestrations de Service Web : vers une
évolution par composition
Esquisses
Sébastien Mosser, Mireille Blay-Fornarino, Michel Riveill
Équipe Rainbow, Laboratoire I3S (CNRS - UNSA)
Bâtiment Polytech’Sophia – SI, 930 route des Colles
B.P. 145, F-06903 Sophia Antipolis Cedex
{mosser,blay,riveill}@polytech.unice.fr
Les nouvelles architectures logicielles à base de services permettent d’envisager une
évolution constante des applications en fonction des services disponibles et du contexte d’usage.
Cette évolution nécessite une programmation par incréments et raffinement du réseau de services existant et également d’autoriser des approches collaboratives basées sur la séparation
des préoccupations : plusieurs experts adaptent simultanément la même application en fonction
de points de vue différents. Ce constat est la base de l’étude qui sera menée pendant la thèse
dont le sujet est présenté ici.
RÉSUMÉ.
ABSTRACT.
.
MOTS-CLÉS :
Adaptation, Services, Composition
KEYWORDS:
Adaptation, Services, Composition
1re soumission à RIMEL’07, le 2 novembre 2010
2
1re soumission à RIMEL’07
1. Problématique
Les architectures orientés Services (S OA,(MacKenzie et al., 2006)) facilitent l’exposition, l’interconnexion, la gestion et l’évolution d’applications à base de services.
L’approche par services permet aux sociétés d’exposer leurs compétences métiers au
travers de langages et protocoles basés sur X ML. Les orchestrations sont au cœur de
ces architectures en supportant la construction d’applications à partir de fonctionnalités de base. Créer des compositions de services signifie ordonner les invocations
aux opérations, router les messages, modifier les paramètres et gérer les exceptions.
Plusieurs langages de composition sont définis (W SCI (Arkin et al., 2002),W SBPEL
(Jordan et al., 2007),S CUFL (Oinn et al., 2004)).
Dans le cadre des Services Web, nous nous intéressons aux langages d’orchestrations (B PEL 4 WS (Andrews et al., 2003), W SBPEL). Les orchestrations sont définies
par le consortium W3 C (W3C Glossary) comme « le modèle des interactions que
doit respecter un agent Service Web pour atteindre son but ». Cependant, même si
les orchestrations sont un support à une programmation incrémentielle pour réagir à
l’introduction d’une nouvelle levée d’événement ou la coordination avec un nouveau
service (Chandran et al., 2005, Bartoli et al., 2005), elles n’offrent pas de support
à leur propre composition. Ce point est d’autant plus critique que les applications
supportées évoluent très rapidement et que le développement collaboratif est reconnu
comme indispensable à l’élaboration des gros projets. La composition par assemblage
(approche boites noires) répond mal au partage de contexte entre des sous-processus, à
l’optimisation des workflows, à la gestion des exceptions, à la répartition des contrôles
d’accès, au contrôle de la qualité de services, aux calculs de coûts, etc.
L’adaptation des architectures orientées services est au cœur de la construction
de nouvelles applications à partir d’une offre mouvante de services en fonction du
contexte d’exécution, tout en prenant en compte des propriétés non fonctionnelles
telles que la sécurité, la réaction à un défaut de service, la gestion de la déconnexion,
etc. Les adaptations concernent alors des services hétérogènes et peuvent nécessiter un
contrôle des infrastructures (Marvie et al., 2006) L’évolution des architectures orientées services est ainsi cruciale à la réussite de nombreux projets dont ceux qui visent à
intensifier l’usage des services via la mise en place de nouveaux protocoles. En développant l’usage de ces architectures, la composition des services va devenir une tâche
critique. Elle suppose de connaître l’ensemble des services mis en jeux et d’être capable de contrôler le flot de données et d’exécution. Cette tâche, faîte manuellement,
est cause d’erreurs et chronophage.
2. Vers une évolution dynamique, collaborative et sûre
Pour gérer l’évolution dans la composition des services, nous nous basons sur
le formalisme des orchestrations en tant que description d’assemblages de services.
Nous proposons de définir des mécanismes de compositions qui permettent d’optimiser l’évolution de ces assemblages. Nous distinguons deux formes d’assemblages : les
Orchestration & Évolutions
3
assemblages définis pour construire de nouveaux services et les assemblages visant à
introduire du contrôle dans des assemblages existants.
Lors de la composition de ces assemblages, les défis à relever (i) sont la détection des conflits d’assemblage (par exemple la levée de plusieurs exceptions en cas de
conjonction de conditions, les accès concurrents en lecture et écriture à une variable
ou la multiplicité des instructions de retours), (ii) l’optimisation des assemblages résultants (par exemple en reconnaissant les appels multiples à un même service ou en
partageant des données) et (iii) le calcul des orchestrations résultantes comprenant la
composition des contrôles, la coordination entre des flots de données circulant dans
ces workflows, l’introduction d’adaptateurs, etc.
Pour gérer la complexité des compositions de services, nous proposons de nous
appuyer sur des résultats issus de différents domaines collatéraux de l’ingénierie du
logiciel.
De l’ingénierie des modèles (IDM), nous reprenons les travaux relatifs aux transformations et aux algèbres sur les modèles pour exprimer les compositions et les
calculer (Bernstein, 2003). La formalisation des transformations(OMG, 2005) devra
nous permettre de garantir l’incrémentalité dans l’évolution des assemblages et la
confluence lors de la fusion d’assemblages. L’ordre des transformations s’appuiera sur
les dernières avancées en matière de calcul des ordres d’application des transformations (Mens et al., 2006, Kniesel, 2006). Nous utilisons les travaux relatifs à la logique
pour gérer l’unification, la reconnaissance de patterns et les retours sur erreurs (Klein
et al., 2007). Nous appuyons l’intégration des propriétés non fonctionnelles dépendantes des plateformes sur la métamodélisation du comportement et les projections et
rétro-projections(Nano, 2004, Favre et al., 2006a).
Des travaux sur le développement par séparation des préoccupations et la programmation par aspects (Douence, 2004), nous retenons les progrès en matière de tissage
de code et de détection des conflits (Charfi et al., 2006, Courbis et al., 2005, Liu et
al., 2006). Nous portons tout particulièrement notre attention sur des mécanismes de
composition indépendants de l’ordre des adaptations (Blay-Fornarino et al., 2004) et
la mise en place d’une base de connaissance des solutions à certains conflits récurrents
(Filman et al., 2005, Douence et al., 2004, Szyperski, 1996).
Dans un contexte dynamique d’adaptation des architectures à base de services,
il est particulièrement pénalisant d’introduire des incohérences qui peuvent conduire
à l’arrêt, même partiel, de l’application. Il apparaît donc essentiel de corréler aux
mécanismes d’adaptations et de compositions des moyens pour garantir la sûreté de
fonctionnement des applications (Barais et al., 2006, Fleurquin et al., 2006, Occello,
2006).
La composition de service implique de composer les données. Du calcul sur grilles,
nous retenons en particulier les travaux relatifs à la composition des données (Glatard
et al., 2007).
4
1re soumission à RIMEL’07
L’accroissement du nombre des services et la connaissance partielle du réseau des
services suppose de définir des mécanismes d’adaptation et d’évolution qui prennent
en charge l’optimisation des assemblages résultants (Glatard et al., 2006, Nemo et al.,
2007, Chafle et al., 2004).
Dans notre équipe, nous travaillons sur deux applications qui mettent en jeux des
assemblages de services. L’une, dite S EDUITE, est un système de diffusion d’informations au sein de l’école polytechnique (Blay-Fornarino et al., 2007). En exploitation,
elle exige une forte adaptabilité pour répondre aux modifications de services et à l’extension de l’école avec l’ouverture de différents départements et sites. L’autre application porte sur analyse d’images médicales. Cette application utilise, M OTEUR, un
moteur de workflow manager et est interfacée avec l’infrastructure de production du
projet E GEE. Dans les deux cas, le projet proposé ici devra permettre d’adapter plus
rapidement et efficacement les assemblages. Ces démonstrateurs nous permettront de
valoriser nos travaux auprès des industriels ultérieurement.
3. Conclusion
L’évolution des applications repose sur une capitalisation des connaissances et la
confiance de l’utilisateur dans l’application résultante. L’adaptation des architectures
à base de services ne déroge pas à ces règles. Nous proposons de l’aborder en nous
appuyant sur les approches par modèles qui donnent la liberté d’expression et l’interopérabilité, des outils de compositions qui reposent sur des théories bien fondées
issues à la fois de la programmation par aspects et par sujets, et les méthodes formelles
pour assurer la validité des adaptations à l’exécution.
La problématique et les esquisses de solution proposées ici sont issues de nos collaborations dans le cadre de différents projets industriels (Thèse avec D CN Toulon,
Projet R NTL FAROS, Projet “New generation Multimédia Service” (S MNG) dans le
pôle de compétitivité S CS qui implique P HILIPS, F RANCE T ÉLÉCOM, H EWLETT PA CKARD , ATOS , . . . ). Une plateforme est en cours de développement pour étayer ces
différents points (Joffroy et al., 2007a, Joffroy et al., 2007b).
4. Bibliographie
Andrews T., Curbera F., Dholakia H., Goland Y., Johannes K., Leymann F., Liu K., Roller D.,
Smith D., Thatte S., Trickovic I., Weerawarana S., « Business Process Execution Language
for Web Services », 2003.
Arkin A., Askary S., Fordin S., Jekeli W., Kawaguchi K., Orchard D., Pogliani S., Riemer K.,
Struble S., Takacsi-Nagy P., Trickovic I., Zimek S., « Web Service Choreography Interface
1.0 », 2002.
Barais O., Lawall J., Le Meur A.-F., Duchien L., « Safe Integration of New Concerns in a
Software Architecture », 13th Annual IEEE International Conference on Engineering of
Computer Based Systems (ECBS’06), IEEE, Potsdam, Germany, March, 2006.
Orchestration & Évolutions
5
Bartoli A., Jiménez-Perir R., Kemme B., Pautasso C., Patarin S., Wheater S., Woodman S.,
« The Adapt Framework for Adaptable and Composable », IEEE Distributed Systems Online, September, 2005.
Bernstein P., « Applying model management to classical meta data problems », Conf. on Innovative Database Research (CIDR), Asilomar, CA, USA, January, 2003.
Blay-Fornarino M., Charfi A., Emsellem D., Pinna-Déry A.-M., Riveill M., « Software interaction », Journal of Object Technology (ETH Zurich), vol. 3, n° 10, p. 161-180, 2004.
Blay-Fornarino M., Collet P., Lahire P., Lavirotte S., Pinna-Déry A.-M., Riveill M., Tigli J.-Y.,
Contrats et compositions de services de l, Technical Report n° F.4.1, RNTL Faros, January,
2007.
Chafle G. B., Chandra S., Mann V., Nanda M. G., « Decentralized orchestration of composite
web services », WWW Alt. ’04 : Proceedings of the 13th international World Wide Web
conference on Alternate track papers & posters, ACM Press, New York, NY, USA, p. 134143, 2004.
Chandran P., Poduval A., Adding BPEL to the Enterprise Integration Mix, Technical report,
ORACLE, November, 2005.
Charfi A., Mezini M., « AO4BPEL : An Aspect-Oriented Extension to BPEL », World Wide
Web Journal : Recent Advances on Web Services (special issue), to appear, 2006.
Courbis C., Finkelstein A., « Weaving Aspects into Web Service Orchestrations. », ICWS, IEEE
Computer Society, p. 219-226, 2005.
Douence R., « A Restricted Definition of AOP », in , K. Gybels, , S. Hanenberg, , S. Herrmann, , J. Wloka (eds), European Interactive Workshop on Aspects in Software (EIWAS),
September, 2004.
Douence R., Fradet P., Südholt M., « Composition, reuse and interaction analysis of stateful
aspects », 3rd international conference on Aspect-oriented software development (AOSD
’04), ACM Press, Lancaster, UK, p. 141-150, 2004.
Favre J.-M., Bézivin J., Bull I., Évolution, rétro-ingénierie et IDM : du code aux modèles, in ,
chapter 8, February, 2006a.
Favre J.-M., Establier J., Blay-Fornarino M., L’ingénierie dirigée par les modèles : au-delà du
MDA, Hermes-Lavoisier, Cachan, France, February, 2006b.
Filman R., Friedman D., « Aspect-Oriented Programming Is Quantification and Obliviousness », in , R. Filman, , T. Erald, , S. Clarke, , M. Aksit (eds), Aspect-Oriented Software
Development (AOSD’05), Addison-Wesley, Boston, p. 21-35, 2005.
Fleurquin R., Tibermacine C., « Une assistance pour l’évolution des logiciels à base de composants », RTSI, série l’Objet, 2006.
Glatard T., Montagnat J., Lingrand D., Pennec X., « Flexible and efficient workflow deployement of data-intensive applications on grids with MOTEUR », International Journal of
High Performance Computing and Applications (IJHPCA), 2007.
Glatard T., Montagnat J., Pennec X., « Medical image registration algorithms assesment :
Bronze Standard application enactment on grids using the MOTEUR workflow engine. »,
HealthGrid conference (HealthGrid’06), IOS Press, Valencia, Spain, p. 93-103, June, 2006.
Joffroy C., Mosser S., Blay-Fornarino M., Plateforme ADORE : Aspect and Distributed ORchEstrations, Technical report, I3S, Sophia-Antipolis (France), March, 2007a.
6
1re soumission à RIMEL’07
Joffroy C., Mosser S., Blay-Fornarino M., Nemo C., « Des Orchestrations de Services Web
aux Aspects », 3ème Journée Francophone sur le Développement de Logiciels Par Aspects
(JFLDPA’2007), Toulouse (France), March, 2007b.
Jordan D., Evedmon J., Alves A., Arkin A., Askary S., Barreto C., Bloch B., Curbera F., Ford
M., Goland Y., Guízar A., Kartha N., Liu K., Khalaf R., Konig D., Marin M., Mehta V.,
Thatte S., Van der Rijn D., Yendluri P., Yiu A., « Web Services Business Process Execution
Language Version 2.0 », 2007.
Klein J., Baudry B., Barais O., Jackson A., « Introduction du test dans la modélisation par
aspects », IDM, 2007.
Kniesel G., « Analysing the Correctness and Completeness of Aspect Weaving », IEEE Working
Conference on Reverse Engineering (WCRE 2006), Benevento (Italy), October, 2006.
Liu J., Batory D., Lengauer C., « Feature Oriented Refactoring of Legacy Applications », International Conference on Software Engineering (ICSE), Shanghai, China, May, 2006.
MacKenzie M., Laskey K., McCabe F., Brown P., Metz R., Reference Model for Service Oriented Architecture 1.0, Technical Report n° wd-soa-rm-cd1, OASIS, February, 2006.
Marvie R., Duchien L., Blay-Fornarino M., Les plates-formes d’exécution et l’IDM, in , chapter 4, February, 2006.
Mens T., Kniesel G., Runge O., « Transformation dependency analysis. A comparison of two
approaches », Langages et Modèles à Objets (LMO), Hermes, Nimes, p. 167-182, March,
2006.
Nano O., Un modèle de réécriture pour l’intégration de services, PhD thesis, Université de Nice
- Sophia Antipolis, Sophia Antipolis, France, 2004.
Nemo C., Blay-Fornarino M., Kniesel G., Riveill M., « SEMANTIC ORCHESTRATIONS
MERGING - Towards Composition of Overlapping Orchestrations », in , J. Filipe (ed.),
9th International Conference on Enterprise Information Systems (ICEIS’2007), Funchal,
Madeira, June, 2007.
Occello A., Capitalisation de la sûreté de fonctionnement des applications soumises aux adaptations dynamiques : le modèle exécutable Satin, PhD thesis, Universite de Nice - Sophia
Antipolis, Sophia Antipolis, France, June, 2006.
Oinn T., Addis M., Ferris J., Marvin D., Senger M., Greenwood M., Carver T., Glover K.,
Pocock M. R., Wipat A., Li P., « Taverna : A tool for the composition and enactment of
bioinformatics workflows », Bioinformatics journal, vol. 17, n° 20, p. 3045-3054, 2004.
OMG ., MOF QVT Final Adopted Specification, OMG Document ptc/2005-11-01, Object Modeling Group. June, 2005.
Szyperski C., « Independently Extensible Systems – Software Engineering Potential and Challenges », Proceedings of the 19th Australian Computer Science Conference, Melbourne,
Australia, 1996.

Documents pareils