• Aucun résultat trouvé

Le méta-modèle du Service Métier du service opérationnel MOS

CHAPITRE 4 : DES BUTS UTILISATEURS AU SERVICE OPERATIONNEL :

2. Une approche de développement dirigée par les modèles pour la génération du

2.1. Une Vue générale du méta-modèle du langage MOS

2.1.2. Le méta-modèle du Service Métier du service opérationnel MOS

ensemble d’activités ordonnées et, d’autre part, de rendre le Service d’Interface Utilisateur indépendant des services web mis en œuvre. Ceci permet de développer des applications d’avant plan indépendamment des applications métier.

Un Service Métier repose sur généralement basée sur un m accomplir pour la réalisation d’un La formalisation des règles oblige Le Service Métier permet l’exécu communication. Il évalue les don renvoie son résultat au Service M Le rôle d’intermédiaire dans la synchronisation et de coordinatio Le Service Métier permet égalem plusieurs autres services. Il spé services et le traitement des fau d’erreurs ou d’exceptions.

Enfin, le Service Métier réutilise travers de requêtes décrites en XQ La Figure 4.4 est un extrait d composant le Service Métier.

Figure 4.4

ur la définition des règles de travail. Cette d modèle spécifique qui décrit l’enchaînement ’un objectif et son exécution assure la coordinatio ige les partenaires à suivre strictement les convent écution d’un processus déclenché par l’arrivée d’ onnées en entrée et appelle le service web concern Métier.

la communication attribue au service métier la tion qui sont nécessaires entre les services web.

lement de tracer la séquence de messages pouv pécifie l’ordre d’exécution des messages échan fautes et exceptions spécifiant le comportement

ise les services Web en permettant la recherche d XQUERY.

t du méta-modèle MOS et montre les différe

4.4. Le méta-modèle du Service Métier

définition est d’activités à tion des agents. ntions établies. d’une action de erné. Ce dernier

la fonction de

uvant impliquer angés entre les ent dans le cas

de services au

912 2

La structure d’un Service Métier est relativement complexe par rapport au service web. [Alanso 2004].

Nous présentons les différents concepts formant le service de coordination dans les sections suivantes.

a.

La notion d’activité

Un service métier est défini comme un ensemble d’activités échangées entre plusieurs agents. Les activités peuvent être de deux types : de base ou structurée. Les activités de base sont des opérations réalisées par un service web. Les activités structurées sont organisées hiérarchiquement.

Dans le modèle du Service Métier, les activités structurées sont les activités complexes alors que les activités de base sont les activités atomiques. La Figure 4.4 montre que ces deux notions sont généralisées par la notion d’activité. Cette généralisation est exclusive.

D’un autre côté, une activité fait partie d'une description de Service Métier ou d’une activité structurée. Par conséquent, les activités ne sont pas partagées, ni entre plusieurs Services Métier, ni même entre plusieurs activités structurées, au sein d'un même Service Métier (d’où la cardinalité 0..1 de Activité vers Service Métier).

L’association est composée de entre Activité structurée et Activité à la Figure 4.4 indique qu’une activité structurée est composée d'au moins une activité (cardinalité 1..*). De manière récursive, les activités peuvent à leur tour être composées d’activités structurées.

L’association est décrit par entre Service Métier et Activité, montre qu’un Service Métier est en général décrit par un ensemble d’activités (la cardinalité 1..*).

Les deux sous sections suivantes détaillent la notion d’activité de base et la notions d’activité structurée.

b. La notion d’activité de base

Une activité de base peut avoir différents types tels que demande de service, fourniture de service, demande d’information, fourniture d'information, communication d’une ressource physique, etc. Les activités de base se divisent en deux catégories : les activités de

communication et les activités internes.

Une activité de communication s’établit entre le service de coordination et les services métier ou le service d’interface utilisateur. Elle est spécialisée en : Recherche Dynamique de service

Une Recherche Dynamique de service correspond à la recherche d’un service par une requête écrite en XQUERY et qui recherche les services web dans un annuaire de service UDDI. Une fois le service web trouvé, il est invoqué. Une réception correspond à l’attente d’un message provenant d’un service d’interface utilisateur et une réponse est utilisée pour répondre au service d’interface utilisateur. Une activité interne correspond à toutes les activités qui sont exécutées de manière interne par le Service Métier. Ses activités peuvent correspondre à l’enregistrement de la requête de l’utilisateur. Chaque activité de base peut manipuler une ou plusieurs ressources.

