54
République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Larbi Tébessi - Tébessa – Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie Département : Mathématiques & Informatique MEMOIRE DE FIN D’ETUDES EN VUE DE L’OBTENTION DU DIPLOME DE MASTER Filière : Informatique Option : Systèmes d’Information (SI) Thème Présenté par : Mr. Benmedakhene Boubekeur Mr. Yahyaoui Imed eddine Devant le jury : Mr. Y. Houam Université Larbi Tébessi - Tébessa – Président Mr. A Metrouh Université Larbi Tébessi - Tébessa – Rapporteur Mr. S. Khediri Université Larbi Tébessi - Tébessa – Examinateur Date de soutenance: 29/05/2016 Promotion 2015/2016 Composition des services Web : Etat de l’art

Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Larbi Tébessi - Tébessa –

Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie

Département : Mathématiques & Informatique

MEMOIRE DE FIN D’ETUDES

EN VUE DE L’OBTENTION DU DIPLOME DE MASTER

Filière : Informatique Option : Systèmes d’Information (SI)

Thème

Présenté par :

Mr. Benmedakhene Boubekeur Mr. Yahyaoui Imed eddine

Devant le jury :

Mr. Y. Houam Université Larbi Tébessi - Tébessa – Président

Mr. A Metrouh Université Larbi Tébessi - Tébessa – Rapporteur

Mr. S. Khediri Université Larbi Tébessi - Tébessa – Examinateur

Date de soutenance: 29/05/2016

Promotion 2015/2016

Composition des services Web :

Etat de l’art

Page 2: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

~ Remerciementsemerciementsemerciementsemerciements ~

La louange appartient à ا� nous le louons et nous le remercions pour nous avoir donné la force, la volonté et le courage pour terminer ce modeste travail; Nous tenons à remercier et à exprimer notre profonde gratitude à notre encadreur Monsieur MrMrMrMr. Abdelmalek METROUHAbdelmalek METROUHAbdelmalek METROUHAbdelmalek METROUH pour nous avoir fait confiance et accepter de nous encadrer au long de ce travail, pour sa disponibilité toujours en nous offrant ses conseils, pour son écoute et ses encouragements qu’il nous a afflués. Nous remercions également les membres du jury qui nous font honneur en acceptant de juger notre travail. Notre reconnaissance s’adresse à nos familles qui ont su nous apporter, sans relâche leur soutien durant toutes ces langues années d’études. Enfin nous remercions tous ceux qui ont contribués de prés ou de loin à ce que ce modeste travail puisse voir le jour.

Page 3: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

~ Dédicace ~

À nos chers parents

À nos frères et sœurs À mes chers AbdoullahAbdoullahAbdoullahAbdoullah, HadjerHadjerHadjerHadjer et SafiaSafiaSafiaSafia

À tous nos proches À tous nos amis

..… Boubekeur et Imed eddine

Page 4: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

���� :

� �� �����ه� و ���ا�����ت ا����� ا���� ��ر� ����� ا�)�' أ%$#, ا���! ���ت ���) �� أ�4 �� إ2,�ا��1 �0 ا��+�ل �� ا�*���, آ$��ا ����� �*-� �+! �,+$� ا���! ���ت �� ا�*�

