• Aucun résultat trouvé

III.3 Composition de services (n-m)

III.3.3.3 L’approche descendante

Si l’approche ascendante n’a pas permis de déterminer une solution satisfaisante, une dernière possibilité s’offre à nous : s’affranchir des résultats précédents afin de ne plus prendre en compte que les informations provenant de la description de l’activité. Cette approche permet de proposer des résultats complètement indépendants du découpage initial des activités, en ne prenant en considération que les informations concernant les fonctions attendues (alors exprimées sous la forme d’activités unitaires dans notre profil de recherche) et les entrées/sorties en extrémité de ce sous processus. Pour cette même raison, ces résultats peuvent s’éloigner assez rapidement des attentes métier réelles initialement modélisées par l’utilisateur. Cette approche permet donc de proposer des résultats intéressants mais à vérifier scrupuleusement.

Le principe ici est très simple une fois les mécanismes précédents assimilés. En ef- fet, et comme l’illustre la Figure III.29, cette approche est une simple exploitation du mécanisme de composition de services « 1-n » appliqué sur un profil correspondant à l’ensemble des activités étudiées.

On retrouve dans ce profil les entrées de la première activité et les sorties de la dernière ainsi que les concepts associés à la fonction de chaque activité, chacun sous la forme d’une activité unitaire ajoutée à la description du comportement interne. Il suffit

I1 I2 O2 O3 O1 O’2 O’1 I1 I2 O’2 O’1 … Internal  behaviour  

Figure III.29 – Réconciliation n-m top-down : création du profil de recherche

ensuite de procéder à une réconciliation « 1-n » sur ce profil afin d’obtenir les résultats pour ce groupe d’activités. En cas d’échec ou de résultat insatisfaisant, on étudie le groupe suivant jusqu’à l’obtention d’un résultat suffisant ou jusqu’à ce que tous les groupes aient été étudiés.

III.4

Conclusion

Ce chapitre présente en détails notre méthodologie de réconciliation entre les activi- tés métier du processus et les services techniques mis à disposition par les partenaires de la collaboration. Ce mécanisme exploite les différentes informations sémantiques et syntaxiques ajoutées aux différents modèles et se décompose en trois phases complémen- taires :

1. La sélection de services (ou réconciliation « 1-1 »), qui recherche pour chaque acti- vité métier du processus le ou les meilleurs services, considérés indépendamment. Pour cela, nous étudions les profils sémantiques correspondant et en évalue la dis- tance sémantique et syntaxique afin d’estimer la proximité entre l’activité cible et chaque service technique. Plusieurs critères entrent en compte dans ce calcul, parmi lesquels on retrouve les liens entre les concepts sémantiques utilisés, le degré de couverture des entrées/sorties, le degré de similarité des termes utilisés dans chaque modèle, etc. Ces différents critères sont ensuite combinés à l’aide de para- mètres définis par l’utilisateur afin d’obtenir une note globale de proximité pour chaque service. L’utilisation d’une approche paramétrable permet de s’adapter aux spécificités de la collaboration étudiée et des systèmes en présence.

2. La composition de services « 1-n », qui s’intéresse à l’utilisation combinée de plu- sieurs services afin de répondre au besoin d’une activité. Pour cela, nous proposons une approche itérative qui utilise le mécanisme précédent sur une suite de profils de recherche représentant les besoins encore non couverts par les services déjà sé- lectionnés. Une fois ces différents services sélectionnés, nous les ordonnançons afin d’étudier la faisabilité d’une telle composition puis nous calculons la proximité

Chapitre III. Réconciliation de services

entre le profil initial de recherche et celui correspondant à l’enchainement de ces différents services.

3. La composition de services « n-m », qui se propose de regrouper les besoins ex- primés par plusieurs activités consécutives afin de trouver un ensemble de services y répondant tout en s’abstrayant des contraintes intermédiaires. Cette phase de composition utilise pour se faire les résultats et mécanismes précédents.

Une fois la réconciliation de services effectuée, les résultats obtenus sont transmis à l’utilisateur. Celui-ci peut alors les valider ou les compléter au besoin avant la phase de réconciliation de données détaillée dans le chapitre suivant et nécessaire à l’exécution du processus collaboratif.

Le mécanisme proposé ici présente encore un certain nombre d’améliorations à ap- porter. Tout d’abord, au niveau des mécanismes de réconciliation, seules les informations fonctionnelles sont prises en compte alors qu’il est nécessaire de prendre aussi en consi- dération les attentes non-fonctionnelles de l’utilisateur (temps de réponse, sécurité, etc.) afin de fournir le classement de service(s) le plus proches des besoins métier. Ensuite, notre mécanisme se base sur un ensemble de paramètres qui peuvent être optimisés auto- matiquement à l’aide d’une étude des annotations présentes ou des ontologies utilisées.

Réconciliation de données

L’obtention de services répondant à nos besoins n’est pas suffisante pour générer des processus exécutables. En effet, même si les services sélectionnés sont corrects, rien ne garantit la cohérence des formats des entrées/sorties. Il est nécessaire d’assurer la bonne transmission des données entre les services, dans le format attendu par chacun. Pour cela, nous proposons un mécanisme de génération de transformations de données, permettant la création d’un service d’adaptation dédié à chaque service invoqué dans le processus.

Dans un premier temps, nous allons rappeler la problématique liée à la gestion des données entre services et faire une étude des travaux existants. Nous présenterons ensuite notre méthodologie de manière générale puis nous rentrerons dans le détail en nous intéressant aux informations sémantiques et syntaxiques que l’on va exploiter puis aux mécanismes internes de génération.

IV.1

Travaux existants et méthodologie proposée

Cette section présente en détail le problème de communication entre services et les travaux associés. Elle présente ensuite la méthodologie que nous proposons pour répondre à cette problématique.