patrons transactionnels : nouveau paradigme pour des exécutions fiables de services web composés
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables
de Services Web Composés
Composition du jury : Noëlle CarbonellDidier GalmicheOlivier Festor Dominique Méry
Encadrant : Claude Godart
Laboratoire Lorrain de Recherche en Informatique et ses Applications
Présenté le 22 juin 2005 par
Khaled Gaaloul
EnvironmentsCOOperation Université Nancy II
Plan
1
I. Contexte et Problématique
II. État de l’art
III. Patrons transactionnels
IV. Conclusion et Perspectives
I. Contexte et Problématique
2
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.
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
Contexte : Intégration des application B2B (2)
Spécification des Besoins
du Client (SBC)
Réservation de l’Hôtel (RH)
AND
Agence Tour opérateur Banque
EntrepriseFedex
EntrepriseDHL
Contexte et Problématiq
ueÉtat de l’art
Vue globale de l’approche
Patrons transactionnels
Conclusion et Perspectives
Organisation de voyage en ligne
Niveau communication
Niveau contenu
Niveau procédé
3
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
Envoie de documents
par Fedex (EDF)
Paiement en Ligne (PL)
Réservation de l’avion (RA)
Envoie de documents
par DHL (EDD)
XOR
AND
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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
4
Problématique : comment assurer des exécutions fiables de services Web composés? (1)
Concepteurs
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
5
SBC
RH
AND
EDF
PL
RA EDD
XOR
AND
Problème de composition
Manque de fiabilité
Échec
Activé
• 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é
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
6
État de l’art
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
7
Modèles de Transactions Avancés (MTA):
assouplir l’atomicité,
assurer et contrôler le parallélisme interne à chaque
transactionÉtendre les
structures platesÉtendre les
structures plates
Transaction emboîtés
MTA
Workflows
Services Web
Relâcher l’isolationRelâcher l’isolation
SAGA
Nouvelles sémantiques
transactionnelles
Nouvelles sémantiques
transactionnelles
Transactions flexibles
Structures simples et limitéesContraintes imposées aux concepteurs
• 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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
9
MTA
Workflows
Services Web
Vue globale de l’approche
Concepteurs
Modéliser
SBC
RA
RH
AND
AND
Modèle pour une composition fiable de SWC
Principes directeurs : 1. Définir le flot de contrôle2. Définir les mécanismes de gestion
d’échecs et de recouvrement3. Assurer la cohérence de ses
spécifications
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
10
Applications avancées
Notre approche
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
11
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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
12
• 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
initial
échouéannuléabandonné
terminéactivé
Service Web rejouable
Abandonner() Annuler()
Activer() Terminer()
Échouer() Rejouer()
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
13
• 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
SBC
RH
AND
EDF
PL
RA EDD
XOR
AND
Activer EDD siEDF échoue
Annuler / compenserRA si RH échoue
Cond(PL.activer())=RH.terminé RA.terminé
Dépendance d’activation
Un SCT est défini par son flot de contrôle et son flot transactionnel
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
14
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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
15
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.
Spécification des Besoins
du Client
Réservation deL’Avion
Réservation de l’Hôtel
AND
And-split (SBC,RH,RA)
Spécification des Besoins
du Client
Réservation deL’Avion
Réservation de l’Hôtel
AND
PotentielleAnd-split (SBC,RH,RA)
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
16
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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
17
Spécification des Besoins
du Client
Réservation deL’Avion
Réservation de l’Hôtel
AND
PotentielAnd-split (SBC,RH,RA)
Spécification des Besoins
du Client
Réservation deL’Avion
Réservation de l’Hôtel
AND
RaffinementAnd-split (SBC,RH,RA)
Inclus dans
1ère étape : Raffinement d’un Patron Transactionnel (PT)
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
18
2ème étape : Définition de Connecteur Transactionnel (CT) Un CT est défini par l’union du patron de composition
et de la fonction de raffinement
SBC
RH
AND
EDF
PL
RA EDD
XOR
AND
Flot de contrôle a bCompense b quand a échoue ou sera compensé
Annule ou compense b en cas d’échec de a
a b b alternative quand a échouea b
(a) CTAnd-split (SBC,RH,RA)
(b) CTAnd-join (RH,RA,PL)
(c) CTXor-split (PL,EDF,EDD)
Compositions de CT pour le SCT d’organisation de voyage en ligne
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
19
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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
19
Incohérence du flot de contrôle Grammaire
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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
20
SBC
RH
AND
EDF
PL
RA EDD
XOR
AND
Flot de contrôle a bCompense b quand a échoue ou sera compensé
Annule ou compense b en cas d’échec de a
a b b alternative quand a échouea b
(a) CTAnd-split (SBC,RH,RA)
(b) CTAnd-join (RH,RA,PL)
(c) CTXor-split (PL,EDF,EDD)
rcp
cp
rr
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
21
Amélioration du SWC de l’organisation de voyages en ligne (1)
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
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
22
SBC
RH
AND
EDF
PL
RA EDD
XOR
AND
Flot de contrôle a bCompense b quand a échoue ou sera compensé
Annule ou compense b en cas d’échec de a
a b b alternative quand a échouea b
(a) CTAnd-split (SBC,RH,RA)
(b) CTAnd-join (RH,RA,PL)
(c) CTXor-split (PL,EDF,EDD)
rcp
cp
rr
cp
R2
R2
R1SBC
RH
AND
EDF
PL
RA EDD
XOR
AND
Flot de contrôle a bCompense b quand a échoue ou sera compensé
Annule ou compense b en cas d’échec de a
a b b alternative quand a échouea b
(a) CTAnd-split (SBC,RH,RA)
(b) CTAnd-join (RH,RA,PL)
(c) CTXor-split (PL,EDF,EDD)
rcp
cp
rr
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
22
Amélioration du SWC de l’organisation de voyages en ligne (2)
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
23
• Synthèse de l’approche :
Concepteurs
Patrons transactionnels
Patrons transactionnels
Exécutions fiables de SWC
SWC
Applications avancéesà modéliser
modéliser donnerutiliser
Conclusion et Perspectives
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.
Contexte et Problématique
État de l’artVue globale de
l’approcheNotre approche
Conclusion et Perspectives
24
Merci de votre attention !