إ�; Workflowsا�ـ �+; �*,�� ا�,: ا��+�ل ��, �+��� د�����8 إ��7ء أو أ�� ا���� ه�5 �*4 ا�A�B و ا�,�@�? �% ا�<���: ا��آ�ء ��� ا����� (���+�ل ��ورا ا��=�� ا��-�ر(�ت

� �� ا�,�-� و �,�4�H ا���FG EPetri$�8ت و Automatesـ ا� و ا��Bان ا��,*�دةI� �4ا� �$-;, :ا�,�آ�$ J��K,�ح, اG%Mو ا ���� ��آ�! � ��K�� OH8ط ���را �48K إ�8E���ت ا�,P�$+� �� ف�� ��H1�$�ا.

�� �آ�! ���ت ا���!, ���ت ا���! :ا���� ت ا����, :�Sآ�! ا� .ا�,�آ�! ا�������8:, ا�,

Abstract:

Since the emergence of Service Oriented Architecture (SOA) and its implementation with the Web services technology , combining several Web services to response to a complex request presented a hard challenge, several solutions have been proposed to automate this task or make it dynamic , ranging from approaches based Workflows to semantic approaches through oriented artificial intelligence approaches and especially planning and multi-agent systems (SMA ) and automata and Petri Nets that are suitable for representation and checking the consistency of the composition solution , diagnostic , repair, and quality of service (QoS) of the composition remains problematic , which is the focus of intense research activity for domain’s researchers.

Keywords: Web services, web services composition, automatic composition, dynamic composition.

Page 5: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Résumé :

Depuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison de plusieurs services Web pour répondre a une requête complexe a présenté un défi notable, Plusieurs solutions ont été proposés afin d’automatiser cette tâche ou de la rendre dynamique, allant des approches à base des Workflows aux approches sémantique en passant par les approches orientées intelligence artificielle et plus particulièrement la planification et les systèmes multi agents ( SMA) et Les automates et Les réseaux de Petri qui sont adaptés à la représentation et la vérification de la cohérence de la solution de composition, le diagnostique, la réparation, et la qualité de service (QoS) de la composition reste des problématiques qui constitue le foyer d’une intense activité de recherche pour les chercheurs de ce domaine.

Mots clés : services Web, composition des services Web, composition automatique, composition dynamique.

Page 6: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Tables de matières

Liste des figures. ........................................................................................ VII Liste des tableaux. .................................................................................... VIII

Introduction générale. ................................................................................. 1

Chapitre 1 : Les services Web. .................................................................... 2

1. Introduction : ............................................................................................. 3 2. L’architecture orientée service SOA : ....................................................... 3

2.1. Principes fondamentaux : ................................................................... 4

3. Les services Web : ..................................................................................... 6

3.1. Définition : .......................................................................................... 6

3.2. Architecture des services Web : ......................................................... 6

4. Standards de services Web : ...................................................................... 8

5. Le Web sémantique : ................................................................................. 9

6. Conclusion : ............................................................................................. 10

Chapitre 2 : Composition des services Web. ........................................... 11

1. Introduction ............................................................................................. 12 2. Composition des services Web : ............................................................. 13

2.1. Définition : ........................................................................................ 13

2.2. Cycle de vie d’une composition des services Web : ........................ 13 2.3. Défis de composition des services Web : ......................................... 14

3. Classification des approches de composition des services Web : ........... 15

3.1. Composition manuelle, semi-automatique et automatique : ............ 15 3.2. Composition statique et composition dynamique :........................... 16

4. Les différentes approches de la composition des services Web : ........... 19

4.1. Approches sémantiques : .................................................................. 19

4.2. Approches orientés Workflow : ........................................................ 20

4.3. Approches basées sur les automates et réseaux de Petri : ................ 20 4.4. Approches orientées intelligence artificielle : .................................. 21

4.4.1. La planification : .................................................................................... 21

4.4.2. Systèmes Multi-Agents (SMAs) : .......................................................... 24

4.5. Approches orientées qualité de service (QoS-Aware) : ................... 24 5. OWL-S et WSMO : ................................................................................. 25

5.1. OWL-S : ............................................................................................ 26

5.2. WSMO : ............................................................................................ 28

5.3. Comparaison de OWL-S et WSMO : ............................................... 30

6 Conclusion : ............................................................................................. 31

Page 7: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Tables de matières

Chapitre 3 : Synthèse et étude comparative des approches de composition. ................................................................................................ 12

1. Introduction : ........................................................................................... 33 2. Les critères d’évaluation de l’étude comparative : .................................. 33

3. Synthèse des travaux de composition des services Web : ....................... 33

4. Coclusion : ............................................................................................... 39

Conclusion générale…………………………………………………...…40

Bibliographie :……………………………………………………………41

Page 8: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

VII

Liste des figures

Fig 1.1 : Modèle de référence des services Web. .................................................................... 7

Fig 1.2 : Les services Web sémantiques ................................................................................ 10

Fig 2.1 : Deux scenarios possibles pour un achat enligne en utilisant les services Web. . 12

Fig 2.2 : Cycle de vie de composition de services ................................................................. 14

Fig 2.3 : Classification générale des approches de composition des services WEB. ......... 17

Fig 2.4: Modèle conceptuel de OWL-S. ................................................................................ 26

Fig 2.5 : Modèle conceptuel de OWL-S. ............................................................................... 29

Page 9: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

VIII

Liste des tableaux

Tab 2.1 : Comparaison entre la composition statique et dynamique. ...................... 18

Tab 3.1: Tableau comparatif des travaux de composition des services Web. .......... 33

Page 10: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

I ntroduction générale

1

A nos jours, plusieurs entreprises ont fini d’admettre la nécessité d’exposer leurs compétences et leurs savoir-faire sur le réseau internet à fin d’interagir avec ses partenaires et de rechercher de nouveaux marchés et de nouveaux supports de vente.

Les services Web qui sont vu comme l’implémentation de l’architecture orientée service SOA sont présentés comme la réponse idéale et tant attendue a cette nécessité dû d’une part à leurs interopérabilité et la possibilité de réutilisation par d’autres applications et d’autre part à la nature distribué et ubiquitaire (omniprésent) du Web. Cependant, ces services en soi mêmes peuvent ne pas être très utiles sans faire appel à une combinaison avec d’autres services.

La composition des services Web consiste à créer des services à valeurs ajoutées en réutilisant des services existants. Elle constitue un sujet de recherche qui a été largement étudié aussi bien du point vue académique qu’industriel. En créant des services par composition, il est possible de réduire les couts de développement, la durée de production et répondre de cette façon à la demande croissante des applications.

Notre travail consiste à réaliser une étude ciblée et approfondie des différentes approches existantes et travaux réalisés sur la composition des services Web.

Le présent mémoire est divisé en trois chapitres :

Le premier chapitre définit les principes fondamentaux de l’architecture orientée service et la technologie de services Web, ainsi un survol sur les notions de base nécessaires à la compréhension de ces deux concepts.

Le deuxième chapitre constitue le cœur de notre travail, il est consacré aux généralités sur la problématique de la composition des services Web, ainsi les différentes classifications des approches existantes et travaux réalisés sur ce sujet.

Le troisième chapitre est une synthèse des travaux et techniques appartenant à différentes axes et courants avec une étude comparative selon des critères de performance choisis.

Page 11: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Chapitre 1 :

Les services Web.

Page 12: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

3

Chapitre 1 : Les services Web

1. Introduction :

Le web qu’a était a l’origine un simple moyen de partage d'information (Statique), a eu un développement considérable qui lui a permis de devenir un moyen universel pour externaliser les applications des entreprises (Dynamique), donnant ainsi naissance au concept d'intégration d'applications. En effet, ce concept permet aux entreprises de collaborer, coopérer et d'interagir entre elles, en produisant ainsi des processus a valeur ajoutée, sans aucune influence sur leur autonomie. Cependant, assurer une collaboration transparente des applications autonomes reste un défi majeur. L'autonomie des applications implique et engendre une forte hétérogénéité lors d'une collaboration inter-applications. A fin de remédier a ces problèmes d’hétérogénéité, plusieurs méthodes visant l'intégration d'application ont vu le jour tels que les intergiciels (middleware).

Néanmoins, avec la croissance incessante des technologies internet, et le besoin de faciliter la collaboration inter-entreprises, les entreprises doivent être capables d'utiliser et de réutiliser les fonctionnalités offertes mutuellement. Ainsi, une nouvelle vision d'intégration et d'interopérabilité basée sur une architecture orientée service SOA est née.

La naissance de concept de l’architecture orientée service a donné naissance à une autre technologie qu’est devenu la plus populaire des technologies du Web à savoir les services Web.

2. L’architecture orientée service SOA :

L’architecture orientée service (SOA en anglais : Service Oriented Architecture) est la réorganisation des applications en ensembles fonctionnels appelés services et l’exposition des informations nécessaires sur ces services pour qu’ils soient facilement utilisés par les clients. L’objectif est donc de décomposer les différentes fonctionnalités d’un système ou une application en un ensemble de fonctions basiques offertes par des services et de décrire finement un schéma d’interaction entre ces services. Ces fonctions-services peuvent être exécutés sur des plateformes hétérogènes dans un environnement distribué, et fournissent des fonctionnalités à d’autres entités (clients). [1]

Page 13: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

4

Chapitre 1 : Les services Web

2.1. Principes fondamentaux :

Afin de mettre en œuvre une architecture SOA avec succès, il ne suffit pas d’avoir les capacités technologies. Il convient également d’adopter un certain nombre de principes importants au niveau de la conception, du développement et de la gestion. [2]

Le couplage faible :

Le couplage est une métrique indiquant le niveau d’interaction entre deux ou plusieurs composants. Deux composants sont dits couplés s’ils échangent de l’information. On parle de couplage fort (ou serré) si les composants échangent beaucoup d’information et de couplage faible (ou relaxé) dans le cas contraire.

Dans une architecture SOA, le couplage entre les applications clientes et les services doit être faible. Cela signifie qu’il y a une séparation logique qui isole le client du service afin d’éviter une dépendance physique entre les deux. Pour ce faire, le client communique avec le service par échange de messages dans un format standard. Il est ainsi possible de modifier un service, par exemple pour y ajouter des fonctionnalités, sans briser la compatibilité avec les applications clients existantes. En cas de couplage fort, la possibilité d’évolution des services serait très limitée. [2]

L’interopérabilité

L’interopérabilité est l’aptitude de deux ou plusieurs systèmes à fonctionner ensemble sans contrainte de technologies (systèmes d’exploitation, langages de programmation,…) ou de localisation (même site ou site distant).

Les architectures orientées services ont pour objectif de permettre à des applications hétérogènes s’exécutant au sein de différentes entreprises de pouvoir inter-opérer à travers des services offerts par les applications. L’interopérabilité est présente à plusieurs niveaux dans une architecture SOA. Tout d’abord, entre les services eux-mêmes, rien n’oblige à utiliser la même plate-forme entre les différents services formant une application à part entière. Ensuite, au niveau des clients et des services : les architectures logicielle et matérielle peuvent être totalement différentes, l’essentiel est la mise à disposition des protocoles des services sur ces architectures, indépendamment du langage et des logiciels utilisés. [2]

Page 14: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

5

Chapitre 1 : Les services Web

La réutilisabilité

Parmi les objectif principats de la fondation de l’architecture orientée service était de favoriser la réutilisabilité des composants d’un système. Le concept de réutilisabilité se résume dans la capacité d’invoquer à nouveau un service déjà existant pour réaliser des tâches déjà exécutées, mais également d’autres services pourront s’y référer (principe de la composition).

Par la possibilité de réutilisabilité des composantes déjà existantes, nous pouvons réaliser des économies en dépenses et en temps nécessaire à la réalisation de nouveaux projets [3]. En outre, par l’augmentation de la capacité de réutilisabilité des services, la SOA diminue les redondances et les erreurs pouvant apparaitre dans le système tout en accélérant le temps d’automatisation des processus. [4]

La flexibilité

La flexibilité se définit comme la capacité d’un système à se transformer et à s’adapter au rythme des activités d’une façon aisée et au moindre coût possible.

Dans cette optique l’architecture orientée service permet la possibilité de créer un environnement flexible grâce à la standardisation des infrastructures et la décomposition des applications en services [5]. L’avantage principal de l’architecture orientée services est que ce paradigme pourrait répondre aux besoins en termes de flexibilité et d’adaptabilité rapide exprimés par les concepteurs. Une application à base de services est flexible puisqu’un service défaillant peut être remplacé par un autre sans modifier l’ensemble de l’application. De plus, elle est adaptable du fait que le service sélectionné est celui choisi comme étant le meilleur dans un contexte donné.

Page 15: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

6

Chapitre 1 : Les services Web

3. Les services Web : « une instance de l’architecture SOA»

3.1. Définition :

Il existe différentes définitions pour les services Web. Certaines sont plus générales que d’autres. D’un point de vue technique La définition communément admise c’est la définition de W3C1.

Le W3C définit le service Web comme un système logiciel qui permet l’interaction entre machines sur le réseau à travers des interfaces, et vérifiant les propriétés suivantes :

• il est identifie par une URI (Uniform Ressource Identifier). • ses interfaces et ses liens peuvent être décrits en XML. • sa définition peut être découverte par d’autres services Web. • il peut interagir directement avec d’autres services Web à travers le

langage XML et en utilisant des protocoles Internet.

Les services Web sont donc des composants logiciels distribués qui exposent un ensemble de fonctionnalités sur un réseau (généralement Internet). Les services Web sont décrient avec des standards fondés sur XML. Ils sont accessibles via un réseau et à travers des protocoles Internet standards (généralement HTTP2) pour les clients qui les découvrent, les sélectionnent, les invoquent et les utilisent. [6]

3.2. Architecture des services Web :

Les services Web sont définis dans le cadre des architectures orientées services SOA. L’architecture SOA permet de distinguer le fournisseur de service, l’annuaire de services, et enfin l’utilisateur du service (le client). Ces composants fonctionnent généralement dans un système distribué et n’opèrent pas dans un même environnement de traitement et sont obligés de communiquer par échanges de messages dans le but d’accomplir le résultat souhaite. Cette architecture est illustrée dans la Fig1.1.

1 World Wide Web Consortium.

2 HyperText Transfer Protocol

Page 16: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

7

Chapitre 1 : Les services Web

Les principaux concepts intervenant dans l’architecture des services Web sont :

• le fournisseur du service : il représente une organisation ou une personne qui fournit des fonctionnalités sous forme de service. Après le développement d’un service, le fournisseur du service doit mettre à disposition des éventuels utilisateurs la description du service.

• la description du service : c’est les informations nécessaires pour pouvoir utiliser le service ces informations sont exprimées dans un langage de description interprétable par les machines, les services Web peuvent être décrits par leurs propriétés fonctionnelles et non fonctionnelles. La description des propriétés fonctionnelles fournit exactement ce que peut faire le service. La description des propriétés Non-fonctionnelles représente tout ce qu'un service donne comme une contrainte sur les propriétés fonctionnelles (le coût, le temps de calcule, temps de réponse, qualité de service,…), ainsi les types de communication acceptés.

• l’annuaire de services : (appelé également registre de services ou courtier de services) d’une part reçoit et enregistre les descriptions de services publiées par les fournisseurs, et d’autre part reçoit et répond aux recherches de services lancées par les clients. C’est donc un registre de description qui offre aux fournisseurs le moyen de publier et d'indexer leurs services Web sur le réseau. Il permet également aux clients de rechercher ces services selon plusieurs critères.

Fig 1.1 : Modèle de référence des services Web. [7]

Annuaire

Client Fournisseur

Recherche

Liens

Publication

Description de WS

Page 17: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

8

Chapitre 1 : Les services Web

• le client du service : (appelé également utilisateur de service, ou consommateur de service) représente l’application cliente qui invoque le service.

Un client du service interroge le registre de services pour obtenir les services disponibles qui correspondent à ses besoins. La découverte d’un service est réalisée grâce à la description du service disponible dans l’annuaire. L’utilisateur de service doit comprendre chaque service en termes de propriétés fonctionnelles et non fonctionnelles afin d’obtenir le résultat approprié.

Après avoir sélectionné le service qu’il veut utiliser, le consommateur du service peut, dans certains cas, négocier auprès du fournisseur les termes suivant lesquels il peut utiliser ce service. A la fin de la négociation, un accord de service est réalisé entre l’utilisateur et le fournisseur. La plupart du temps, cet accord de service contractualise les termes de l’utilisation du service par l’utilisateur sans garantie totale du résultat. Grâce aux informations disponibles dans la description du service, l’utilisateur de service peut, dès lors, réaliser la liaison et appeler les fonctionnalités du service. [8]

L’avantage de cette architecture tient à présenter les services comme des boîtes noires. En fait, les entrées-sorties d’un Service Web sont gérées au sein de messages dont on connaît le format grâce à des interfaces clairement exposées mais sur lesquels l’implémentation interne du traitement n’influe pas au niveau de structure. Ceci permet un haut niveau de modularité et d’interopérabilité.

4. Standards de services Web :

La définition des services Web ne serait pas complète si l’on n’évoquait pas ses principaux standards : SOAP, WSDL et UDDI, ces standards développés autour des standards XML3 et HTTP4.

SOAP. Le protocole SOAP (Simple Object Access Protocol) est un protocole de communication bas´e sur XML qui permet aux services Web d’´echanger des informations dans un environnement décentralisé et distribué tout en s’affranchissant des plateformes et des langages de

3 eXtensible Markup Language

4

Page 18: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

9

Chapitre 1 : Les services Web

programmation utilisés. Il définit un ensemble de règles pour structurer les messages envoyés. Mais SOAP ne fournit aucune instruction sur la façon d’accéder aux services Web. C’est le rôle du langage WSDL.

WSDL : La spécification WSDL (Web Services Description Language) joue un rôle important dans l’interopérabilité des composants services Web. Moyennant un schéma uniforme obéissant à une sémantique bien définie, elle permet aux composants de définir ce qui est nécessaire à leur invocation. La spécification WSDL est définie selon une sémantique totalement indépendante du modèle de programmation de l’application. Elle sépare clairement la définition abstraite du service (échange de messages) de ses mécanismes de liaison (définition des protocoles applicatifs). Cette dernière caractéristique permet aux composants d’interagir même si l’application a été modifiée, ce qui est un point important pour assurer l’interopérabilité des services.

UDDI : Dans un environnement ouvert comme Internet, la description d’un service Web n’est d’aucune utilité s’il n’existe pas de moyen de localiser aussi bien les services Web que leurs descriptions WSDL : c’est le rôle des référentiels UDDI (Universal Description, Discovery and Integration). La spécification UDDI constitue une norme pour les annuaires de services Web. Les fournisseurs disposent d’un schéma de description permettant de publier des données concernant leurs activités, la liste des services qu’ils offrent et les détails techniques de chaque service. La spécification offre également une API (Application Programming Interface) aux applications clientes, pour consulter et extraire des données concernant un service et/ou son fournisseur.

5. Le Web sémantique :

Internet est vu comme un immense réservoir de ressources en tout genre, et plus ces ressources s’accumulent, plus la recherche d’une information précise s’avère difficile. D’où la proposition d’ajouter à ces ressources une sémantique qui permettrait aux systèmes informatiques d’en « comprendre » : c’est le Web sémantique.

La convergence entre le Web sémantique et les services Web a le potentiel de fournir l’infrastructure des services Web sémantiques avec des informations sémantiques qui en ont besoin. Elle doit fournir des langages formels et des ontologies permettant de raisonner sur la description des

Page 19: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

10

Chapitre 1 : Les services Web

services, le contenu des messages et les relations entre ces ontologies. Le résultat de l’utilisation de Web sémantique est une description non ambigue de l’interface de services Web qui est compréhensible par une machine et fournit la base d’une interopérabilité transparente entre les différents services.[9] L’application des principes du Web sémantique au domaine des services Web ne permet pas seulement d’ajouter plus d’information à la description des services Web mais aussi d’utiliser le sens et la signification des données échangées pour améliorer la faisabilité des différentes tâches : découverte, sélection, invocation, composition, etc.

6. Conclusion :

Nous avons présenté dans ce chapitre une vision générale sur l’architecture oriente service. Au centre de cette architecture nous retrouvons le concept de service Web, il représente actuellement l’ensemble de standards les plus connus pour la réalisation des applications Internet. Cette technologie repose sur des standards XML très populaires.

Nous avons aussi introduis brièvement la notion de Web sémantique les services Web sémantiques et leurs utilités.

Interopérabilité

Annotations

sémantique

WWW

HTTP /XML

Web sémantique

RDF/OWL

Services Web

WSDL/SOAP

Services Web

sémantique

Fig 1.2 : Les services Web sémantiques se situent entre deux problématiques

liées au Web : l’interopérabilité et l’annotation sémantique. [10]

Dynamique

Statique

Page 20: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Chapitre 2 :

Composition des services Web.

Page 21: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Chapitre 2 :

1. Introduction :

Bien que les services Web sont des briques de bases orientée service SOAcompatibilité logicielle ou matérielle,faire appel à une combinaison avec d’autres services.

Fig 2.1 : Deux scenarios possibles pour un achat enligne en utilisant les services Web.[

12

Composition d

Bien que les services Web sont des briques de bases orientée service SOA et qui s’affranchissant de toute contrainte decompatibilité logicielle ou matérielle, peuvent ne pas être très utiles faire appel à une combinaison avec d’autres services.

: Deux scenarios possibles pour un achat enligne en utilisant les services Web.[

Composition des services Web

Bien que les services Web sont des briques de bases de l’architecture s’affranchissant de toute contrainte de

peuvent ne pas être très utiles sans

: Deux scenarios possibles pour un achat enligne en utilisant les services Web.[11]

Page 22: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

13

Chapitre 2 : Composition des services Web

Dans le scénario illustré dans la Fig 2.1, un client a besoin de faire plusieurs appels à des services Web élémentaires pour compléter un achat enligne. En outre, les appels doivent être faits dans un ordre spécifique dans lequel une ou plusieurs références de l'appel précédent sont utilisées dans l'invocation suivante. En plus d'être un processus lourd ce scénario augmente le risque d’erreurs. D’où l’appel à une composition des services Web est indispensable.

2. Composition des services Web :«Les composants sont destinés à être composés.»

2.1. Définition :

La composition des services Web fait référence au processus qui consiste à combiner les fonctionnalités de plusieurs services, simples ou eux-mêmes composés au sein d’un même processus métier. Dans le but de répondre à des demandes complexes qu’un seul service ne pourrait satisfaire.

2.2. Cycle de vie d’une composition des services Web :

La composition au sens large englobe plusieurs activités qui correspondent aux différentes phases de son cycle de vie. D’une façon générale on peut dire que le cycle de vie de la composition des services web inclue quatre phases :

La phase de définition : Durant cette phase le demandeur de service précise la spécification de la composition, qui devrait fournir suffisamment d'informations sur les besoins des utilisateurs et les priorités pour le service composé [7],Ensuite la spécification est décomposée en un modèle abstrait qui englobe un ensemble des activités, le contrôle et le flux des données entre ces activités, la qualité de service (QoS) et les comportements exceptionnels.

La phase de sélection : cette phase consiste à découvrir pour chaque activité dans le service composé les services web appropriés qui correspondent aux besoins définies, cette découverte est fondée sur les informations contenues dans les descriptions des services web publiés. Il est possible que plus d'un service répond aux besoins. Par conséquent, le meilleur service doit être sélectionné. Après que tous les services Web requis sont identifiés et liés aux activités correspondantes, le service composé est produit.

La phase de déploiement : Dans cette phase, le service composé est déployé pour permettre son instanciation et l'invocation par les utilisateurs finaux. Le résultat de cette phase est le service composé exécutable.

Page 23: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

14

Chapitre 2 : Composition des services Web

La phase d'exécution : Dans cette phase, l'instance de service composé est créée et exécutée par un mécanisme d’exécution, qui est également chargé d'invoquer les services participants. Pendant cette étape d’exécution les tâches de contrôle et de surveillance de la composition, mesure de la performance et la gestion des exceptions, doivent être assurées. [7]

2.3. Défis de composition des services Web : [9]

Le problème de la composition des services Web est en plein essort. Nous soulignons ici quelques sources de ses complexités :

• la complexité liée a la conception de services Web : un Web service n’est pas adaptable. Il est passif jusqu'à ce qu’il soit invoqué. Il a des connaissances de lui-même mais pas de ses applications ou de ses utilisateurs clients.

• le nombre des Web services disponibles est très grand, il est déjà au-delà des capacités humaines pour les analyser manuellement.

• puisque le nombre de Web services augmente jour âpres jour, il devient plus difficile de trouver artificiellement le Web service qui peut effectuer la tache à accomplir et encore plus difficile de composer un ensemble de services avec des approches classiques.

• les Web services peuvent être crées et réactualises a la volée. Par conséquent, le système de composition doit détecter la mise `à jour lors

Fig 2.2 : Cycle de vie de composition des services web.[7]

Définition

Sélection

Déploiement

Exécution

Annuair

Services

candidats

Service

composé

Modèle

abstrait

Service composé

exécutable

Client

Requête de

composition

Page 24: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

15

Chapitre 2 : Composition des services Web

de l’exécution. Ainsi, le schéma de la composition devrait s’adapter en fonction des nouvelles informations.

• les Web services sont généralement établis par des organisations différentes qui utilisent différents modèles conceptuels pour la présentation des caractéristiques des services. Cela exige l’utilisation d’informations pertinentes pour faire correspondre (matching) et composer les services Web.

3. Classification des approches de composition des services Web :

Plusieurs approches de composition des services Web ont été développées par des chercheurs, ces approches sont aussi classées en plusieurs catégories selon différentes critères. Le plus souvent les approches de composition des services Web sont classées selon la nature et le moment de processus de sélection et de liaison des services composants en statiques et dynamiques, et selon le degré de participation de l’utilisateur dans la définition de schéma de composition en approches manuelles, semi automatiques ou automatiques.

3.1. Composition manuelle, semi-automatique et automatique :

La composition manuelle de services Web : signifie que le processus de composition est réalisé totalement par un utilisateur qui a accès aux services, il les sélectionne, les ordonne, et les exécute en les surveillant pendant l’exécution.

La composition manuelle reste à portée limitée car elle requiert un niveau technique très élevé [12] (généralement par un expert), et un temps de conception important sans garantie que le résultat de l'exécution satisfait en effet les besoins de l'utilisateur

La composition automatique de services Web : prend en charge tout le processus de composition et le réalise automatiquement, sans qu’aucune intervention de l’utilisateur ne soit requise. Dans ce type de composition l'utilisateur final ou le développeur de l'application spécifie un objectif (exprimé dans un langage de description ou notation mathématique) et un moteur de composition "intelligent" sélectionne des services adéquats et propose la composition en toute transparence pour l’utilisateur.

Page 25: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

16

Chapitre 2 : Composition des services Web

Les principaux défis de la composition automatique sont dans la façon d’identifier les services candidats, de les composer, et de vérifier dans quelle mesure ils correspondent à la requête de l’utilisateur.

La composition semi-automatique de services Web : a pour but de fournir à l’utilisateur final un environnement de création de services composés. Cet environnement offre un support pour l’utilisateur par l’automatisation de certaines parties de la composition. La composition semi-automatique étant à mi-chemin entre les deux autres a l’avantage principal de faire participer l’utilisateur au processus de composition en exploitant, les informations générées par l’utilisateur ou de sa communauté.

Dans la composition semi automatique l’utilisateur maintiendra certain contrôle sur le processus de composition mais il n’aura pas besoin de connaissances de programmation.

3.2. Composition statique et composition dynamique :

Composition statique de services Web : dans ce type de composition la construction d’un modèle abstrait des tâches qui doit être réalisé au cours de l'exécution de la composition se fait à la conception et/ou la compilation avant que la planification de la composition commence. Ce modèle abstrait est rien qu'une représentation d'un ensemble des tâches et des dépendances entre eux, ou chaque tâche correspond à un service Web [13]. Les services Web participants à la composition sont choisis, liés ensemble, compilés puis déployés.

� Orchestration et chorégraphie :

Deux approches principales sont actuellement étudiées pour la composition statique de services Web. La première approche, appelée services Web orchestration, combine les services participants à la composition par l'ajout d'un coordonnateur central (l’orchestrateur) qui est responsable de l'invocation et la combinaison des sous-activités simples. Elle offre une vision centralisée, le procédé est toujours contrôlé du point de vue de l’un des partenaires. La seconde approche, appelée services Web chorégraphie, ne suppose pas l'exploitation d'un coordinateur central mais définit plutôt des tâches complexes via la définition de la conversation qui devrait être entrepris par chaque participant. Selon cette approche, l'activité globale est obtenue comme la composition des interactions peer-to -peer entre les services participants. .Elle est de nature plus collaborative.

Page 26: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

17

Chapitre 2 : Composition des services Web

Qu’il s’agisse d’orchestration ou de chorégraphie, les procédés et services Web sont trop fortement couplés, l’agrégation obtenue est rigide et donc difficilement modifiable, et les langages sont de trop bas niveau, c’est-à-dire trop proches des langages de programmation classiques.

Composition dynamique de services Web : contrairement à la composition statique La sélection des services composants et la réalisation des liaisons sont retardées jusqu’au moment de l’exécution. Les étapes de planification et de construction sont réalisées au moment de l’exécution en fonction des fournisseurs de services Web disponibles.

Une autre classe dite semi-dynamique est introduite dans [14] comme le résultat de chevauchement des deux classifications précédentes comme illustré dans Fig 2.3.

Fig 2.3 : Classification générale des approches de composition des services WEB. [14]

Il y a plusieurs avantages de la composition dynamique des services. Contrairement à la composition statique, où le nombre de services fournis aux utilisateurs finaux est limité et les services sont spécifiés au moment de la conception, la composition dynamique peut servir des applications ou des utilisateurs à la demande. Avec la composition dynamique un nombre illimité de nouveaux services peut être créé à partir d’un ensemble limité des services composants.

Page 27: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

18

Chapitre 2 : Composition des services Web

La composition dynamique est l’idéal dans un environnement de services Web dont la nature est très dynamique. Elle est flexible et adaptable dans le cas où il y aura fréquemment des changements au cours de l’exécution. Contrairement la composition statique qui fonctionne bien dans les environnements fermés (n'évoluent pas souvent) où les fonctionnalités de service ou la spécification de la composition ne change pas ou rarement.

Dans le tableau ci-dessus Tab 2.4 on donne les principales différences entre la composition statique et dynamique de services Web.

Critère statique dynamique

Génération de modèle

de processus

A la

conception /compilation

A l'exécution

Découverte /sélection

des services

A la conception/compilation A l'exécution

Liaison des services A la conception (i e : chaque

instanciation du service

composé sera

des mêmes services

composants)

A l'exécution

Conception de la

composition

A la conception A l'exécution

Personnalisation a

l’exécution

impossible possible

Possibilité d’extension

a l’exécution

impossible possible

Nombre de services Limité Illimité

Cout Constant Varie selon les services

sélectionnés

Fiabilité et tolérance

aux fautes

Faible Elevée (spécifiquement

dans le cas où un service

devient indisponible après

un certain temps qui peut

être substitué par

l'invocation du service

fonctionnellement

équivalent)

Adaptabilité aux

changements

d’environnements

Faible Elevée

Tab 2.1 : Comparaison entre la composition statique et dynamique. [15]

Page 28: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

19

Chapitre 2 : Composition des services Web

4. Les différentes approches de la composition des services Web :

La plupart des travaux de recherche dans le domaine de la composition des services Web se concentrent dans un coté sur l’automatisation de certaines parties ou la totalité de processus de la composition (semi automatique/automatique), et dans un autre coté sur la dynamicité de processus de la composition.

De nombreuses approches de composition des services Web existent, ces approches peuvent être regroupées en plusieurs axes et courants.

4.1. Approches sémantiques :

Les approches sémantique sont le résultat de l’utilisation de la sémantique dans la description des services Web qui est plus compréhensible par les machine (ou même par les services Web) et fournit la base d’une interopérabilité transparente entre les différents services.

Dans une description sémantique les paramètres d’entrée et de sortie d’un service Web sont des concepts référents à des ontologies, les préconditions et les effets sont exprimés par des assertions logiques sur les paramètres d’entrée et de sortie. La correspondance (en anglais matching) vise à trouver une similarité sémantique entre un paramètre de sortie et un paramètre d’entrée de deux services. Les liens causaux stockent cette similarité entre les paramètres de services Web.

Dans la découverte des services Web, le matching est effectué sur les mêmes catégories de paramètres, c’est-à-dire sur les paires d’entrée, ou les paires de sortie. A l’opposé pour la composition des services Web, le problème est adressé par l’étude de matching sur des paires distinctes de paramètres d’entrée et de sortie des différents services Web.

Les descriptions sémantiques fournissent des agents logiciels avec un moyen de raisonnement automatique sur la sémantique du service. Dans un environnement de services sémantiquement annotés, les utilisateurs pourraient être aidés par des agents logiciels qui s’identifient automatiquement et si nécessaire, composent dynamiquement des services afin d'atteindre les objectifs de l'utilisateur. Cela peut être soit explicitement déclarés ou issus de la situation de l'utilisateur actuellement en jeu. [16]

Page 29: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

20

Chapitre 2 : Composition des services Web

4.2. Approches orientés Workflow :

Un Workflow est une abstraction d’un processus de type business (métier), Il est composé d’un ensemble d’activités élémentaires structurées, ainsi que l’ordre d’exécution entre elles, et de dépendances entre ces activités.

De la même façon les services composants ainsi que les contrôles et échanges de données entre ces services peut être vu comme un Workflow.

Les méthodes qui modélisent la composition des services Web à base de Workflows peuvent être statiques ou dynamiques. Dans le cas statique, l‘utilisateur établit manuellement un modèle abstrait des tâches, en plus des dépendances. (i.e. le flux de contrôle, le flux de données…). Chaque tâche contient une clause ou question qui est employée pour rechercher le service concret qui l‘accomplit. Ce travail est fait pendant la conception. Durant l'exécution, le système de composition instancie chaque tâche, en cherchant un service concret.

Par contre les méthodes qui modélisent la composition des services Web à base de Workflows dynamiques génèrent les tâches instanciées à la volée pendant l’exécution (runtime). La composition à base de Workflows dynamiques crée le modèle de tâches et l‘instanciation des services de façon automatique. [13] Dans cette vision, une composition automatique demande des Workflows capables de reconnaitre les services web correspondants à chaque tâche, mais aussi de trouver d’autres services nécessaires pour la substitution dans le cas ou ceux-ci soient indisponibles à leur exécution normale.

4.3. Approches basées sur les automates et réseaux de Petri :

Les automates et Les réseaux de Petri (Petri-Nets) offrent une sémantique riche, précise et adaptée à la représentation de la composition des services Web.

Un réseau de Petri est un ensemble de places et de transitions reliées par des arcs. L’aspect dynamique du réseau est décrit par un ensemble de règles. Chaque règle définit :

-les conditions à valider pour qu'une transaction ait lieu. -les effets de cette transaction. [17]

Page 30: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

21

Chapitre 2 : Composition des services Web

Dans [18], les auteurs ont proposé une algèbre basée sur les réseaux de Petri pour aider à la visualisation, la vérification et la détection des incohérences de la composition des services Web, en assignant une transition à chaque appel de service et une place à chaque état entre les appels. Chaque service composé est ainsi modélisé par un unique réseau de Petri contenant une place d’entrée sur laquelle aucun arc ne pointe ainsi qu’une place de sortie d’où aucun arc ne part. Les auteurs ont défini un ensemble de propriétés algébriques garantissent la même sémantisation des services Web initiales.

Un automate ou système de transition d'états annotés est constitué d'un ensemble d'états, d'un ensemble de transitions annotées entre états et d'un ensemble d'actions. Les annotations des transitions contiennent des actions représentant le passage d'un état à un autre.

Dans [19] les auteurs suggèrent de représenter la composition des services Web par l'implémentation d'une couche « Multi-Stakeholder Distributed System » (MSDS). MSDS est un environnement distribuée ou des nœuds définis par des fournisseurs différents interagissent de façon concurrente sans connaissance totale de l'environnement. Les auteurs introduisent la notion de compatibilité entre services à trois niveaux : interface, comportement et paramètres d'entrée et de sortie. Ils présentent une approche de vérification qui consiste à traduire une composition exprimée en BPEL (Business Process Execution Language) en un modèle d'automates finis et à compiler ce dernier en un système de transition d'états. Ils utilisent un outil de vérification LTSA (Labelled Transition System Analyser) qui permet de s'assurer de la consistance du graphe et d'affirmer qu'il ne contient pas des impasses (deadlock free).

Les techniques de raisonnement applicables aux automates et réseaux de Petri permettent de vérifier la structure de la composition des services Web et sa cohérence.

4.4. Approches orientées intelligence artificielle :

Plusieurs recherches actuelles dans le domaine de la composition s’articulent sur des techniques d’intelligence artificielle est plus particulièrement sur la planification (AI planning) :

4.4.1. La planification :

La planification est un des domaines de l’Intelligence Artificielle qui permet de choisir et d’organiser des actions en produisant un plan. L’exécution de plan modifie les propriétés du système en le faisant évoluer de l’état initial jusqu’au but désiré.

Page 31: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

22

Chapitre 2 : Composition des services Web

Le problème de composition des services Web peut être modélisé comme un problème de planification où les services sont vus comme des actions et la composition comme un plan. Un plan solution c’est le schéma d’exécution d’un ensemble de services (actions) à partir de l’état initial jusqu’à atteindre l’état but.

Dans la suite nous présentons des méthodes de composition qui se basent sur la planification.

La planification classique : Les approches de la composition des services Web à base de la planification classique traduit généralement des modèles de processus OWL-S (détaillé en 5.1) en des représentations internes tels que PDDL (Planning Domain Definition Language).[20] PDDL décrit les similarités entre l’approche de description et de composition OWL-S et le PDDL. Il présente une approche pour traduire les descriptions OWL-S en PDDL afin de modéliser la composition comme un problème de satisfaction d’un “planning”. Il propose la notion de « value of an action » qui modélise l’exécution d’un service. Elle exprime des changements qui peuvent avoir lieu dans l’environnement.

Planification hiérarchique : Dans [21], [Wu et al] recommandent l’utilisation du planificateur SHOP2 pour la composition automatique de services Web à partir de leur description sémantique. SHOP2 est un planificateur HTN (Hierachical Task Network). Les auteurs pensent que le concept de décomposition de tâches dans le planificateur HTN est très similaire au concept de décomposition de processus composés, décrits dans l’ontologie de processus proposée par DAML-S (remplacé par OWL-S). Afin de rendre leur proposition réalisable, les auteurs font deux hypothèses concernant le modèle de processus : – Les processus atomiques ont, soit des sorties, soit des effets, mais pas les deux en même temps. – Les structures de contrôle Split et Split+Join ne sont pas utilisées dans les processus composites

[Sirin et Parsia] dans [22] sont allés plus loin en intégrant un raisonneur sur les langages de descriptions dans le planificateur SHOP2. La planification HTN est très puissante pour les domaines où la connaissance est complète et détaillée.

Calcul situationnel (situation calculus) : les auteurs de [23] proposent d’adapter et d’étendre le langage Golog pour la construction automatique de services Web. Golog est un langage de programmation logique de haut niveau pour la spécification et l’exécution des actions complexes dans les domaines dynamiques qui permet de faire du calcul situationnel (i.e.

Page 32: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

23

Chapitre 2 : Composition des services Web

langage logique qui sert à représenter des changements ou évolutions en termes de situations, d’actions et d’objets). Le problème de la composition des services Web est abordé de la façon suivante : la requête de l’utilisateur et les contraintes des services sont représentées en termes de prédicats du premier ordre dans le langage de calcul situationnel. Les services sont transformés en actions (primitives ou complexes) dans le même langage. Puis, à l’aide de règles de déduction et des contraintes, des modèles sont ainsi générés et sont instanciés à l’exécution à partir des préférences utilisateur, et l’ensemble de services atomiques sont reliés dans un langage de programmation procédural (if-then-else, while …etc).

Planification basée sur les règles (Rule-based planning) :[Medjahed et al] [24] présentent une technique pour générer des services composites à partir de descriptions déclaratives de haut niveau. Cette méthode utilise des règles de composabilité pour déterminer dans quelle mesure deux services sont composables. L’approche proposée se déroule en quatre phases : La phase de spécification. Elle offre une spécification de haut niveau de la composition désirée en utilisant le langage CSSL (Composite Service Specification Langage). La phase de correspondance. Elle utilise des règles de composabilité pour générer des plans conformes aux spécifications du service demandeur. La phase de sélection. Si plus d’un plan est généré, la sélection est effectuée par rapport à des paramètres de qualité de la composition. La phase de génération. Une description détaillée du service composite est automatiquement générée et présentée au demandeur. La principale contribution de cette approche est la notion de règles de composabilité. Les règles de composabilité considèrent les propriétés syntaxiques et sémantiques des services Web. Les règles syntaxiques incluent des règles pour les types d’opérations possibles et pour les liaisons protocolaires entre les services (i.e., les bindings). Les règles sémantiques incluent des règles concernant la compatibilité des messages échangés et la compatibilité des domaines sémantiques des services, mais également des règles de qualité de la composition. Cette notion de règles de composabilité met en avant les attributs possibles des services Web qui peuvent être utilisés dans la composition des services et peut ainsi jouer le rôle de directive pour d’autres méthodes de composition par planification.

Preuve de théorèmes (Theorem proving) : [Waldinger et al] dans [25] proposent de générer les services Web composés à partir de preuves de théorèmes. L’approche est basée sur la déduction automatique de preuves. La requête de l’utilisateur est décrite comme un théorème que l’on souhaite prouver. Initialement, les services Web disponibles et les pré-requis de l’utilisateur sont décrits dans la logique du premier ordre. la requête est

Page 33: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

24

Chapitre 2 : Composition des services Web

formulée comme un théorème ou la description de service est la spécification et l’objectif recherché est l'entrée. Ensuite, une preuve est générée par le générateur de preuve de théorème SNARK. Enfin, la réponse de la requête (la description de la composition de services) est extraite d’une preuve particulière en fonction de la disponibilité des services Web.

4.4.2. Systèmes Multi-Agents (SMAs) :

Du fait de leur autonomie et leur hétérogénéité, la composition des services Web peut être vue comme un système multi-agents ou les agents sont les services Web que chacun sert à satisfaire une partie de la requête de l'utilisateur en utilisant ses propres capacités.

[Müller et Kowalczyk] [26] travaillent sur un système multi-agent pour la composition des services basé sur la concurrence entre coalitions de services : un agent utilisateur fournis les objectifs aux agents représentants les services, ces derniers se contactent les uns les autres pour proposer leurs services en fonction de leur capacité de raisonnement et ainsi former des coalitions d’agents capables de résoudre les buts. Puis les différentes coalitions vont faire une offre la plus compétitive possible. Les solutions seront notées par l’agent utilisateur. C’est donc la solution ayant la note la plus élevée qui sera choisie. Ainsi, seuls les services Web correspondant le plus aux attentes de l’utilisateur seront utilisés dans la composition.

4.5. Approches orientées qualité de service (QoS-Aware) :

Plusieurs approches de composition des services Web se concentrent sur le problème de la sélection de services à inclure dans un schéma de composition lorsque les exigences fonctionnelles sont satisfaites par plus d'un service, ces approches discutent que le choix de services en fonction de leur qualité de service (QoS : Quality of Service) est un problème important qui doit être abordée comme un problème distinct.

La qualité de service (QoS) d’un service Web est un critère de performance orienté utilisateur elle définit les propriétés non - fonctionnelles de service telles que le temps de réponse , le cout , la disponibilité …etc. les propriétés QoS sont divisés en deux sous catégories : les propriétés mesurables ( débit , temps de réponse , et la latence , etc.) et les propriétés non mesurable ( la réputation et la sécurité , etc. ). [27] Dans une composition des services Web la qualité de service (QoS) dépendra étroitement de celles des services Web qui la composent.

Page 34: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

25

Chapitre 2 : Composition des services Web

Dans ce qui suit nous présentons des propriétés non-fonctionnelles liées à un service Web (contraintes locales) :

Le coût : c’est le montant qu'un demandeur de service doit payer pour exécuter le service. Cette valeur est indéterminée lorsque le service n’est pas exécuté. Temps de réponse : c’est la durée d'exécution entre le moment où la demande est envoyée et le moment où les résultats sont retournés. La disponibilité : c’est la probabilité que le service peut être consulté et utilisé. Ça peut être défini comme le rapport du nombre d'invocations réussies sur le nombre total de demandes. La réputation : c’est une mesure de crédibilité d’un service web. Elle peut être définie comme étant la moyenne des classements donnés au service Web par les utilisateurs finaux.

En outre, il pourrait aussi y avoir des contraintes globales, qui peuvent être des politiques, des règlements ou des contraintes dures qui sont appliquées sur toute la sélection, tels que le budget de l'utilisateur.

Le problème de qualité de service (QoS) s’une composition peut être caractérisé comme un problème d'optimisation dont l'objectif par exemple est de réduire le coût et le temps, et de maximiser la disponibilité et la réputation tout en respectant les contraintes globales. [20]

[Lécué] [28] propose une approche orienté QoS dans le contexte du Web sémantique. En particulier, il propose de considérer la qualité des liens sémantiques comme critère d'optimisation supplémentaire. La liaison sémantique entre deux services est définie par les correspondances sémantiques entre les paramètres d'entrée et de sortie des deux. Il argumente que les algorithmes génétiques fournissent une solution plus évolutive au problème d'optimisation.

5. OWL-S et WSMO :

Dans la recherche liée aux services Web, plusieurs initiatives ont été menées dans le but de fournir des plates-formes et langages pour la composition des services Web, certaines ont la capacité de supporter les représentations sémantiques des services Web disponibles sur Internet tel que le langage OWL- S (Web Ontology Language for web Services) et la plate-forme WSMO (Web Service Modeling Ontology).

Page 35: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

26

Chapitre 2 : Composition des services Web

OWL-S et WSMO sont deux modèles d'ontologies de services. Une ontologie de services saisit les différents aspects liés à la description des services et leur utilisation à travers un ensemble de concepts, de propriétés et de relations entre eux. [17]

5.1. OWL-S :

OWL-S est un langage issu des travaux de la DARPA1 et de son programme DARPA Agent Markup Language (DAML) et prend la suite de DAML-S (DARPA Agent Markup Language Service). Il a été intégré au consortium W3C en 2004, au sein du groupe d’intérêt sur les services Web sémantiques, lors de la recommandation du langage OWL. [10]

Le but initial du langage OWL-S est de mettre en œuvre des services Web sémantiques. Cette mise en œuvre inclut un grand nombre d’objectifs, rendus possibles par le biais de l’expressivité héritée d’OWL et de l’utilisation de la logique de description. Ces objectifs sont :

• la description de services Web sémantiques. • la découverte automatique de ces services. • l’invocation automatique de ces services, par le biais de la détection

et de l’interprétation automatique de la localisation et des paramètres d’entrée/sortie (cet objectif a déjà été atteint par le standard de description de services Web classiques – WSDL). [10]

• la composition automatique de services (description et invocation) et la surveillance de l’exécution de la composition.

1 DARPA : Defence Advanced Research Projects Agency

Comment y accéder Ce qu’il peut faire Comment il fonctionne

Service

ServiceProfile ServiceModel ServiceGrounding

Ressource Fournit

Supporte Décrit par Présente

Fig 2.4: Modèle conceptuel de OWL-S. [29]

Page 36: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

27

Chapitre 2 : Composition des services Web

Le ServiceProfile : permet la description, la publication et la découverte des services, en spécifiant une description textuelle à destination des utilisateurs "humains", [30] les informations les plus essentielles se trouve dans la section Profile, il inclut les propriétés fonctionnelles et des propriétés non fonctionnelles tels que des informations sur le fournisseur, et l'estimation de la qualité du service. Par conséquent, elle constitue l’information utile pour la découverte et la composition de services. Dans l’approche OWL-S, la section Profile est utilisée à la fois par les fournisseurs pour publier leurs services et par les clients pour spécifier leurs besoins.

Le ServiceModel : apporte une description abstraite du service Web sémantique. Dans cette entité de OWL-S, le service est vu comme un processus (Process). Un processus est une spécification de la manière dont le client peut interagir avec le service. Il est composé d’un ensemble d’informations sur ce dernier : son nom, les participants à son exécution (un client simple ou d’autres services Web), ce qu’il fait, les conditions d’utilisation et ses effets, son résultat, ses paramètres (entrée, sortie).

Le ServiceModel, dans le contexte d’un service Web élémentaire, présente le fonctionnement du service et définit comment interagir avec ce dernier. Dans le cadre de la description d’une composition de services, le ServiceModel permet aussi de décrire l’activité du service dans une composition. [10] les compositions de services Web appelés processus (Process) dans lesquelles les services Web interviennent. Ces interventions sont décrites à l’aide du modèle de processus ProcessModel. Le ProcessModel permet de décrire la tâche que propose le service Web au sein de la composition de services. Le modèle de processus est représenté par la classe ProcessModel. Cette dernière possède les propriétés suivantes : les paramètres d’entrée et de sortie, les participants au processus (les autres services Web intervenant dans la composition), les pré-conditions et les actions du service décrit. Il existe trois types de processus : le processus atomique, simple et composé.

-Un processus atomique : est un processus qui peut être directement invoqué par l’intermédiaire d’un accès.

Page 37: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

28

Chapitre 2 : Composition des services Web

-Le processus simple (Simple Process) : Le processus simple n’est pas directement invoqué. Il fournit une vue d’un processus atomique ou la représentation simplifiée d’un processus composé.

-Le processus composé (Composite Process) : Le processus composé est décomposable en processus simples. Il utilise des commandes de contrôle (Control Construct) afin de gérer l’invocation des processus composants.

Dans OWL-S, il existe deux types de commande de contrôle : la séquence – Sequence (un service Web est appelé, puis un autre), et la répétition conditionnelle – Repeat until (un service Web est appelé jusqu’à atteindre la valeur d’une condition).

Le ServiceGrounding : Celui-ci indique comment accéder concrètement au service et fournit les détails concernant les protocoles, les formats de messages et les adresses physiques. Cette information est particulièrement utile pour l’invocation automatique de services. [31] À savoir comment les clients peuvent effectivement invoquer le service

5.2. WSMO :

WSMO est issu des travaux du consortium du même nom ESSI-WSMO groupe de travail de l’ESSI2.

WSMO est une ontologie qui décrit les différents aspects relatifs à la composition dynamique des services Web, y compris la découverte dynamique, la sélection, la médiation et l’invocation. Elle est basée sur WSMF (Web Service Modelling Framework). [31]

La description d’un service Web sémantique réalisée à l’aide de WSMO possède quatre éléments : les ontologies du domaine, les objectifs, les services Web et les médiateurs. [10]

Les ontologies du domaine : Ces ontologies fournissent les bases pour la description sémantique. L’objectif de cet élément est de permettre l’interopérabilité sémantique entre les différents éléments. De ce fait, il est utilisé par l’ensemble des parties constituant l’ontologie WSMO.

Les objectifs : Les descriptions des objectifs définissent les tâches du service qui peuvent répondre aux besoins du client.

2 ESSI : European Semantic Systems Initiative.

Page 38: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

29

Chapitre 2 : Composition des services Web

L’expression des objectifs est composée de critères fonctionnels (Capability) ou comportementaux (Interface). [8]

Les services Web : Au sein de la description des services Web, les fournisseurs décrivent le comportement fonctionnel du service Web déployé. La description du comportement fonctionnel inclut les paramètres d’entrée et de sortie et les expressions logiques pour exprimer les contraintes d’utilisation.

Les médiateurs : Les médiateurs permettent de décrire les liens entre les éléments précédents (ontologies du domaine, objectifs et services Web).

Une application modélisée avec WSMO spécifie les objectifs que l’utilisateur veut remplir.

WSMO est censé être un méta- modèle pour les aspects liés aux services Web sémantiques. Ce modèle est définit en faisant usage a spécification MOF (Meta Object Facility)3 qui définit un langage abstrait et une plate forme pour la spécification, la construction et la gestion des métamodèles technologiquement neutres.

MOF définit une architecture de métadonnées composée de quatre couches, à savoir:

3 Object Management Group Inc, 2002.

Médiateurs

Objectifs Services

Web

Ontologies

du domaine

WSMO

WSML

WSMX

Fig 2.5 : Modèle conceptuel de OWL-S. [32]

Page 39: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

30

Chapitre 2 : Composition des services Web

• La couche d'information comprend les données que nous à décrire. • La couche de modèle comprend les métadonnées qui décrivent les

données de la couche d’informations. • La couche méta-modèle comprend les descriptions qui définissent la

structure et la sémantique des métadonnées. • La couche méta- méta-modèle comprend la description de la

structure et la sémantique de méta métadonnées. [33]

Au cœur de modèle WSMO on trouve deux principaux standards WSML et WSMX

WSML (Web Service Modeling Language) langage formel fournit la syntaxe et la sémantique pour WSMO. En d'autres termes, le WSML fournit un moyen de décrire formellement les éléments WSMO (les ontologies de domaine , les services Web sémantiques , les objectifs , et les médiateurs) .

WSMX (Web Service Modelling eXecution environment) est la mise en œuvre de référence de WSMO, qui est un environnement d'exécution pour l'intégration des applications d'entreprise. L'objectif est d'augmenter l’automatisation des processus métiers tout en fournissant des solutions d'intégration évolutives.

5.3. Comparaison de OWL-S et WSMO :

Étant donné que OWL-S et WSMO sont proches l’un de l’autre, nous allons les comparer en les évaluant par rapport aux objectifs communs, découverte et invocation automatiques, nous observons que ces deux objectifs sont partiellement pris en compte par OWL-S : d’une part, la découverte basée sur la sémantique est faite grâce à des outils, implémentant des algorithmes de Matching, et d’autre part l’invocation automatique est réalisée en utilisant WSDL. WSMO permet uniquement l’invocation automatique.

OWL-S étant le premier langage, les langages qui l’ont suivi tel que WSMO s’est inspiré de lui. Quoique WSMO introduise une nouvelle composante, les médiateurs, dans l’architecture des services, il reste proche de OWL-S. En effet :

Le Service Profile de OWL-S ressemble aux deux composantes, capacité (Capability) et propriétés non fonctionnelles de WSMO.

Page 40: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

31

Chapitre 2 : Composition des services Web

Le Service Model est similaire à une interface dans WSMO.

Un Objectif WSMO étant composé d’une interface, une capacité (Capability) et des propriétés non fonctionnelles, il ressemble donc à une partie du Service Profile et une partie ServiceModel.

En ce qui concerne le Grounding, WSMO et OWL- S adoptent des idées similaires en ce qui concerne la liaison à WSDL.[32]

Ces ressemblances n’empêchent pas d’avoir des différences :

Le médiateur de WSMO n’a pas de correspondant dans OWL-S.

OWL-S utilise le langage d'ontologie Web, tandis que WSMO utilise un modèle MOF abstrait. D'autre part, OWL-S définit son Meta modèle dans le même langage qu'il utilise pour les descriptions de services.[32]

L’Objectif est plus avantageux que le ServiceProfile en se séparant ce que l'utilisateur veut de ce que le service Web fournit. En effet, l’Objectif est défini indépendamment du service et ainsi le même Objectif peut être utilisé par plusieurs services afin d’effectuer une recherche, tandis que le ServiceProfile est rattaché à un service donné.

OWL-S a besoin de "moderniser" des langages plus expressifs dans le cadre de OWL qui ouvre alors de nouvelles questions de recherche sur la façon dont ils doivent interagir. WSMO a surmonté ce problème en utilisant WSML. [32]

6 Conclusion :

L’objet de ce chapitre était de fournir une vue d’ensemble sur la composition des services Web, ainsi que ses classifications. Nous avons également présenté un ensemble de différentes approches de composition des services Web regroupées en plusieurs catégories.

Nous avons aussi présenté deux modèles d'ontologies de services : OWL-S et WSMO qui se sont déjà penchées sur le problème de composition des services Web sémantiques.

Page 41: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Chapitre 3 : Synthèse et étude comparative des

approches de composition.

Page 42: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

33

Chapitre 3 : Synthèse et étude comparative des approches de composition.

1. Introduction :

Dans ce chapitre nous allons présenter une synthèse et étude comparative de quelques approches de composition. Nous commençons par rappeler des critères d’évaluation que nous allons utiliser pour effectuer cette comparaison. Cette synthèse et étude comparative nous permet de dresser un tableau récapitulatif de la comparaison de ces travaux selon les critères choisis.

2. Les critères d’évaluation de l’étude comparative :

Afin de mieux comparer les différents travaux, nous utilisons les critères d’évaluation suivants :

Sémantisation : cette caractéristique permet de spécifier si une approche de composition prend ou non en compte la dimension sémantique dans la description des services web et quelle est la technologie utilisée pour ceci.

Automatisation : comme vu précédemment dans la section 3.1de chapitre précédent le niveau d’automatisation est le dégrée de l'intervention de l'utilisateur dans la génération du schéma de composition (composition manuelle, semi automatique ou automatique).

Dynamicité : une caractéristique essentielle d'une approche de composition de service est de savoir si elle produit un schéma de composition statique ou dynamique (section 3.2 de chapitre précédent).

Qualité de service (QoS) : c’est un critère de performance primordiale pour les approches de composition des services Web, comme on l’a vu dans la section 4.5 de chapitre précédent la QoS est un problème important qui doit être abordée a part, dans cette étude comparative nous se limitons a la présence ou non de cette notion.

En plus de ces critères nous allons comparer ces approches selon les outils (langages, concepts), le moment de la liaison des services Web composants et les axes et catégories auxquelles appartiennent.

3. Synthèse des travaux de composition des services Web :

[El Falou] Dans [9] essaye de surmonter quelques limites des approches de planification existantes, son principale contribution consiste à étendre la définition des services, des requêtes et du domaine de planification. Il propose deux approches fondées sur les techniques de planification centralisée et décentralisée.

L’extension de la définition classique des services consiste à rendre les services capables d’exprimer comme un effet d’exécution d’un service la création et la suppression d’objets dans le domaine, en plus de leurs

Page 43: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

34

Chapitre 3 : Synthèse et étude comparative des approches de composition.

anciennes propriétés d’exécution dans un état et de changements des propriétés et des relations entre les objets.

La première approche consiste a implémenté deux algorithmes centralises pour calculer le plan solution fondés respectivement sur l’algorithme Tree-search et la méthode Graphplan.

Dans la deuxième approche l’auteur modélise le problème de composition comme un problème de planification distribuée multi-agents.

L’agent central diffuse la requête pour tous les agents. Chaque agent calcule son meilleur plan partiel local et l’envoie à l’agent central. Ensuite, l’agent central trie tous les plans partiels locaux en fonction du coût des leurs heuristiques, puis il les fusionne pour obtenir un plan partiel global qui sera exécuté dans l’état local du monde pour obtenir un nouvel état qui sera utilisé pour construire (avec l’état but) une nouvelle requête diffusé par l’agent central à tous les agents, et ainsi de suite jusqu’à atteindre le but ou un état d’échec.

Une autre contribution de son travail consiste à enrichir la solution par un processus de diagnostic et de réparation. Le but est de détecter les fautes pendant l’exécution de la composition, de calculer l’ensemble des états fautifs possibles et les réparer.

[Rao et al] dans [34] utilisent les preuves de théorèmes de la logique linéaire (Linear Logic (LL) theorem proving) pour le problème de la composition des services Web. Ils utilisent OWL- S pour la représentation externe de la description des services Web et de logique linéaire en interne pour représenteer les axiomes et les preuves ; les propriétés (fonctionnels et non - fonctionnels) de service sont représentés comme propositions dans la logique des axiomes. L'un des principaux avantages de l'utilisation de la logique linéaire est la possibilité de définir et distinguer les propriétés non - fonctionnels des services Web en traduisant les ServiceProfils de OWL- S aux axiomes de logique linéaire. Ils utilisent alors générateur de preuves(Linear Logic theorem prover) pour résoudre le problème de la composition des services Web : si l'objectif de l'utilisateur peut être atteint par la composition des services disponibles, le modèle de processus pour le service composé est automatiquement extrait de la preuve.

[Adrian et al] dans [35] présentent une approche de composition semi automatique. Dans leur approche proposée, la composition est faite d'une manière fractale (fractal manner) utilisant des chaînes de services Web existants qui peuvent facilement être incorporés dans des nouvelles chaînes de services Web. Tous les services sont gérés par des agents intelligents. Toutes les chaînes de service Web dans ce cadre sont décrites à l'aide du service Web Business Process Execution Language (WS-BPEL

Page 44: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

35

Chapitre 3 : Synthèse et étude comparative des approches de composition.

Dans cette approche les services web sont annotés sémantiquement, et les chaînes de services Web existants sont utilisées comme blocs de construction et combinés dans une manière fractale pour créer facilement des nouvelles chaînes plus complexes de services Web.

[Chan et al] dans [36] proposent une approche de composition des services web dynamique avec vérification en utilisant les réseaux de Petri, leur approche proposée est une approche semi-automatique. Leur méthode est basée sur deux langages standards de services Web qui sont WSDL et WSCI et compose les services Web avec les informations fournies par ces deux normes : WSDL décrit les points d’entrées pour chaque service disponible et WSCI (Interface Chorégraphie Web Service) décrit les interactions entre les opérations WSDL. Après la composition, la vérification se résume dans la modélisation du service Web en tant que réseau de Petri pour s'affranchir des éventuels interblocages.

[Talantikite et al] dans [37] proposent une approche automatique pour la découverte et la composition des services web sémantiques, dans laquelle un réseau d’interaction est crée ou les nœuds représentent les services web sémantiquement annotés en OWL-S et les liens d’interaction, appelés « liens de dépendance sémantique », sont calculés en utilisant les opérateurs de mise en correspondance sémantiques. Leur approche proposée donne plusieurs types de composition : en série, parallèle dépendante et parallèle indépendante. Sachant qu’ils cherchent avant tout à satisfaire les buts de la requête, ils proposent l’utilisation d’un algorithme de chaînage arrière à une passe pour l’exploration automatique du réseau sémantique de compositions. Une solution optimale est sélectionnée parmi l’ensemble des plans de compositions retournés selon des critères de qualité de service QoS.

[Gharzouli et al] [38] l’objectif principal de leur contribution est de fournir une solution distribuée basée sur des algorithmes épidémiques pour découvrir les services Web sémantiques dans les réseaux Peer-to-Peer (P2P). A partir d’un réseau purement non structuré, ils cherchent à composer un Web service qui répond à une requête particulière. Ce service peut être composé de plusieurs services appartenant à différents pairs afin de créer un espace collaboratif entre les différents pairs participants à la réalisation d’un but commun. Ils ont développé un algorithme épidémique qui permet de rechercher des services distribués sur tous les pairs du réseau afin de composer de nouveaux services personnalisés. Aussi, dans cette solution, ils utilisent une table distribuée dite table de composition pour préserver la description et la manière dont la composition des services Web est réalisée pour une éventuelle future réutilisation. Ils améliorent ce choix

Page 45: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

36

Chapitre 3 : Synthèse et étude comparative des approches de composition.

en ajoutant d'autres algorithmes qui assurent la cohérence des données de cette table.

[Y Chabeb] [30] l’auteur prose deux contributions dans le contexte de la description et la découverte de Services Web Sémantiques. La première contribution consiste à proposer un langage de description sémantique des services web nommé YAZAWSDL : Yet Another Semantic Annotation for WSDL (en plus court YASA), qui est une extension de SAWSDL en définissant deux types d’ontologies. Une première ontologie dite "ontologie technique" contenant des concepts définissant des sémantiques -fonctionnelles et/ou non fonctionnelles- de services et une deuxième ontologie dite "ontologie de domaine" contenant des concepts définissant les sémantiques métiers des services. La deuxième contribution consiste à proposer une approche de découverte sémantique basée sur un algorithme d’appariement et d’agrégation sémantiques. L’algorithme d’appariement offre des techniques d’appariement qui parcourt la plupart des éléments des deux services, requis et offert, avec un mécanisme d’appariement qui identifie précisément et fidèlement la similarité entre les éléments des deux services, requis et offert.

[Wang et al] [39] Les auteurs proposent une approche de composition des services Web qui surmonte le problème de l'exécution incertaine des effets de services composants, ce problème est dû au complexité et dynamicité des environnements d’applications, et cela peut provoquer des choix non déterministes dans les Workflow des compositions de services Web. Selon les auteurs ce problème a été largement ignoré dans les travaux précédents de la composition automatique de services Web qui reposent principalement sur des structures séquentielles, leur travail consiste a transformer des descriptions OWL-S en des formes Graphplan et étendent ce dernier (l’algorithme Graphplan) en ajoutant une nouvelle règle pour identifier les relations d'exclusion mutuelle, et en introduisant une nouvelle structure Branche (branch structure) pour modéliser les services avec des effets incertaines pour assurer une exécution correcte du service composé résultant.

[Bachtarzi et al] [40] proposent une algèbre expressive à base des réseaux de Petri orientés objet pour des compositions complexes de services Web. Leur approche se base sur une plate forme G-Net qui est une variante orientée objet des réseaux de Petri pour la composition des services Web. Bénéficiant de la modularité, le faible couplage, les aspects formels et la nature distribuée et orientée objet de G- Net, ils modélisent les services Web comme un système G-Net, ou chaque opération dans un service Web semble à une méthode G-Net et associer à cette dernière un morceau de

Page 46: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

37

Chapitre 3 : Synthèse et étude comparative des approches de composition.

réseaux de Petri dans la Structure Interne (IS) de G-Net. Ensuite ils développent une algèbre basée sur G-Net pour la composition des services Web. Les auteurs pensent que l'utilisation de cette plate forme (G- Net) fournit une approche rigoureuse pour vérifier les propriétés et la détection des incohérences entre les services Web.

[Belmabrouk et al] [41]Ils ont proposé un modèle basé sur multi-agent pour résoudre le problème de la composition des services Web. leur contribution consiste en la description de l'architecture fonctionnelle détaillée de chaque type d'agent utilisé dans leur prototype. Une présentation formelle de leurs critères a été introduite pour faciliter l'évaluation du plan optimal soit dans le cas d’un plan partiel ou dans le cas d'un plan globale. Pour valider leur modèle , un travail de simulation est en cours sous la plate-forme « NetLogo » où ils essayent de décomposer un problème de planification complexe "P" en N sous- problèmes élémentaires " Pi " pour trouver la solution optimale ,un agent type « PlanAgent » est responsable de : 1. Analyse de la requête de « User Agent » 2. La recherche d'un « ServiceAgent » capable de trouver une solution à la

requête Q. 3. Présentation de la solution optimale trouvée . 4. Si la solution optimale n’est pas ytouvée , le « PlanAgent » est

responsable de la décomposition du problème Q , en un ensemble de problèmes Qj que peut être résolus , séparément par « ServiceAgent »

5. « PlanAgent » sera alors responsable de la composition des solutions partielles proposées par les différents « ServiceAgent » impliqués. Différentes stratégies dans le domaine de l'intelligence artificielle peuvent être adoptées pour répondre à la requête Q initiale, dans ce cas, ce sont les algorithmes d’ordonnancement.

Page 47: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Technique de

composition

Sémantisation

Automatisation

Dynamicité

Lan

ga

ge

de

de

scri

pti

on

de

se

rvic

es

Liaison

des

services

outils Categorie QoS

Sy

nta

xiq

ue

sém

an

tiq

ue

ma

nu

ell

e

Se

mi

au

tom

ati

qu

e

au

tom

ati

qu

e

sta

tiq

ue

dy

na

miq

ue

ex

écu

tio

n

con

cep

tio

n

[El_Falou] ���� ���� ���� OWL-S ���� Planification, SMA Intelligence artificielle

(Planification)

[Rao et al] ���� ���� ���� OWL-S ���� Logique linéaire Intelligence artificielle

(theorem proving)

[Adrian et al] ���� ���� ���� OWL-S ���� fractal manner Intelligence artificielle

(Planification) ����

[Chan et al] ���� ���� ���� WSDL-WSCI ���� Réseaux de Petri Réseaux de petri ����

[Talantikite et al] ���� ���� ���� OWL-S ����

algorithme de

chaînage arrière à

une passe

����

[Gharzouli et al] ���� ���� ���� OWL-S ���� algorithmes

épidémiques

[Y Chabeb] ���� ���� ����

SAWSDL

(YAZA

WSDL)

����

algorithme

d’appariement

(similarité

sémantique)

����

[Wang et al] ���� ���� ���� OWL-S ���� Graphplan Intelligence artificielle

(Planification)

[Bachtarzi et al] ���� ���� ����

réseaux de Petri

orientés objet (G-

Net)

Réseaux de petri

[Belmabrouk et

al]

���� ���� ���� ���� Planification, SMA Intelligence artificielle ����

Ch

ap

itre

3 :

Syn

thè

se e

t é

tud

e c

om

pa

rati

ve

de

s a

pp

roch

es

de

co

mp

osi

tio

n.

Tab 3.1: Tableau comparatif des travaux de composition des services Web.

38

Page 48: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

39

Chapitre 3 : Synthèse et étude comparative des approches de composition.

4. Conclusion :

Dans ce chapitre, nous avons présenté une synthèse de certaines méthodes et approches existantes de composition des services Web et de les comparer par rapport à certaines critères clés en dressant un tableau récapitulatif de la comparaison.

Page 49: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Conclusion générale

40

L’adoption de l’architecture orientée service (SOA) comme modèle de développement favorise l’interopérabilité, aussi bien celle entre utilisateur et le service que celle entre les services, ainsi que les services Web qui combinent les avantages de ce modèle avec les langages et technologies développés pour Internet. Notamment, la composition des services Web est considérée comme un atout majeur, qui permet de répondre à des requêtes complexes en combinant les fonctionnalités de plusieurs services au sein d’un processus personnalisé.

Dans ce contexte, notre étude de la composition des services Web et ces concepts relatifs nous a permet de constater que :

- L’introduction de la sémantique dans la description des services Web est devenue une nécessité, et cela en utilisant de plus en plus des ontologies pour fournir des descriptions plus expressives.

- Les travaux de recherche menés sur la description de services Web se concentre d’un coté sur l’automatisation et la dynamicité de la solution et d’un autre coté sur l’analyse d’aspects non fonctionnels (QoS) de la composition des services Web.

Nous avons aussi remarqué en citant quelques travaux réalisés dans la littérature, que le problème de la prise en compte des propriétés non fonctionnelles tel que la qualité de service (QoS) dans composition des services Web à pris un grand intérêt dans cet axe de recherche.

Page 50: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Bibliographie

[1] Aymen BAOUAB, « Gouvernance et supervision décentralisée des chorégraphies inter-organisationnelles », thèse de doctorat, université de Lorraine, 2013, p20.

[2] Christophe Dumez, « Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre de services Web composés », thèse de doctorat, université de Technologie de Belfort-Montbéliard, p12.

[3] Francisco Curbera, William A. Nagy and Sanjiva Weerawarana, “Web Services: Why and How”, IBM T.J. Watson Research Center, 2001.

[4] Emine Ulukütük, « SOA : L’utilité organisationnelle, technique et financière de l’architecture orientée service », mémoire de Bachelor, Université de Fribourg, Suisse, 2013, p38.

[5] ERL, Thomas. “Soa: principles of service design”. Upper Saddle River : Prentice Hall, 2008.

[6] Chantal Cherifi, « Classification et Composition des services Web : Une Perspective réseaux Complexes », Web, thèse de doctorat, Université Pascal Paoli, 2011, p8.

[7] Dustdar S, Schreiner W. ‘A survey on web services composition’, Int. J. Web and Grid Services, 2005, Vol. 1, No. 1, p 2.

[8] CRISTINA MARIN, « Une approche orientée domaine pour la composition des services », thèse de doctorat, Université JOSEPH FOURIER GRENOBLE I, 2008, p19.

[9] Mohamad El Falou, « Contributions à la composition dynamique de services fondée sur des techniques de planification et diagnostic multi-agents », thèse de doctorat, université de Caen, 2010.

[10] Céline Lopez-Velasco. « Sélection et composition des services Web pour la génération d'applications adaptées au contexte d'utilisation. Informatique ». thèse de doctorat, Université Joseph-Fourier- Grenoble I, 2008.

Page 51: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Bibliographie

[11] Zahir Tari, Peter Bertok, Anshuman Mukherjee, “Verification of communication protocols in web services: model-checking service compositions, Wiley series on parallel and distributed computing, p58.

[12] Abderrahmane Maaradji, Hakim Hacid, Johann Daigremont and Noel Crespi, « Composition des services Web Basée sur les Réseau Sociaux », Conférence Internationale Francophone sur l'Extraction et la Gestion des Connaissances, Tunisie, 2010.

[13] Rao J and Su X. ‘A survey of automated Web service composition methods’, Proceedings of the First International Workshop on Semantic Web Services and Web Process Composition, California, USA: Springer, 2004.

[14] M. Fluegge, I. J. G. Santos, N. P. Tizzo, and E. R. M. Madeira, “Challenges and techniques on the road to dynamically compose Web services,", Proceedings of the 6th international conference on Web engineering, (New York, USA), ACM, 2006.

[15] Abrehet Mohammed Omer, “A framework for Automatic Web Service Composition based on service dependency analysis”, thèse de doctorat, Technical University of Dresden Germany, Avril 2011.

[16] Tuo Zhang, « Vers une médiation de composition dynamique de Services Web dans des environnements ubiquitaires », Université Paris-Nord – Paris13, 2014.

[17] Elie ABI LAHOUD, « Composition dynamique de services : application à la conception et au développement de systémes d'information dans un environnement distribué », thèse de doctorat, université de BOURGOGNE,2010.

[18] Rachid Hamadi, Boualem Benatallah, “A Petri Net-based Model for Web Service Composition”, Australasian database conference, 2003. pp 191-200.

[19] Howard Foster, Sebastian Uchitel, Jelf Magee, and Jelf Kramer, “Compatibility verification for web service choreography”, In ICWS '04 : Proceedings of the IEEE International Conference on Web Services, IEEE Computer Society, Washington DC USA, 2004.

Page 52: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Bibliographie

[20] Shirin Sohrabi, “CUSTOMIZING THE COMPOSITION OF WEB SERVICES AND BEYOND”, thèse de doctorat, université de Toronto, 2012.

[21] D. Wu, B. Parsia, E. Sirin, J. Hendler, and D. Nau. Automating DAML ‐S web services composition using SHOP2. In ISWC’03 ,2003.

[22] E. Sirin, and B. Parsia. “Planning for semantic web services”. In Proc of Semantic Web Services Workshop at 3rd International Semantic Web Conference, 2004.

[23] Sheila Mcilraith, “Adapting golog for composition of semantic Web services”, in: International Conference on Knowledge Representation and Reasoning (KR’02), 2002, p 482–493.

[24] B. Medjahed, A. Bouguettaya, and A. K. Elmagarmid,. « Composing web services on the semantic web ». The VLDB Journal, 12: 2003, pp333–351.

[25] WALDINGER, Richard. “Web agents cooperating deductively. In : Formal Approaches to Agent-Based Systems”. Springer Berlin Heidelberg, 2000. p. 250-262.

[26] I.Muller, and R. Kowalczik. Service composition through agent‐based coalition formation. In Proc of WWW Service composition with Semantic Web Services, Compiegne, France, Septembre 2005, pp 34-43.

[27] Furkh Zeshan and Radziah Mohamad, "Semantic Web Service Composition Approaches: Overview and Limitations," International Journal on New Computer Architectures and Their Applications, 2011, pp640-651.

[28] Lécué, F. “Optimizing QoS-aware semantic Web service composition”. In Proceedings of the 8th International Semantic Web Conference (ISWC), 2009. pp 375–391.

[29] Fensel,D. , Lausen,H. , Polleres,A. , Bruijn , J. , Stollberg ,M. , Roman D. , AND Domingue , J., « Enabling Semantic Web Services ». Springer, 2007.

Page 53: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Bibliographie

[30] Yassin CHABEB, «Contributions à la Description et la Découverte de Services Web Sémantiques », thèse de doctorat, Université d’Evry-Val d’Essonne, 2011.

[31] OULD AHMED M'BARECK, Nomane. Une approche sémantique pour la description, l'abstraction et l'interconnexion de Workflows dans un contexte inter-organisationnel, Thèse de doctorat, Université d’Évry Val d’Essonne, 2008.

[32] Sayed G. Hassan Tabatabaei, Wan M. Nasir Wan Kadir, Suhaimi Ibrahim, « A Review of Web Service Composition Approaches ».

[33] Dumitru Roman, Uwe Keller, Holger Lausen, Jos de Bruijn, Rubén Lara, Michael Stollberg, Axel Polleres, Cristina Feier, Cristoph Bussler and Dieter Fensel, "Web service modeling ontology." Applied ontology 1.1, 2005, pp77-106.

[34] Rao, J., K¨ungas, P., and Matskin, M. “Logic-based Web services composition: From service description to process model”. In Proceedings of the IEEE International Conference on Web Services (ICWS), 2004, page 446.

[35] Cotfas Liviu Adrian, Diosteanu Andreea, and Smeureanu Ion, "Fractal Web Service Composition Framework" in Communications (COMM), 8th International Conference, Bucharest, 2010, pp. 405 - 408.

[36] Pat. P. W. Chan and Michael R. Lyu, "Dynamic Web Service Composition: A New Approach in Building Reliable Web Service." 22nd International Conference on Advanced Information Networking and Applications, Okinawa, 2008, pp. 20 - 25.

[37] TALANTIKITE, Hassina Nacer; AISSANI, Djamil; BOUDJLIDA, Nacer. “Semantic annotations for web services discovery and composition”. Computer Standards & Interfaces, 2009, 31.6: pp1108-1117.

[38] M Gharzouli et M Boufaida, «PM4SWS: A P2P Model for Semantic Web Services Discovery and Composition », JOURNAL OF ADVANCES IN INFORMATION TECHNOLOGY, VOL. 2, NO. 1, FEBRUARY 2011.

Page 54: Composition de s services Web : Etat de l’artDepuis l'apparition de l’Architecture Orientée Services (SOA) et son implémentation avec la technologie des services Web, La combinaison

Bibliographie

[39] Wang, P, Ding, Z, Jiang, C, Zhou, M, and Zheng, Y. « Automatic web service composition based on uncertainty execution effects ».2015.

[40] BACHTARZI, Faycal; CHEMAA, Sofiane; CHAOUI, Allaoua. A G-Net based approach for Web service composition. In: Innovation in Information & Communication Technology (ISIICT), 2011 Fourth International Symposium on. IEEE, 2011. p. 19-24.

[41] BELMABROUK, Karima; BENDELLA, Fatima; BOUZID, Maroua. « Multi-Agent Based Model for Web Service Composition ». International Journal of Advanced Computer Science & Applications, 2016, pp144-150