1. DÉCOUVERTE &
COMPOSITION DE SERVICES
Limitations des technologies existantes
L’apport du Web sémantique
La recherche en découverte de services
La recherche en composition de services
2. Le Monde SOA
Découverte
• Découverte des services disponibles
Sélection
• Sélection du service qui correspond au
mieux à la demande
Exécution
• Exécution du service sélectionné
18/01/2023 2
Annuaire
Fournisseur
Client
SOA Keywords
Interoperability,
Lose coupling …
3. Limitations
• Description de services
• La description reste uniquement fonctionnelle
• Les aspects non-fonctionnels restent absents
• Exemples des propriétés non-fonctionnels :
• Indication de prix (coûts), temps de réponse…
• QoS = Quality of Service
• Problèmes lors de la sélection des services
• Comment choisir parmi 2 services équivalents ?
18/01/2023 Manuele Kirsch Pinheiro - CRI/UP1 - mkirschpin@univ-paris1.fr 3
4. Description des services
• La description WSDL contient les éléments
nécessaires à la publication et à l’interaction
client-service
• Versions WSDL (W3C) : 1.1 et 2.0
• Description en 2 niveaux
• Abstrait : informations permettant la sélection
• Concret : informations permettant l’accès
• Aspects fonctionnels d’un service
• Opérations (méthodes) abstrait
• Donnés et messages échangés abstrait
• Protocoles et ports d’accès concret
18/01/2023 4
7. Services & Web Sémantique
• Application aux services Web :
• Services Web sémantiques
• Ajout d’une dimension sémantique aux services
• Description complémentaire du fournisseur, des
objectifs du service Web…
• Découverte et sélection automatique des
services par des machines ou d’autres services
18/01/2023 7
8. Services & Web Sémantique
• Objectifs du Web Sémantique :
• Définir et lier sémantiquement les ressources Web
afin de simplifier leur utilisation et leur découverte
[Berners-Lee 2001]
• Fournir l’accès aux ressources Web par des
descriptions sémantiques exploitables et
compréhensibles par des machines
• Apport du Web Sémantique aux services :
• Description des services utilisant la représentation de
connaissances
• Ontologies & raisonnement
• Inclusion des aspects non-fonctionnels
18/01/2023 8
9. Services & Web Sémantique
• Langages de description
• OWL-S (Ontology Web Language for Services)
• Origines sur le langage DAML-S (DARPA Agent Markup
Language Service)
• SAWSDL (Semantic Annotations for WSDL and XML
Schema)
• Origines sur le langage WSDL-S (Web Service Description
Language – Semantic)
• WSMF (Web Service Modeling Framework)
• WSMO (Web Service Modeling Ontology)
• WSML (Web Service Modeling Langage)
18/01/2023 9
10. Services & Web Sémantique
• OLW-S
• Objectifs : description, découverte, invocation et
composition automatiques
• Éléments
• Profile
description
• Grounding
communication
• Model
composition
18/01/2023 10
Source : Marin 2004
12. Services & Web Sémantique
• SAWSDL
• Objectifs : ajouter de la sémantique à la description
WSDL
• Annotations reposant sur
• La définition d’attributs étendant le standard
• Les éléments de la description WSDL 2.0
• Utilisation d’ontologies préexistantes
18/01/2023 12
14. Services & Web Sémantique
• WSMF (Web Service Modeling Framework)
• WSMO (Web Service Modeling Ontology)
• Meta-modèle en 4 axes : ontologies, goals,
mediators, web services
• Ontologies : définition de la terminologie
• Web services : description des services en termes de leur
fonctionnalités, pré/post-conditions et interface
• Mediators : médiateurs pour des problèmes
d’interopérabilité
• Goals : objectifs qu’un client peut avoir lorsqu’il consulte le
service
18/01/2023 Manuele Kirsch Pinheiro - CRI/UP1 - mkirschpin@univ-paris1.fr 14
15. Services & Web Sémantique
• WSMF (Web Service Modeling Framework)
• WSML (Web Service Modeling Langage)
• Description logique d’un service (ou d’un de ses éléments) à
l’aide des concepts de WSMO
18/01/2023 Manuele Kirsch Pinheiro - CRI/UP1 - mkirschpin@univ-paris1.fr 15
<!ENTITY ex ”http://www.example.org/ontologies/example#”>
<!ENTITY wsml ”http://www.wsmo.org/wsml/wsml−syntax#”>
<wsml xmlns=”&wsml;”
variant =”http://www.wsmo.org/wsml/wsml−syntax/wsml−flight”>
<importsOntology>
http://www.wsmo.org/ontologies/location </importsOntology>
<concept name=”&ex;Person”>
<nonFunctionalProperties> [..] </nonFunctionalProperties>
<attribute name=”&ex;hasName” type=”constraining”>
<range>&wsml;string</range>
<maxCardinality>1</maxCardinality> </attribute>
[..] </concept>
[..] </wsml> Source : de Bruijn, 2006
16. Découverte de services
• Retrouver le service qui convient au mieux à la
demande du client
• Multiples approches disponibles
• Web Sémantique en point commun
• Description sémantique de services
• Raisonnement à partir des ontologies
• Différents critères de sélection
• Aspects fonctionnels (opérations, inputs et outputs)
• Aspects non-fonctionnels
• Qualité de Service (QoS)
• Contexte (context-aware services)
18/01/2023 Manuele Kirsch Pinheiro - CRI/UP1 - mkirschpin@univ-paris1.fr 16
17. Découverte de services
• Exemples d’approche :
• Paolucci et al. (2002)
• Description de services en DAML-S (à l’origine de OWL-S)
• Match sémantique entre input/output demandés et input/output
offertes par le service
• quatre degrés de mise en correspondance
• Exact : si le concept demandé correspond exactement au concept
proposé
• Plug-In : si le concept proposé subsume le concept requis
• Subsume : si le concept demandé subsume le concept proposé
• Fail : s’il n’y a aucune relation entre les deux concepts.
18/01/2023 Manuele Kirsch Pinheiro - CRI/UP1 - mkirschpin@univ-paris1.fr 17
18. Découverte de services
• Exemples d’approche :
• Klusch et al. 2006
• Matching hybride entre raisonnement sur l’ontologie
(subsumption) et de mesures de similarité
• Comparaison entre les inputs / outputs d’un service et ceux
demandés
• A partir des descriptions OWL-S (disponible aussi sur d’autres
langages)
• Reiff-Marganic et al. 2007
• Matching sémantique à partir des propriétés non-fonctionnelles
• A partir du framework WSMF (WSMO)
18/01/2023 Manuele Kirsch Pinheiro - CRI/UP1 - mkirschpin@univ-paris1.fr 18
19. Composition des services
• Pour atteindre un objectif, il faut combiner les
fonctionnalités de plusieurs services
• Articulation de différents services élémentaires
(composant)
• Un service comme un processus
• Chaque tâche est remplie par un service composant
18/01/2023 19
20. Composition des services
• Types de composition
• Orchestration et chorégraphie
18/01/2023 20
Source : Peltz 2003
21. Composition des services
• Orchestration
• Ensemble de processus exécutés dans un ordre
prédéfini [Barros 2005]
• L’invocation centralisée : un moteur d’exécution gère
l’enchaînement des services
• Contrôle par le chef d’orchestre
• Les Web services composants sont indépendants
• Partenariat « point-à-point »
• Flux d’activités à gérer entre les Web services
• L’identification des messages et la spécification de la logique et
des séquences d’invocation sont prédéfinies
18/01/2023 21
22. Composition des services
• Chorégraphie
• Web Services Choreography Working Group
(www.w3.org/2002/ws/chor)
• Mise en œuvre d’un ensemble de services Web afin
d’accomplir un but commun [Barros 2005]
• Logique de contrôle supervisée par chacun des services
• Communication inter-service par l’échange de messages
• Contrôle distribué entre les participants
• Fortement asynchrone
• Contrôle par règles et événements
18/01/2023 22
23. Composition des services
• Chorégraphie
• Collaboration entre un ensemble de services et leurs
clients
• Description d’un contrat multi-parties décrivant le
comportement externe observable
• Chaque service découvre celui qui lui succède
• Les services ont connaissance de leur participation à l’équipe
• Exécution et contrôle distribués
• Composition dynamique [Peltz 2003]
• À chaque étape de la composition, un service Web sélectionne celui
qui lui succède
18/01/2023 23
24. Composition des services
• Les langages de composition
• BPEL4WS / WS-BPEL
• WS-CDL
• OWL-S
18/01/2023 24
25. Composition des services
• WS-BPEL ou BPEL4WS (Business Process
Execution Language for Web Services)
• BPEL4WS (version 1) renommé WS-BPEL (version 2)
• Proposition de l’industrie (IBM, BEA, SAP, Siebel,
Microsoft)
• Langage conçu pour supporter les processus métier à
travers les services Web
• Langage basé sur les workflows
• Définition d’un processus dans lequel les activités sont les
services Web
• Activités séquentielles ou parallèles
18/01/2023 25
26. Composition des services
• BPEL4WS distingue 2 types de processus :
• Processus abstracts
• Spécification du comportement des partenaires par rapport aux
messages échangés
• Le processus abstrait peut être relié à une chorégraphie
• Processus exécutable
• Spécification de l’ordre d’exécution des activités, des partenaires
concernés, des messages échangés…
• Moteur d’orchestration
18/01/2023 26
29. Composition des services
• WS-CDL (Web Service Choreography
Description Language)
• Proposition W3C (WS Choreography Working Group)
• Description des relations entre les services
• “Web Services Choreography specification is targeted for
composing interoperable, peer-to-peer collaborations
between any type of participant regardless of the supporting
platform or programming model used by the implementation of the
hosting environment”
18/01/2023 29
30. Composition des services
• WS-CDL
• WS-CDL complète la description WSDL des
services afin de décrire leurs interactions lors
d’une composition
• Comportement de chaque participant est lié à une interface
(description WSDL)
• Pas de sémantique incluse
• Éléments :
• Chaque participant est associé à un rôle
• Les relations sont établies entre les rôles
• Flots de contrôle : séquence, parallèle et choix
• Pré-conditions et répétitions d’une activité sont permises
18/01/2023 30
31. Composition des services
• OWL-S pour la composition
• Élément Service Model
• Fonctionnement du service et composition de services
• Description de la tâche qui propose le service au sein de la
composition
• Trois types de processus
• Atomique : service de base invoqué par le grounding
• Simple : représentation simplifié (transparent)
• Composé :
• Processus composant est décomposé en processus
simples
• Gestion de l’invocation par des commandes de
contrôle (sequence ou repeat)
18/01/2023 31
33. Composition des services
• Problèmes propres à la composition
• Description des processus et des composants
• Mise en œuvre d’une composition dynamique
• Sélection des composants
• Implémentation des interactions entre les services
• Compensation de services
• Contrôle de l’exécution
• Et beaucoup plus encore… ;-)
18/01/2023 33
34. Composition des services
• Plusieurs travaux de recherche s’intéressent à
ceux problèmes
• Exemple : Sélection des services pour une
composition optimale selon leur QoS (coût, temps
d’exécution, disponibilité et réputation) [Claro 2005]
18/01/2023 34
35. Composition des services
• Des plateformes propres à la composition (du
design à l’exécution) ont été proposées
• Exemples
• SELF-Serv [Benatallah2003] : orchestration et
compensation
• METEOR-S [Aggarwal2004] : orchestration, description
sémantique
• IRS-III [Cabral2006] : orchestration (par workflow) et
chorégraphie (par règles de chaînage)
18/01/2023 35
36. Composition des services
• Différentes propositions
• Description des processus et des composants
• Mise en œuvre d’une composition dynamique
• Compensation de services & le traitement d’exceptions
• À remarquer :
• Travaux liés à la découverte de services
• Description sémantique des services
• Usage de workflow
18/01/2023 36
37. Références
• Aggarwal, R., Verma, K., Miller, J., Milnor, W. Constraint Driven Web Service
Composition in METEOR-S. In: Procs of the IEEE International Conference on
Services Computing (SCC’04), Sept. 2004, Shanghai, China. IEEE Computer
Society, 2004, pp.23-30.
• Barros, A., Dumas, M., Oaks, P. A Critical Overview of the Web Services
Choreography Description Language. Business Process Trends White Paper [en
ligne], 2005.
• Berners-Lee, T., Hendler, J., Lassila, O. The Semantic Web. In: Scientific
Americain, 2001.
• Benatallah, B., Dumas, M., Fauvet, M.-C., Rabhi, F.A., Sheng, Q.Z. Overview of
Some Patterns for Architecting and Managing Composite Web Services. ACM
SIGecom Exchanges, 2002, vol.3, n°3, pp.9-16.
• de Bruijn, J., Lausen, H., Polleres, A. Fensel, D. The Web service modeling
language WSML: An overview. ESWC 2006, http://www.wsmo.org/wsml/wsml-
resources/wsml-eswc2006-handouts.pdf (visite Jan 2013)
• Cabral, L., Domingue, J., Galizia, S., Gugliotta, A., Tanasescu, V., Pedrinaci, C.,
Norton, B. IRS-III: A Broker for Semantic Web Services Based Applications. In:
Procs of the 5th International Semantic Web Conference (ISWC 2006), Nov. 2006,
Athens, GA, USA. LNCS Springer, 2006, pp.201-214.
18/01/2023 Manuele Kirsch Pinheiro - CRI/UP1 - mkirschpin@univ-paris1.fr 37
38. Références
• Claro D., Albers P., Hao J. Selecting Web Services for Optimal Composition.
In: Procs of the 3rd International Conference on Web Services (ICWS 2005),
2nd International Workshop on Semantic and Dynamic Web Processes,
Orlando, Florida, USA, July 2005, pp.32-45.
• Fensel, D., Facca, F.M., Simperl, E., Toma, I. Semantic Web services,
Springer, 2011.
• Klusch, M.; Fries, B. & Sycara, K., Automated semantic web service
discovery with OWLS-MX, 5th Int. conference on Autonomous Agents and
MultiAgent Systems (AAMAS '06), ACM, 2006, 915-922
• Lopez-velasco, C. Sélection et composition de services Web pour la
génération d’applications adaptées au contexte d’utilisation, Université
Joseph Fourier (Grenoble I), 2008
• Martin, D., Burstein, M., Hobbs, J., Lassila, O. et al. OWL-S: Semantic
Markup for Web Services. W3C Member Submission, 2004.
http://www.w3.org/Submission/OWL-S (visite Jan 2013)
• Peltz, C. Web Services Orchestration and Choreography, SOA World
Magazine, June 17, 2003, http://soa.sys-con.com/node/39800
• Reiff-Marganiec, S., Qing Yu, H., Tilly, M., Service Selection based on Non-
Functional Properties, NFPSLA-SOC07 Workshop, ICSOC2007, 2007.
18/01/2023 38