• Aucun résultat trouvé

Approche conceptuelle aux modèles séparés

3.3 Workows transactionnels

3.3.2 Point de vue conceptuel

3.3.2.1 Approche conceptuelle aux modèles séparés

Dans cette section, nous présentons l'approche conceptuelle aux modèles séparés (c.à.d

modèle de workow et modèle transactionnel) pour la spécication de workows transactionnels.

Les raisons principales pour l'usage de deux langages séparés sont une exibilité de couplage

accrue entre les modèles et une séparation des intérêts entre les aspects du ot de contrôle et du

comportement transactionnel pour des applications complexes. Dans ce qui suit, nous détaillons

les trois sous classes de cette approche. La première sous classe considère les workows

transac-tionnels comme des workows enrichis par un comportement et une sémantique transactionnelle.

La deuxième sous classe part des modèles transactionnels en essayant de les étendre. La troisième

est une combinaison des deux modèles séparés.

Workows par-dessus les Transactions (WF/TR)

Cette classe (WF/TR) utilise un modèle de workow qui est étendu en utilisant des

sé-mantiques transactionnelles dénies par un modèle transactionnel pour assurer des besoins de

abilité et de correction. Dans cette classe, l'aspect de ot de contrôle mène aux spécications

des workows transactionnels. Par conséquent, le TRDL est un ranement du WFDL. Des

pri-mitives du WFDL sont mappées sur des pripri-mitives du TRDL. Cette approche est adoptée dans

langage de description de workow langage de description transactionnel

BEGIN TASK BEGIN BUSINESS PROCESS STB

BUSINESS PROCESS STB READ client.nom

USES FORM form1 READ client.nom

END TASK USE form1

WRITE banque.client

WRITE banque.pret

IF status_ok

THEN terminate STB

ELSE activate STB

END TRANSACTION

Tab. 3.1 Les workows transactionnels comme extension des workows

la plupart des systèmes de gestion de workows commerciaux qui supportent un comportement

transactionnel.

Le degré auquel chacun de ces modèles de workows incorpore les caractéristiques

transac-tionnelles varie et dépend largement des besoins (comme la exibilité, l'atomicité et l'isolation

des exécutions des activités individuelles et des multiples instances de workows, etc.) du procédé

métier qu'il essaye de modéliser.

Dans le tableau 3.1 nous donnons un exemple simple de cette classe inspiré de notre exemple

de motivation de prêt bancaire. Du côté gauche, nous voyons une spécication de l'activité STB

du workow en WFDL simplié. Les deuxième et troisième lignes de ces spécications sont

étendues à un niveau d'abstraction plus bas selon les spécications transactionnelles décrites dans

la colonne droite du tableau. Une fois exécutée, les spécications de TRDL induisent des états

intermédiaires selon les spécications de WFDL. Notons que certains langages permettent à des

activités multiples d'être groupées dans une simple transaction métier (par exemple [GVBA97]).

L'architecture de référence de Mercurius [GdV98] est un exemple clair d'une architecture

dans la classe de WF/TR ; le modèle de workow est placé au dessus du modèle transactionnel.

Aussi bien que le système de gestion de workows METEOR [SKM

+

96] dans lequel les activités

sont modélisées en fournissant leurs états visibles et les événements correspondants aux

tran-sitions d'états [RS95b; KS95]. Les dépendances inter-activités peuvent être classées comme des

dépendances qui peuvent être activées, rejetées ou retardées. Ce modèle supporte des activités

ayant des sémantiques transactionnelles et non transactionnelles.

Pour relâcher l'atomicité, METEOR utilise la notion d'états de terminaison acceptés (ET A)

comme critère de correction. Tout état n'appartenant pas àET Aest un état de terminaison non

accepté, dans lequel la semi atomicité est non respectée. On distingue les états de terminaison

acceptés de validation et les états de terminaison acceptés d'abandon. Un état de terminaison

de validation est un état dans lequel le workow a atteint ses objectifs. Au contraire, un état

de terminaison accepté d'abandon est un état de terminaison valide dans lequel le workow a

échoué et n'a pas atteint ses objectifs. Si un état de terminaison accepté d'abandon est atteint,

tous les eets indésirables de l'exécution partielle du workow doivent être annulés conformément

aux besoins dénis.

Le système METEOR dénit la logique d'exécution en spéciant des dépendances entre les

activités (basées sur leurs états). Ce qui permet de dénir aussi bien un ot de contrôle que des

mécanismes de recouvrement. De plus le système METEOR dénit un critère de correction des

exécutions. Cependant, le grand problème du système METEOR est que le mécanisme développé

langage de description transactionnel langage de description de workow

BEGIN TRANSACTION BEGIN WORKFLOW wf1

EXECUTE ATOMIC TASK TASK STP VSC VD ...

IMPLEMENTATION wf1 AND-SPLIT STP VSC VD

END TRANSACTION SEQUENCE ER MJR

AND-SPLIT RD VD LD

....

END WORKFLOW

