33
Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés 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 Présenté le 22 juin 2005 par Khaled Gaaloul Environments COOperation Université Nancy II

Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

  • Upload
    jackie

  • View
    25

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 2: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

Plan

1

I. Contexte et Problématique

II. État de l’art

III. Patrons transactionnels

IV. Conclusion et Perspectives

Page 3: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

I. Contexte et Problématique

Page 4: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 5: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 6: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 7: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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é

Page 8: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

• 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

Page 9: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

État de l’art

Page 10: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 11: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

• 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

Page 12: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

• 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

Page 13: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

Vue globale de l’approche

Page 14: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 15: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

Notre approche

Page 16: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 17: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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()

Page 18: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 19: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 20: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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)

Page 21: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 22: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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)

Page 23: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 24: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 25: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 26: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 27: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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)

Page 28: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 29: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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)

Page 30: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 31: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

Conclusion et Perspectives

Page 32: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

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

Page 33: Patrons Transactionnels : Nouveau Paradigme pour des Exécutions Fiables de Services Web Composés

Merci de votre attention !