Compatibility and replaceability analysis for timed web service protocols Boualem Benatallah 1 Fabio Casati 2 Julien Ponge 3,1 Farouk Toumani 3 1 Computer School of Engineering, The University of New South Wales, Sydney, Australia 2 Hewlett-Packard Laboratories, Palo Alto, California, USA 3 Laboratoire LIMOS, ISIMA, Clermont-Ferrand, France 21èmes journées Bases de Données Avancées Saint-Malo
Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 2 / 38
Introduction Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 3 / 38
Introduction Les web services aujourd hui Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 4 / 38
Introduction Les web services aujourd hui Web services? Les web services sont la nouvelle vague des applications web. Ce sont des applications modulaires, auto-contenues et auto-descriptives qui peuvent être publiées, localisées et invoquées depuis le web. Tutoriel IBM DeveloperWorks Evolution middlewares classiques (MOM / RPC). Emplois de standards : XML, SOAP, HTTP(S), SMTP,... Services-Oriented Computing, couplage faible. 5 / 38
Introduction Les web services aujourd hui Web services? Les web services sont la nouvelle vague des applications web. Ce sont des applications modulaires, auto-contenues et auto-descriptives qui peuvent être publiées, localisées et invoquées depuis le web. Tutoriel IBM DeveloperWorks Evolution middlewares classiques (MOM / RPC). Emplois de standards : XML, SOAP, HTTP(S), SMTP,... Services-Oriented Computing, couplage faible. 5 / 38
Introduction Les web services aujourd hui Scénario usuel Annuaire 1 3 Internet Web service 2 WSDL SI, WS, Apps,... 6 / 38
Introduction Les web services aujourd hui Pour le développeur... SOAP / WSDL très bien acceptés, UDDI... moins. Services riches (ex : Amazon) : beaucoup d opérations. Difficultés pour comprendre le service. Standards bas-niveau, opérations manuelles. 7 / 38
Introduction Vers des abstractions de plus haut-niveau Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 8 / 38
Introduction Vers des abstractions de plus haut-niveau (Une) Pile des web services Haut-niveau Bas-niveau WSCI, WSCL, BPEL4WS,..., Découverte WSDL SOAP HTTP(S), SMTP, IIOP,... XML S é c u r i t é Q o S M a n a g e m e n t Business issues = Prolifération des standards (WS-*), orientés principalement implémentation. 9 / 38
Introduction Vers des abstractions de plus haut-niveau (Une) Pile des web services Haut-niveau Bas-niveau WSCI, WSCL, BPEL4WS,..., Découverte WSDL SOAP HTTP(S), SMTP, IIOP,... XML S é c u r i t é Q o S M a n a g e m e n t Business issues = Prolifération des standards (WS-*), orientés principalement implémentation. 9 / 38
Introduction Vers des abstractions de plus haut-niveau ServiceMozaic Conception, développement et gestion de services. Ensemble d outils orientés-modèles. J2EE + Eclipse. 10 / 38
Introduction Vers des abstractions de plus haut-niveau ServiceMozaic 10 / 38
Introduction Vers des abstractions de plus haut-niveau Business protocols Représenter l ensemble des conversations (comportement externe). Permettre des analyses via une algèbre. Automate déterministe : états phases durant l interaction client transitions messages échangés (in / out +/ ). Instances multiples et concurrentes. 11 / 38
Introduction Vers des abstractions de plus haut-niveau Exemple Amazon AWS start cartrequestout keywordsearchrequest(+) shoppingcartresponse(-) searchin keywordsearchrequest(+) cartrequestin getshoppingcartrequest(+) keywordsearchresponse(-) modifyshoppingcartitemsrequest(+) removeshoppingcart ItemsRequest(+) searchout addshoppingcartitemsrequest(+) shopping removeshoppingcartitemsrequest(+) getshoppingcartrequest(+) modifyshoppingcart ItemsRequest(+) addshoppingcart ItemsRequest(+) 12 / 38
Introduction Vers des abstractions de plus haut-niveau Identifier / modéliser des abstractions Compromis expressivité / complexité. Travaux précédents sur des portails e-commerce. Modèle de base simple et intuitif. Extensions pour les abstractions, ici le temps. 13 / 38
Introduction Vers des abstractions de plus haut-niveau Intuition vis-à-vis du temps start cartrequestout keywordsearchrequest(+) shoppingcartresponse(-) searchin keywordsearchrequest(+) cartrequestin getshoppingcartrequest(+) keywordsearchresponse(-) modifyshoppingcartitemsrequest(+) removeshoppingcart ItemsRequest(+) searchout addshoppingcartitemsrequest(+) shopping removeshoppingcartitemsrequest(+) getshoppingcartrequest(+) modifyshoppingcart ItemsRequest(+) addshoppingcart ItemsRequest(+) 14 / 38
Introduction Vers des abstractions de plus haut-niveau Intuition vis-à-vis du temps start cartrequestout keywordsearchrequest(+) timeout, 10 minutes shoppingcartresponse(-) searchin keywordsearchrequest(+) cartrequestin getshoppingcartrequest(+) keywordsearchresponse(-) modifyshoppingcartitemsrequest(+) removeshoppingcart ItemsRequest(+) searchout addshoppingcartitemsrequest(+) shopping removeshoppingcartitemsrequest(+) getshoppingcartrequest(+) modifyshoppingcart ItemsRequest(+) addshoppingcart ItemsRequest(+) 14 / 38
Introduction Compatibilité, remplaçabilité Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 15 / 38
Introduction Compatibilité, remplaçabilité Compatibilité P1 s0 a(+) s1 b(+) s2 P2 s0' a(-) s1' b(-) s2' 2 services peuvent converser 16 / 38
Introduction Compatibilité, remplaçabilité Remplaçabilité P1 s0 a(+) s1 b(+) s2 c(+) s2' P2 s0' a(+) s1' b(+) s3' 1 service peut en remplacer un autre 17 / 38
Introduction Compatibilité, remplaçabilité Approche pour l analyse Classes de compatibilité. Caractérisation à l aide d opérateurs de protocoles. Algorithmes ad-hoc pour les opérateurs. 18 / 38
Timed business protocols Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 19 / 38
Timed business protocols Présentation Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 20 / 38
Timed business protocols Présentation Extension du modèle de base s0 a(+) P Introduction de transitions implicites. Modélisation intervalles de validité / expirations. s1 i1: 60s s3 b(+) b(+) c(+) s2 s4 21 / 38
Timed business protocols Présentation Formalisation Web services business protocol P = (S, s 0, F, M, R) Timed web services business protocol : M = M e M i Pour R(s, s, m), m M i, définition de T ime(s, m) t Q 0. 22 / 38
Timed business protocols Présentation Formalisation Web services business protocol P = (S, s 0, F, M, R) Timed web services business protocol : M = M e M i Pour R(s, s, m), m M i, définition de T ime(s, m) t Q 0. 22 / 38
Timed business protocols Présentation Formalisation cont. Protocoles déterministes. Au plus 1 transition implicite par état. Pas de deadlocks. Hypothèses : transitions instantanées temps relatif / entrée dans un état s états atteignables pas de circuits implicites. 23 / 38
Timed business protocols Présentation Exemple : mauvais protocole s0 a(+) i2: 35s s1 i1: 60s s3 b(+) i3: 70s c(+) s2 s4 s5 24 / 38
Timed business protocols Présentation Sémantique 2 types de contraintes : conversations Linear time a(+) b( ) c(+) temporelles traces temporisées (a(+), 0) (b( ), 3) (c(+), 20) On s intéresse aux traces observables. 25 / 38
Timed business protocols Présentation Sémantique 2 types de contraintes : conversations Linear time a(+) b( ) c(+) temporelles traces temporisées (a(+), 0) (b( ), 3) (c(+), 20) On s intéresse aux traces observables. 25 / 38
Timed business protocols Analyse Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 26 / 38
Timed business protocols Analyse Classes de compatibilité et remplaçabilité Compatibilité : totale et partielle. Remplaçabilité : équivalence, partielle et subsomption par rapport à un protocole client par rapport à un rôle d interaction originalité : flexibilité. 27 / 38
Timed business protocols Analyse Classes de compatibilité et remplaçabilité Compatibilité : totale et partielle. Remplaçabilité : équivalence, partielle et subsomption par rapport à un protocole client par rapport à un rôle d interaction originalité : flexibilité. 27 / 38
Timed business protocols Analyse Difficulté P1 start x(+) s0 b(-) s2 P 1 et P 2 sont compatibles! s3 c(+) a(+) s1 i: 540min s4 Transitions implicitement disponibles. P2 start x(-) s0' a(-) b(+) s3' i1: 240min s4' s2' i2: 300min s1' b(+) c(-) s5' i3: 240min b(+) s6' s8' s7' s 0, s 0 : (P 1 ) (P 2 ) 8 < : 8 < : a : [0min, 540min] b : [0min, 540min] c : [0min, 540min] a : [0min, 240min] b : [0min, 780min] c : [240min, 540min] 28 / 38
Timed business protocols Analyse Opérateurs Timed compatible composition : TC Timed intersection : TI Timed difference : TD Projection : [P 1 TC P 2 ] P1 29 / 38
Timed business protocols Analyse Exemple : différence temporisée P 1 i: 3min s0 a(-) s1 b(+) s2 c(+) s3 s4 P 2 s0 a(-) s1 b(+) s2 c(+) s3 P 3 s0 a(-) s1 b(+) s2 i: 3min s2 c(+) P 3 = P 2 TD P 1 s4 30 / 38
Timed business protocols Analyse Caractérisation Caractérisation des classes de compatibilité et remplaçabilité par les opérateurs. Ex : T Repl PC (P 1, P 2 ) P C TC (P 2 TD P 1 ) = 31 / 38
Timed business protocols Algorithmes Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 32 / 38
Timed business protocols Algorithmes Résultats Algorithmes polynomiaux pour les opérateurs. Algorithme de fermeture de transitions implicite. Time-state space : disponibilités temporelles d une transition depuis un état. 33 / 38
Timed business protocols Algorithmes Expliciter par fermeture s0 a(+) P Depuis s 1 : s1 b(+) i1: 60s b(+) s3 c(+) b : ([0, + [, s 1 ) c : ([60, + [, s 1 ) s2 s4 34 / 38
Timed business protocols Algorithmes Expliciter par fermeture s0 a(+) P Depuis s 1 : s1 b(+) i1: 60s b(+) s3 c(+) b : ([0, + [, s 1 ) c : ([60, + [, s 1 ) s2 s4 34 / 38
Conclusion et perspectives Agenda 1 Introduction Les web services aujourd hui Vers des abstractions de plus haut-niveau Compatibilité, remplaçabilité 2 Timed business protocols Présentation Analyse Algorithmes 3 Conclusion et perspectives 35 / 38
Conclusion et perspectives Contribution Modèle temporisé pour le comportement externe de services. Analyse flexible de compatibilité et remplaçabilité. Opérateurs génériques + algorithmes. 36 / 38
Conclusion et perspectives Perspectives Limite : contraintes par rapport au dernier message. Lien avec les timed automata. Intégration dans ServiceMozaic. 37 / 38
Merci pour votre attention.