Tab. 3.2 Les workows transactionnels comme extensions des MTA

pour assurer le critère de correction n'est pas approprié au contexte des procédés métiers. En

eet, pour assurer la abilité, le système METEOR vérie à la n de l'exécution si l'application

s'est terminée dans un état acceptable ou non. Si oui ses eets sont validés, sinon ils sont annulés.

Cette façon de procéder n'est pas appropriée au contexte des procédés métiers à cause de leurs

exécutions de longue durées. En plus, il n'est pas toujours possible d'annuler le travail eectué.

C'est pourquoi le système METEOR reste limité aux applications centrées bases de données.

Transactions par-dessus les Workows (TR/WF)

Dans cette classe (TR/WF), le modèle transactionnel est enrichi pour incorporer des concepts

du modèle de workow. Ainsi, le comportement transactionnel est le principal aspect dans les

spécications des workows transactionnels. La sémantique transactionnelle de haut niveau du

modèle transactionnel est spéciée avec le modèle de workow pour l'élaboration de la structure

fondamentale du workow transactionnel. Par conséquent, le WFDL n'est qu'un ranement du

TRDL. L'approche de TR/WF est appliquée, par exemple, dans la gestion de workows pour des

applications de commerce électronique. Ici, la transaction entre deux associés commerciaux est

le point de départ et l'élaboration du ot de contrôle n'est qu'une amélioration de la transaction.

Dans le tableau 3.2 nous donnons un exemple simple de cette classe inspiré de notre exemple

de motivation de prêt bancaire. Du côté gauche, nous voyons des spécications d'un TRDL

sim-plié d'une transaction qui exprime des propriétés transactionnelles, en particulier la propriété

atomique appliquée à toute la transaction dans ce cas. Dans cette transaction, le ot de contrôle

est comme un détail d'implémentation spécié à un niveau d'abstraction plus bas dans la colonne

de droite du tableau en WFDL simplié. Les spécications en WFDL décrivent un procédé non

linéaire, qui n'est pas facile à spécier dans les TRDL traditionnels. Cet exemple nous montre

que l'exécution de la transaction exprimée en WFDL présentera des états intermédiaires décrits

dans le workow exprimé en TRDL.

L'approche CrossFlow [VG03] peut être considérée comme un exemple de la classe de

TR/WF. Dans la perspective de langage CrossFlow, des transactions inter-organisationnelles

sont spéciées dans un contrat électronique qui correspond aux dénitions de workow.

Transactions et Workows en pair à pair (TR+WF)

Dans cette classe de (TR+WF), il y a un équilibre entre le ux de contrôle et le

comporte-ment transactionnel. La sémantique transactionnelle de haut niveau est dénie au même niveau

conceptuel que les procédés de workows. Par conséquent, le ux de contrôle et les caractéristiques

langage de description de workow langage de description transactionnel

BEGIN WORKFLOW banque BEGIN TRANSACTION tr1

REFERS TRANSACTION tr1 REFERS WORKFLOW banque

TASK TASKST P V SC V D ... COMPCR RD

AND-SPLIT ST P V SC V D SAFEPOINTV SC

SEQUENCEER M JR END TRANSACTION

AND-SPLIT RD V D LD ....

....

Tab. 3.3 Les workows transactionnels comme extension combiné de modèles transactionnels

et de workows

Dans le tableau 3.3 nous donnons un exemple simple de cette classe inspiré de notre exemple

de motivation de prêt bancaire. Du côté gauche, nous dénissons le ux de contrôle WFDL

simplié qui réfère le ux transactionnel spécié en TRDL simplié pour dénir en particulier

le mécanisme de recouvrement en cas d'échec de l'activité RD. D'une manière analogue, le ux

transactionnel spécié en TRDL dans la colonne de droite importe la liste des activités de la

colonne de gauche pour spécier le mécanisme de compensation (comme à l'origine proposé dans

le modèle de Saga [GMS87]) et un point cohérent

14

(comme proposé dans le modèle WIDE

[GVA01]) qui permet de dénir un recouvrement exible par compensation de l'activité RD.

Notons que le ux de contrôle et les spécications de la fonctionnalité de compensation peuvent

être changés indépendamment les uns des autres et de ce fait créer une séparation entre le

workow et les spécications transactionnelles.

Dans [DDGJ01], on propose une approche qui s'inscrit dans la classe de TR+WF dans

laquelle l'indépendance entre les spécications de ot de contrôle d'une part, et les

carac-téristiques transactionnelles d'autre part sont le point de départ. L'approche est basée sur

les sphères transactionnelles. De même, les ATMs (Activities/Transaction Model) [DHL90;

DHL91] permettent d'intégrer des transactions ACID et des activités qui ne doivent pas être

ACID. Le ot de contrôle et le ot de données peuvent être spéciés statiquement dans un script

ou dynamiquement par des règles événement-condition-action. Le recouvrement est supporté par

la spécication de règles de compensation ou de transactions de contingence qui représentent des

alternatives.