330 likes | 424 Views
E nvironments COO peration. Université Nancy II. Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés. Présenté le 22 juin 2005 par Khaled Gaaloul. Composition du jury : Noëlle Carbonell Didier Galmiche Olivier Festor Dominique Méry
E N D
Environments COOperation Université Nancy II Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés Présenté le 22 juin 2005 parKhaled Gaaloul Composition du jury : Noëlle Carbonell Didier Galmiche Olivier Festor Dominique Méry Encadrant : Claude Godart Laboratoire Lorrain de Recherche en Informatique et ses Applications
Plan • Contexte et Problématique • État de l’art • Patrons transactionnels • Conclusion et Perspectives 1
Contexte : les applications Business-to-Business (B2B) (1) • Les entreprise expriment de plus en plus leurs relations commerciales via le Web. • Coopération inter entreprises et automatisation des procédés. • La nécessité de mécanismes supportant l’interconnexion et la coopération des applications B2B. 2
Entreprise DHL Agence Tour opérateur Entreprise Fedex Envoie de documents par Fedex (EDF) • Contexte : Intégration des application B2B (2) Réservation de l’Hôtel (RH) Banque A N D Paiement en Ligne (PL) Spécification des Besoins du Client (SBC) A N D X O R Envoie de documents par DHL (EDD) Réservation de l’avion (RA) Niveau communication Niveau contenu Niveau procédé Organisation de voyage en ligne 3
A2A Vs l’approche <<services Web>> pour les B2B • A2A (Application-to-Application) : aspect statique, • Fortement couplées • Gestion centralisée • Approche<<services Web>> : technologies plus adaptées pour les B2B • Standardisation • Architecture orientée service • Environnement d’égal à égal 4
Problème de composition Manque de fiabilité Concepteurs RH EDF A N D PL SBC A N D X O R Activé RA EDD Échec • Problématique : comment assurer des exécutions fiables de services Web composés? (1) 5
Problématique : limites des approches actuelles(2) • Les Modèles de Transactions Avancés (MTA) • Fiabilité (mécanismes de recouvrement et de gestion d’échecs) • Structures simples (interactions limitées) • Les systèmes de workflow • Flexibilité (modélisation de structures complexes) • Manque de fiabilité 6
Étendre les structures plates Relâcher l’isolation Nouvelles sémantiques transactionnelles • Structures simples et limitées • Contraintes imposées aux concepteurs Transaction emboîtés SAGA Transactions flexibles MTA Workflows Services Web • Modèles de Transactions Avancés (MTA): • assouplir l’atomicité, • assurer et contrôler le parallélisme interne à chaque transaction 7
MTA Workflows Services Web • Les systèmes workflows • Optimiser et automatiser les procédés d’entreprises. • Les patrons de workflow • Représentation intuitives • Masquer complexité • Les workflows transactionnels : plus de sémantique transactionnelle • Manque de fiabilité et de correction • S’intéresse aux aspects de coordination • Ignore l’aspect transactionnel 8
MTA Workflows Services Web • Approche <<services Web>> • Repose sur les technologies MTA et workflow • Basée sur des standards assurant l’ubiquité et l’interopérabilité (XML, Web). • Architectures avancées • Chorégraphie et coordination • Composition et orchestration 9
Applications avancées Modéliser • Principes directeurs : • Définir le flot de contrôle • Définir les mécanismes de gestion d’échecs et de recouvrement • Assurer la cohérence de ses spécifications Concepteurs RH SBC A N D A N D RA Modèle pour une composition fiable de SWC 10
Démarche à suivre : • Service Web Composé Transactionnel (SCT) • Patron transactionnel • Composition de patrons transactionnels pour un SCT • Règles de cohérence pour des compositions fiables d’un SCT 11
Terminer() Activer() activé terminé initial Abandonner() Annuler() Échouer() Rejouer() abandonné annulé échoué Service Web rejouable • Services Web Transactionnels (SWT) • Description du comportement transactionnel • Propriétés transactionnelles (rejouable, compensable, pivot) • Rejouable : sûre de se terminer avec succès après un nombre fini d’activations • Compensable : politique de compensation pour annuler automatiquement son travail • Pivot: : une fois terminé avec succès son effet reste à jamais et ne peut pas être défait • Diagrammes à transitions d’états d’un SWT 12
Un SCT est défini par son flot de contrôle et son flot transactionnel RH EDF Annuler / compenser RA si RH échoue A N D PL SBC A N D X O R Activer EDD si EDF échoue RA EDD • Service web Composé Transactionnel (SCT) • Définir la composition pour un Service Web Composé (SWC) • Exploiter les propriétés transactionnelles des composants du service • Spécification de preconditions pour l’orchestration de services composants • Dépendances entre les services composants du SWC Dépendance d’activation Cond(PL.activer())=RH.terminé RA.terminé 13
Démarche à suivre : • Service Web Composé Transactionnel (SCT) • Patron transactionnel • Composition de patrons transactionnels pour un SCT • Règles de cohérence pour des compositions fiables d’un SCT 14
Réservation de l’Hôtel Réservation de l’Hôtel Spécification des Besoins du Client Spécification des Besoins du Client A N D A N D Réservation de L’Avion Réservation de L’Avion And-split (SBC,RH,RA) PotentielleAnd-split (SBC,RH,RA) Un Patron Transactionnel (PT) est défini par son patron de composition et son flot transactionnel potentiel • Patron de composition • -défini un flot de contrôle à partir d’un ensemble de service; • -utilise les patrons de workflow [Van der Alst] pour définir le flot de contrôle. • Flot transactionnel potentiel • -cadre implicitement l’ensemble des dépendances transactionnelles; • -dépend des dépendances d ’activation et donc du flot de contrôle. 15
Démarche à suivre : • Service Web Composé Transactionnel (SCT) • Patron transactionnel • Composition de patrons transactionnels pour un SCT • Règles de cohérence pour des compositions fiables d’un SCT 16
Réservation de l’Hôtel Réservation de l’Hôtel Inclus dans Spécification des Besoins du Client Spécification des Besoins du Client A N D A N D Réservation de L’Avion Réservation de L’Avion PotentielAnd-split (SBC,RH,RA) RaffinementAnd-split (SBC,RH,RA) 1ère étape : Raffinement d’un Patron Transactionnel (PT) 17
Un CT est défini par l’union du patron de composition et de la fonction de raffinement RH EDF (c) CTXor-split (PL,EDF,EDD) (a) CTAnd-split (SBC,RH,RA) A N D PL SBC A N D X O R (b) CTAnd-join (RH,RA,PL) b Flot de contrôle a Compense b quand a échoue ou sera compensé RA EDD Annule ou compense b en cas d’échec de a b alternative quand a échoue a b a b Compositions de CT pour le SCT d’organisation de voyage en ligne 2ème étape : Définition de Connecteur Transactionnel (CT) 18
Démarche à suivre : • Service Web Composé Transactionnel (SCT) • Patron transactionnel • Composition de patrons transactionnels pour un SCT • Règles de cohérence pour des compositions fiables d’un SCT 19
Grammaire Incohérence du flot de contrôle 19
Incohérence du flot transactionnel Règles de cohérence transactionnelle • Règles d'extraction de propriétés transactionnelles: • Chaque service est par défaut re-jouable et pivot. • Chaque service cible d'une dépendance de • compensation est compensable. • Chaque service source d'une dépendance • d'annulation ou d'alternative n'est pas re-jouable. Conditions de cohérences transactionnelles: 1. C1 : échec alternative 2. C2 : échec compensation 3. C3 : échec annulation 20
cp cp r r RH EDF r A N D PL SBC A N D X O R RA EDD Amélioration du SWC de l’organisation de voyages en ligne (1) (c) CTXor-split (PL,EDF,EDD) (a) CTAnd-split (SBC,RH,RA) (b) CTAnd-join (RH,RA,PL) b Flot de contrôle a Compense b quand a échoue ou sera compensé Annule ou compense b en cas d’échec de a b alternative quand a échoue a b a b 21
Incohérence du flot transactionnel Règles de cohérence transactionnelle • Règles d'extraction de propriétés transactionnelles: • Chaque service est par défaut re-jouable et pivot. • Chaque service cible d'une dépendance de • compensation est compensable. • Chaque service source d'une dépendance • d'annulation ou d'alternative n'est pas re-jouable. Conditions de cohérences transactionnelles: 1. C1 : échec alternative 2. C2 : échec compensation 3. C3 : échec annulation 22
cp R2 cp r R1 r cp RH RH EDF EDF r R2 A N D A N D PL PL SBC SBC A N D A N D X O R X O R RA RA EDD EDD Amélioration du SWC de l’organisation de voyages en ligne (2) cp cp r r r (c) CTXor-split (PL,EDF,EDD) (c) CTXor-split (PL,EDF,EDD) (a) CTAnd-split (SBC,RH,RA) (a) CTAnd-split (SBC,RH,RA) (b) CTAnd-join (RH,RA,PL) (b) CTAnd-join (RH,RA,PL) b b Flot de contrôle Flot de contrôle a a Compense b quand a échoue ou sera compensé Compense b quand a échoue ou sera compensé Annule ou compense b en cas d’échec de a Annule ou compense b en cas d’échec de a b alternative quand a échoue b alternative quand a échoue a a b b a a b b 22
SWC modéliser utiliser donner Concepteurs Exécutions fiables de SWC Applications avancées à modéliser • Synthèse de l’approche : Patrons transactionnels 23
Conclusion : • Proposer aux concepteurs un modèle fiable et flexible. • Combinaison de deux concepts forts (MTA et workflows). • Haut niveau d’abstraction et de simplicité. • Perspectives : • Possibilité de contributions aux travaux de services Web sémantiques. • Implémentation de notre approche. • Expérimentation sur des applications de e-commerce. 24