c.

La notion d’activité structurée

Les activités structurées permettent de définir l’ordonnancement des activités de base. Les activités structurées sont classées en quatre types : séquence, flux, boucle et contrainte. Ces quatre types sont modélisés à la Figure 4.4 et sont détaillés dans les sections suivantes.

La séquence

Une séquence est composée de deux activités, la deuxième activité se déroulant après la première. L’activité structurée « Réception d’une demande de réservation de vol et de

chambres d’hôtel » puis la transformation du message « demande de réservation de vol et

d’hôtel » en message «demande de vol » donne un exemple de deux activités en séquence. Après l’activité de réception d’une « demande de réservation de vol et de chambres d’hôtel », la deuxième activité permet de dériver le message « demande de réservation de vol » à partir du message « demande de réservation de vol et de chambres d’hôtel ».

Une séquence doit être composée de deux activités au maximum. En conséquence, le séquencement de plusieurs activités de base est exprimé par une composition récursive de plusieurs séquences d’activités. Prenons l’exemple suivant:

« Réception d’une demande de réservation de vol et de chambres d’hôtel » puis la transformation du message « demande de réservation de vol et d’hôtel » par le message «2

demande de vol ». Invocation dynamique de services web « demande de disponibilités pour un vol de la compagnie aérienne.2

Cette séquence est composée de manière récursive de l’activité : « Réception d’une demande

de réservation de vol et de chambres d’hôtel » qui est en séquence avec l’activité de flux qui est composée de deux activités de base : L’affectation transformant le message « demande de

réservation de vol et d’hôtel » par le message « demande de vol » et Invocation dynamique de services web « demande de disponibilités pour un vol » de la compagnie aérienne.

942 2

Le même raisonnement s’applique aux quatre types d’activités structurées. Ainsi, une séquence peut être composée de contraintes, de flux, de boucles ou de séquences d’activités.

Le flux

Contrairement à une séquence, il n’y a aucun ordre spécifique dans un flux de deux activités. Un flux de deux activités ne commence et ne se termine pas nécessairement au même moment. Du point de vue utilisateur, les activités d’un flux se déroulent simultanément. Prenons l’exemple suivant: Invocation dynamique de services web « demande de

disponibilités pour un vol » de la compagnie aérienne et appel du service « demande de

disponibilités de chambres » de l’hôtel. Ces deux interactions n’ont pas d’ordre spécifique et ne commencent ni ne se terminent au même moment. Cependant, du point de vue de l’utilisateur, elles sont concurrentes et simultanées. Un flux est composé de plusieurs activités pouvant être des activités structurées.

La contrainte

Une contrainte décrit les conditions nécessaires au déroulement de l’ensemble des activités qui suivent la contrainte. Une contrainte permet de décrire plusieurs comportements possibles du même service de coordination. Prenons l’exemple du service de coordination : « Obtenir

une réservation de vol et de chambres d’hôte ». Ce service comprend l’expression : ‘si la

période de validité est valide’. Ce service de coordination inclut donc une contrainte correspondant à la condition : ‘la période de validité est valide’. Le reste du Service Métier décrit le comportement correspondant au cas où la période serait valide et celle où elle ne le serait pas.

La boucle

La boucle permet d’exprimer une répétition d’activités structurées. Lorsque l’agence de voyage a un partenariat avec plusieurs compagnies aériennes, Recherche Dynamique et appel du service de disponibilités se répète pour chacune des compagnies aériennes de la liste de l’agence de voyage. L’expression suivante : Pour chaque compagnie aérienne de la

liste, appel du service «demande de disponibilités pour un vol » de la compagnie aérienne est un exemple de boucle.

Comme les autres types d’activités, une boucle peut être composée d’une combinaison d’activités. Dans l’exemple ci-dessus, la boucle est composée de trois activités de base: (a) Invocation dynamique de services web « demande de disponibilités pour un vol » de la

compagnie aérienne, (b) réponse du service « demande de disponibilités pour un vol » et (c) envoi du message « Résultat des disponibilités et des prix ».

3. Le processus générique pour lier la modélisation des services