Vous êtes sur la page 1sur 49

18/10/2023

1 Master Réseaux et Telecommunication

Université Ibn Khaldoun - Tiaret


Faculté des Sciences et de la Technologie
et Sciences de la Matière
Département Informatique et Mathématique

Module : Services Web

Les services Web


Tour d’horizon

Mr. BOUDAA Boudjemaa


Maître de Conférences

Année Universitaire: 2023 / 2024

Plan

Introduction
Cours1: Web Services
Cours2: Technologie des Services Web
Cours3: Composition des Services Web
Cours4: Services Web Sémantiques
Conclusion

Master 1 RT: 2023-2024 2

1
18/10/2023

Introduction
L’informatique distribuée (distributed computing) .. un vieux rêve

Une application distribuée est définie par un ensemble de


composants
- Collaborent pour l’exécution de tâches communes
- Distants géographiquement
- Interconnectés via un réseau de communication
- Hétérogènes

Technologies qui ont fait leur preuve :


DCOM, CORBA, EJB, RMI, .Net Remoting, …
Faiblesses de ces solutions

- Format de représentation données spécifiques


- Interopérabilité si les composants utilisent la même solution
- Protocole de transport spécifique nécessite une configuration réseau
Les technologies (CORBA, RMI, DCOM…) restent confinées à l’intérieur des
entreprises (réseaux fermés)
Master 1 RT: 2023-2024 3

Introduction

Ce qu’on a besoin?:

Une nouvelle technologie supporte:

- Multi-Langages de programmation : Java, C#, Perl, Python...


- Multi-Plateformes : .NET , J2EE , Php,…
- Multi-Systèmes d’exploitation: Windows, Unix, Solaris,…
- Format de données connu par tout le monde (texte, par exemple)
- Protocole de transport général (http, par exemple)

La nécessité d’une nouvelle technologie d’applications distribuées


fonctionnant dans un réseau ouvert (Internet)
Master 1 RT: 2023-2024 4

2
18/10/2023

Technologie des Services Web


Evolution des applications distribuées

Master 1 RT: 2023-2024 5

Technologie des Services Web


Service Oriented Architecture(SOA)
SOA est l’acronyme de Service Oriented Architecture qui est traduis comme « Architecture
Orientée Service » qui consiste à exposer les applications sous forme de services
Un Service est un composant logiciel distribué, exposant les fonctionnalités à forte valeur
ajoutée d’un domaine métier » [XEBIA BLOG : 2009]
Le Service (ou Composant) désigne le fondement de ce modèle d’interaction entre
applications
Le paradigme SOA :
- 03 modules: Consommateur, Annuaire et Fournisseur de services
- 03 phases(actions): Chercher, Publier et Consommer

Master 1 RT: 2023-2024 6

3
18/10/2023

Technologie des Services Web

Client /Serveur Versus SOA

Master 1 RT: 2023-2024 7

Technologie des Services Web

Applications Web Versus SOA

Master 1 RT: 2023-2024 8

4
18/10/2023

Technologie des Services Web


SOA et les service Web ?

Plusieurs solutions technologiques sont adaptées pour développer une


architecture orientée service:
- Web Services (solution la plus courante)
- Framework OSGi, …

Un point sur OSGi (Open Service Gateway Initiative)


- Spécification définie par l’OSGi Alliance (http://www.osgi.org)
- Longtemps exploité dans le monde de l’embarqué, utilisé dans les
serveurs (GlassFish 3, Spring DM)

Les Services viennent comme une solution technologique de l’architecture


Orientée Service (SOA)
Master 1 RT: 2023-2024 9

Technologie des Services Web


Vers les services Web

Standard Connectivité Présentation Programmabilité

Parcourir
le Web
Programmer
le Web
Les services Web .. une révolution plus qu’une évolution (selon certains chercheurs)
Master 1 RT: 2023-2024 10

5
18/10/2023

Technologie des Services Web


C’est quoi un service Web ?
 Application accessible et invocable par d’autres applications (utilisateurs)
Requête: Donner les
prévisions météorologiques
Client pour le code postal 14000 Serveur
Utilisateur
ou Service Web
Application
Réponse: Ensoleillé, Peu
nuageux - Comment le trouver ?
- Quel est le protocole de
communication ?
- Quels sont les méthodes
à appeler?
-…

(www.webservices.org pour plus de définitions/illustrations/exemples)


Master 1 RT: 2023-2024 11

Technologie des Services Web


Définition
« A Web Service is a software system identified by a URI, whose public interfaces
and bindings are defined and described using XML. Its definition can be discovered
by other software systems. These systems may then interact with the Web Service
in a manner prescribed by its definition, using XML based messages conveyed by
Internet protocols». http://www.w3.org/TR/2004/NOTE-wsa-reqs-20040211/

Caractéristiques
Cette définition définit un service Web comme étant une application ou un
composant logiciel ayant les caractéristiques suivantes:

Identification par URI;


Description en XML;
Découverte par d’autres services Web;
Interactions faiblement couplées (loosely-coupled) avec d’autres services :
Différents: systèmes d’exploitations, plateformes et langages.
XML et protocoles Internet (HTTP, FTP, SMTP,…).

Les services Web permettent l’interopérabilité(la communication et l’interfonctionnement)


entres les systèmes d’informations et facilitent l’intégration de leurs applications

Master 1 RT: 2023-2024 12

6
18/10/2023

Technologie des Services Web

Les Web Services sont basés sur les protocoles et les langages du Web:
- HTTP, XML, TCP/IP pour la couche réseau
- Ne nécessite pas une configuration réseau particulière

Les Web Services sont auto-suffisants puisqu’ils contient toutes les


informations à leurs utilisations:

- Chercher, publier et consommer


- Annuaire, contrat de fonctionnement et un client pour les consommer

Les Web Services sont définis par des standards OASIS, W3C, WS-I et IETF

Master 1 RT: 2023-2024 13

Technologie des Services Web


Technologie des services Web: Deux Types

Il existe plusieurs types technologiques derrière le terme services web :

Les Services Web WS-* (services Web étendus) exposent ces mêmes
fonctionnalités sous la forme de services exécutables à distance. Leurs
spécifications reposent sur les standards UDDI/SOAP et WSDL:
- Annuaire de Web Services : UDDI
- Contrat : WSDL
- Consommer : SOAP
Les services web de type Representational state transfer (REST) exposent
entièrement ces fonctionnalités comme un ensemble de ressources (URI)
identifiables et accessibles par la syntaxe et la sémantique du
protocole HTTP et ses méthodes (POST, GET, PUT et DELETE) . Les
Services Web de type REST sont donc basés sur l'architecture du web et
ses standards de base : HTTP et URI.

Master 1 RT: 2023-2024 14

7
18/10/2023

Technologie des Services Web


Services Web étendus (WS-*)

Master 1 RT: 2023-2024 15

Technologie des Services Web


Architecture selon SOA & Fonctionnement
Annuaire de services Web
(UDDI, ebXML)

Description WSDL

Découverte Publication
des services des services

Messages Description WSDL

avec SOAP
Applications
clientes
Service Web

Invocation
Utilisateur de services Web des services Fournisseur de services Web

 Standards
 WSDL: Web Services Description Language (Description/Contract)
 SOAP: Simple Object Access Protocol (Communication)
 UDDI: Universal Description Discovery and Integration (Publication & Découverte)

(exemples d’annuaire: http://uddi.xml.org/uddi-org, www.strikeiron.com, www.ebxml.org)


Ecole Doctorale STIC option SIC 16

8
18/10/2023

Technologie des Services Web


Fonctionnement

Les étapes nécessaires à l’accès et à l’invocation (utilisation) d’un service


Web selon l’architecture SOA présentée dans Figure précédente sont les
suivantes :
Publier le service : Le fournisseur de service déploie et publie la
description WSDL de son service dans des registres (annuaires) en vue
d’être localisé par des clients;
Découvrir le service : Un client ayant des besoins spécifiques va
rechercher le service correspondant à ses besoins à l’aide d’un annuaire
spécialisé UDDI (ou autre tel que ebXML) en spécifiant les critères.
Récupérer la description du service : le client reçoit en réponse à
sa requête un document WSDL décrivant le service dont il a besoin.
Invoquer le service : sur la base des informations définies dans la
description du service, une communication entre le client et le service
Web se fait via le protocole SOAP. Le client appelle le service Web en
précisant les paramètres divers de ce dernier.
Recevoir la réponse : Le client reçoit une réponse à sa demande.

Master 1 RT: 2023-2024 17

Technologie des Services Web


SOAP: Simple Object Access Protocol (Communication)

Master 1 RT: 2023-2024 18

9
18/10/2023

Technologie des Services Web


WSDL: Web Services Description Language (Description/Contract)
Définition : elle contient le nom du service qui est décrit
dans le document ainsi que les namespaces utilisés. Il Définition WSDL
s’agit de l’élément « Root » du document.
Types : il s’agit de la définition des types de données qui Partie Abstraite
seront utilisés dans les messages. On y trouvera donc par Types
exemple des schémas XML. Messages
Messages: il s’agit d’une description de la structure des PortTypes
messages qui seront échangés. On y retrouve deux types Opérations
de messages : les messages entrants et les messages
sortants. Chaque message peut être composé de
plusieurs parties décrivant les différents paramètres de
ces derniers.
PortTypes : il s’agit d’un ensemble d’opérations, Partie Concrète
chacune se référant à un message entrant et sortant.
Opérations : description d’une des actions supportées Bindings
par le service Web. Une opération reçoit des messages et Service
envoie des messages.
Bindings : ils spécifient quels protocoles seront utilisés.
Service : il s’agit des informations permettant la
localisation du service. Structure d’une description WSDL

Master 1 RT: 2023-2024 19

Technologie des Services Web


UDDI: Universal Description, Discovery and Integration(Publication & Découverte)
 L’entité Business (BusinessEntity) :
contient les informations concernant BusinessEntity
l’entreprise incluant son nom, sa Name
description, son adresse ainsi que les Contacts
informations de contact; il s’agit donc de Description
Business services
l’équivalent des pages blanches. Identifier
 L’entité Service (BusinessService) : cet Categories
élément décrit les services Web associés à BusinessService (1..n)
l’entité business correspondante; il contient Name tModel
Contacts Name
le nom, la description ainsi qu’une liste Contacts
Description
(optionnelle) de BindingTemplates; il s’agit Binding template Description
donc de l’équivalent des pages jaunes. Categories OverviewDoc
 L’entité modèle de liaison BindingTemplate Identifiers
(1..n) Categories
(BindingTemplate) : il décrit les
Description
informations techniques permettant de Address
savoir où et comment accéder au service Detailed info
Web; il est donc ici question des pages References to
vertes. tModels
 L’entité modèle technique (tModel) : il
décrit les spécifications d’un service Web. WSDL
Il contiendra donc une référence vers un document
fichier de description, généralement un
Entrée d’un annuaire UDDI
document WSDL.
Master 1 RT: 2023-2024 20

10
18/10/2023

Technologie des Services Web


Plateformes de développement
La grande majorité des plateformes de développements fournissent le
support de Web Services (outils et APIs)
- Plateforme .NET (Visual Studio,…)
- Plateforme Java (Eclipse, Netbeans, …)
- Plateforme PHP, C++, Python, …
La plateforme Java (J2EE)
Un ensemble d'outils et d'API qui permettent de faciliter le développement des
services web et des applications web avec Java:
- JAXP(Java API for XML Processing):
Manipulation des documents XML
- JAXM(Java API for XML Messaging):
Envoi et réception de messages SOAP
- JAX-RPC(Java API for XML-based RPC):
Envoi et réception de messages SOAP en mode RPC
- JAXB(Java Architecture for XML Data Binding):
Sérialisation (Traduction) d’objets java en documents XML
- JAXR(Java API for XML Registries):
Accès à des annuaires pour Web Services
Master 1 RT: 2023-2024 21

Technologie des Services Web


Architecture des Web Services sous J2EE

Master 1 RT: 2023-2024 22

11
18/10/2023

Technologie des Services Web


Architecture des Web Services sous Microsoft .NET

Master 1 RT: 2023-2024 23

Technologie des Services Web


Fournisseurs des services Web: Exemples
Deux types de fournisseurs sont à distinguer
- Fournisseurs de Web Services « Orientés Web » (public)
- Fournisseurs de Web Services « Entreprise » (privé)
Les grands noms du Web sont présents et leurs services sont accessibles

Oui mais …
- Pratiquement tous les fournisseurs de Web Services exploitent
l’architecture REST (besoins de performance)
- Certains (comme Google) ont arrêtés les Web Services étendus
- eBay propose encore des Web Services étendus

Master 1 RT: 2023-2024 24

12
18/10/2023

Technologie des Services Web


Cas Pratique avec J2EE: Cycle de vie d’un Web Service avec Tomcat / Axis
 Installation:
- Java(JDK,…)
- Apache Web Server
- Serveur d’ applications TOMCAT (Servlets, JSP (JWS cas des services web))
- Librairies nécessaires (API) : telle que Xerces, API Java de parsing XML
- Axis (Implémentation de SOAP)
 Définition du Servlet (Notion)
- Une Servlet est un objet Java qui fonctionne en mode requête/reponse
- Une Servlet http est une serlvet qui est capable de traiter des requête http et qui est
capable de renvoyer des réponses http.
 Un moteur (container) de Servlet est une application qui reçoit des requêtes http et qui les
transmet aux Servlet
 Tomcat (couplage avec Apache)
 Axis fournit une Servlet (AxisServlet) qui reçoit des message SOAP sur http et qui
transforme l’appel en un appel de méthode classique Java
 Développer un Web Service revient alors à développer un objet Java et à enregistrer ses
méthodes auprès de la Servlet AxisServlet.
 Les clients envoient alors leurs messages SOAP sur http à AxisServlet.

Master 1 RT: 2023-2024 25

Technologie des Services Web


Conception du service dans le serveur Tomcat / Axis

Annuaire UDDI

yp
wsdl
wp

Tomcat
APACHE

Client HTTP
Services

XML parser
1. Conception

Master 1 RT: 2023-2024 26

13
18/10/2023

Technologie des Services Web


Disponibilité de Service après le déploiement

Annuaire UDDI

yp
wsdl
wp

Tomcat

APACHE
Client HTTP

Services
XML parser
Service a été
déployé donc sera
disponible
Master 1 RT: 2023-2024 27

Technologie des Services Web


Enregistrement du fichier WSDL dans l’annuaire UDDI pour assurer la
découverte automatique

Annuaire UDDI
2. Enregistrement
yp
wsdl
wp wsdl

Tomcat
APACHE

Client HTTP
Services

XML parser

Master 1 RT: 2023-2024 28

14
18/10/2023

Technologie des Services Web


Découverte du service

Annuaire UDDI
wsdl yp
wsdl
4. Envoi fichier wp
WSDL
3. Demande service Tomcat

APACHE
Client HTTP

Services
XML parser

Master 1 RT: 2023-2024 29

Technologie des Services Web


Client envoie le message au serveur par le protocole SAOP

Annuaire UDDI

yp
wsdl
wp

Tomcat
4. Invocation service
APACHE

par message SOAP

Client HTTP
Services

wsdl XML parser

Master 1 RT: 2023-2024 30

15
18/10/2023

Technologie des Services Web


Traitement de la demande
Génération
de la
réponse
Traitement
Annuaire UDDI du service
demande
yp
wsdl
wp

Tomcat

APACHE
Client HTTP

Services
wsdl AxisServlet reçoit XML parser
le message du
client

Master 1 RT: 2023-2024 31

Technologie des Services Web


Émission la réponse par message SOAP

Annuaire UDDI

yp
wsdl
wp

Tomcat
APACHE

5. Envoie la réponse
Client HTTP
Services

wsdl XML parser


Émission
de la réponse

Master 1 RT: 2023-2024 32

16
18/10/2023

Technologie des Services Web


Exemple de développement d’un service Web

 Développer une classe Java


public class MyFirstWebService {
public final String BOOK1 = "Services Web";
public final String BOOK2 = "Web Sémantique";

public int getPrice(String bookTitle) {


if (bookTitle.compareTo(BOOK1)==0) {
return 15;
}
else if (bookTitle.compareTo(BOOK2)==0) {
return 20;
}
else return 300;
}
}

Master 1 RT: 2023-2024 33

Technologie des Services Web


Déploiement d’un Web Service
 Elaborer un descripteur SOAP de votre classe (deploy.wsdd)
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="MyFirstWebService" provider="java:RPC">
<parameter name="className"
value="MyFirstWebService"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>

 Exporter le descripteur
java org.apache.axis.client.AdminClient deploy.wsdd

Master 1 RT: 2023-2024 34

17
18/10/2023

Technologie des Services Web


Déploiement un Web Service
 Le fichier jws sont les équivalents des jsp pour les Services
Web.
 Construction d’un fichier jws à partir d’une classe java:
Copy MyFirstWebService.java /…/MyFirstWebService.jws

Obtention du WSDL de l’exemple


Sous axis, dans un navigateur, mettre l’adresse du Web Service suivie de ?WSDL:

http://localhost:8080/axis/jwspages/MyFirstWebService.jws?WSDL

Master 1 RT: 2023-2024 35

Technologie des Services Web


Le Client à partir du WSDL
 l'utilitaire WSDL2Java permet de générer à partir de la description WSDL
d'un service les différentes classes et interfaces clientes nécessaires à
l'appel de ce service côté client.
java org.apache.axis.wsdl.WSDL2Java file.wsdl
Les classes générées à partir de l’exemple
 MyFirstWebService.java
 MyFirstWebServiceService.java
 MyFirstWebServiceLocator.java
 MyFirstWebServiceBindingStub.java
Le Client à partir du WSDL
Instancier le Service
Obtenir un Port à partir du Service
Utiliser les méthodes du Port
Construire les paramètres en fonction des Types
36
Master 1 RT: 2023-2024 36

18
18/10/2023

Technologie des Services Web


Un exemple de Client
public class Client {

public static void main(String[] args) {


try {
MyFirstWebServiceService service =
new MyFirstWebServiceServiceLocator();

MyFirstWebService port =
service.getMyFirstWebService();

String st = "";
int price = port.getPrice(st);

System.out.println("Le prix est : "+price);


} catch (Exception ex) {
ex.printStackTrace();
}
}
}

Master 1 RT: 2023-2024 37

Technologie des Services Web


Avantages

Les services Web fournissent l'interopérabilité entre divers logiciels fonctionnant sur
diverses plates-formes.
Les services Web utilisent des standards et protocoles ouverts.
Les protocoles et les formats de données sont au format texte dans la mesure du
possible, facilitant ainsi la compréhension du fonctionnement global des échanges.
Basés sur le protocole HTTP, les services Web peuvent fonctionner au travers de
nombreux pare-feu sans nécessiter des changements sur les règles de filtrage.
Les outils de développement, s'appuyant sur ces standards, permettent la création
automatique de programmes utilisant les services Web existants.

Inconvénients

Les normes de services Web dans certains domaines sont actuellement récentes.
Les services Web souffrent de performances faibles comparée à d'autres approches de
l'informatique répartie telles que le RMI, CORBA, ou DCOM. Par l'utilisation du
protocole HTTP, les services Web peuvent contourner les mesures de sécurité mises en
place au travers des pare-feu.

Master 1 RT: 2023-2024 38

19
18/10/2023

Composition des Services Web


C’est quoi une composition des services Web ?
Services Web
Comment répondre à des demandes complexes de l'utilisateur? de Réservation
de billets d’avion
Exemple : Planification de voyage

Invocation via Internet


Service Web
de Location d’un Taxi
Service d’une agence
de voyage
Client

Services Web
de Réservation
d’hôtel

Définitions :
- Un service web est dit composé ou composite lorsque son exécution implique des
interactions avec d'autres services web afin de faire appel à leurs fonctionnalités. La
composition de services web spécifie quels services ont besoin d'être invoqués, dans
quel ordre et comment gérer les conditions d'exception.
- La composition consiste à combiner les fonctionnalités de plusieurs services au sein
d’un même processus métier (ou Business Process) dans le but de répondre à des
demandes complexes qu’un seul service ne pourrait satisfaire. Le processus métier est
une représentation concrète des tâches à accomplir dans une composition
Master 1 RT: 2023-2024 39

Composition des Services Web


 Types de composition:
-Statique (Design-Time): les SWs sont composés au niveau de conception
-Dynamique (Run-Time) : les SWs sont composés au niveau d’exécution (sujet de
recherches)

A Survey on Services Composition Languages and Models,


http://www.selab.isti.cnr.it/ws-mate/Bucchiarone_WS-MaTe.pdf
Master 1 RT: 2023-2024 40

20
18/10/2023

Composition des Services Web


Les Etapes de réalisation des compositions des services Web:
1. La découverte(Selection): découverte des services Web pouvant répondre aux
besoins de la composition se fait généralement de manière manuelle par envoi de
requêtes aux annuaires UDDI (Plusieurs travaux actuels visent à automatiser cette
étape)
2. L'organisation: organisation des interactions entre les services Web composés est
distinguée par les termes chorégraphie et orchestration. La orchestration gère les
échanges de messages avec un unique service Web. La chorégraphie, quant à elle,
organise les interactions entre plusieurs services Web. Une composition est associée à
une spécification pour gérer les échanges de messages et mettre en place les
structures de contrôle nécessaires (boucles itératives, opérateurs conditionnels et
gestion des exceptions). Plusieurs langages de spécification ont été proposés dans la
littérature : WSCI, WSFL , XLANG, et WS-CDL, YAWL, XPDL, BPMN et WS-BPEL.
Actuellement, WS-BPEL s’est révélé comme le standard de facto pour la composition de
services Web.
3. L'exécution: exécution de la composition est l’étape d’invocation effective des
services Web participants à une composition. Une spécification de composition est
hébergée par un serveur et son exécution est prise en charge par un moteur de
composition, tel que Apache OdeTM. La surveillance de l’exécution par le moteur de
composition permet de gérer certaines erreurs dynamiquement.
Master 1 RT: 2023-2024 41

Composition des Services Web


I) Orchestration
L’orchestration décrit l’interaction des services au niveau de messages, incluant la
logique métier et l’ordre d’exécution des interactions. Les services web n’ont pas de
connaissance (et n’ont pas besoin de l’avoir) d’être mêlées dans une composition et
d’être partie d’un processus métier. Seulement le coordinateur de l’orchestration a
besoin de cette connaissance. Ce coordinateur prend le control de tous les services web
impliqués et coordonne l’exécution des différentes opérations des services web qui
participent dans le processus.

Orchestration: inter Web service

Master 1 RT: 2023-2024 42

21
18/10/2023

Composition des Services Web


II) Chorégraphie
Contrairement à l’orchestration, la chorégraphie n’a pas un coordinateur central. Chaque
service web mêlée dans la chorégraphie connaît exactement quand ses opérations
doivent être exécutées et avec qui l’interaction doit avoir lieu.
La chorégraphie est un effort de collaboration dans lequel chaque participant du
processus décrit l’itération qui l’appartient. Elle trace la séquence des messages qui peut
impliquer plusieurs Services Web.

Choreography: intra Web service

Master 1 RT: 2023-2024 43

Composition des Services Web


Types de composition statiques (at Design-Time)
La composition peut être classifiée dans trois catégories [Fost03]:
I) Composition manuelle
-La composition manuelle des services Web suppose que l’utilisateur génère la composition à
la main via un éditeur de texte et sans l’aide d’outils dédiés.
-Ce type de composition est le plus adaptable aux besoins de l’utilisateur, car il va tout définir
à son goût depuis le début.
- Mais il nécessite des connaissances de bas niveau de programmation.
II) Composition semi-automatique
- Les techniques de composition semi-automatiques sont un pas en avant en comparaison
avec la composition manuelle, dans le sens qu’ils font des suggestions sémantiques pour
aider à la sélection des services Web dans le processus de composition.
- L’utilisateur maintiendra certain contrôle sur le processus envisagé mais il n’aura pas besoin
de connaissances de programmation et il pourra définir son propre processus en utilisant des
outils graphiques pour modéliser et concevoir des services Web composites.
III) Composition automatique
-La composition totalement automatisée prend en charge tout le processus de composition et
le réalise automatiquement, sans qu’aucune intervention de l’utilisateur ne soit requise.
-Cependant, il faut maintenir le plus grand niveau de flexibilité possible afin que l’utilisateur
puisse définir son propre processus.

Master 1 RT: 2023-2024 44

22
18/10/2023

Composition des Services Web


Langages de définition des processus métier (workflow):

Ils existent plusieurs langages de définition des processus métiers (composition) de type
orchestration ou chorégraphie dont les plus connus sont:
BPML: Business Process Modelling Language
WSCI: Web Service Choreography Interface
WSCL : Web Service Conversation Language
WS-CDL: Web Service Choreography Description Language
XLANG : XML Business Process LANGuage (Microsoft)
WSFL: Web Service Flow Language (IBM)
 BPEL4WS ou BPEL: Business Process Execution Language for Web Services :
result of XLANG and WSFL merge
...

Master 1 RT: 2023-2024 45

Composition des Services Web


BPEL4WS:

BPEL a été conçu spécifiquement comme un langage pour la définition des processus
métier. Il support deux types différents de processus [Juric05]:

1) Les processus exécutables nous permettent de spécifier les détails du processus


métier. Ils peuvent être exécutés au moyen d’un engin d’orchestration. Dans la
majorité des cas, BPEL est utilisé dans ce type de processus.

2) Les abstracts business protocoles nous permettent de spécifier l’échange de


messages entre partenaires du processus. Ils ne sont pas exécutables. BPEL est un
langage qui se base sur XML et qui soutient la technologie des services web, tel que,
SOAP, WSDL, UDDI.

Le grand avantage de BPEL est la possibilité de décrire les interactions entre


les logiques métiers des différentes entreprises à travers les services web.
Master 1 RT: 2023-2024 46

23
18/10/2023

Composition des Services Web

 Le processus BPEL spécifie l’ordre exact de l’invocation des services web


participants dans la composition. L’invocation peut se faire soit en parallèle soit
séquentiellement.

 Nous pouvons conditionner le comportement, par exemple, lorsque l’invocation d’un


service web peut être dépendante du résultat d’une invocation antérieur.
 La construction des boucles, la déclaration de variables, la copie et l’assignement
des valeurs, etc. est aussi possible. De plus, il est possible combiner tous ces
constructions et de définir des processus métier complexes d’une manière
algorithmique [Juric05].
 Un processus métier correspond à une séquence d’opérations ou plus exactement
à un flux d’activités. Ces activités peuvent faire intervenir un à plusieurs services
Web.

Master 1 RT: 2023-2024 47

Composition des Services Web


Les éléments du processus BPEL sont :
- Les liens de partenaires
- Les activités
- Les données.

1) Les liens de partenaires: Un lien de partenaire (partnerLink) est un lien généré


entre un service web et le processus pendant l’invocation d’un service Web ou,
aussi, comme un lien créé entre le client qui invoque un processus BPEL et le
processus lui même. Il faut, obligatoirement, avoir au moins un client partnerLink.
Chaque lien de partenaire est typé par un partnerLinkType, il est chargé de définir le
rôle que joue chacun des deux partenaires dans une conversation.

Deux façons d’interagir entre un processus BPEL et des Web Services externes:
a) Un processus BPEL invoque des opérations issues d’autres Web Services
(dit Partenaires) : Lien de partenaire (PartnerLink) de type invocation
b) Un processus BPEL reçoit des invocations issues de clients : Lien de
partenaire (PartnerLink) de type client

Master 1 RT: 2023-2024 48

24
18/10/2023

Composition des Services Web


2) Les activités : Le processus BPEL est constitué d’activités liées par un flot de
contrôle. Ces activités peuvent être basiques ou structurées.
Les Activités Basiques sont :
• <invoke>, pour invoquer une opération dans un service web.
• <receive>, pour attendre un message d’une source externe.
• <reply>, pour répondre à une source externe.
• <wait>, pour attendre un certain temps.
• <assign>, pour copier les données d’une place à l’autre.
• <throw>, pour lancer une erreur d’exécution.
• <terminate>, pour terminer l’instance de service en entier.
• <empty>, qui ne fait rien (utile pour la synchronisation des activités parallèles).
Les Activités Structureés : Les types d’activités structurées sont composées
d’autres activités basiques et structurées:
• <sequence>, pour définir un ordre d’exécution.
• <switch>, pour l’acheminement conditionnel.
• <while>, pour les boucles.
• <pick>, pour attendre l’arrivée d’un événement
• <flow>, pour l’acheminement parallèle.
• <scope>, pour regrouper les activités afin qu’elles soient traitées par le même
gestionnaire d’erreur.
• <compensate> pour invoquer les activités de compensation par le gestionnaire d’erreur,
pour défaire l’exécution déjà complétée d’un regroupement d’activité.
Master 1 RT: 2023-2024 49

Composition des Services Web

3) Les données : Le processus BPEL a un état, cet état est maintenu par des variables
contenant des données. Ces données sont combinées afin de contrôler le
comportement du processus. Elles sont utilisées dans les expressions et les
opérations d’affectation. Les expressions permettent d’ajouter des conditions de
transition ou de jointure au flot de contrôle. L’affectation (assignment) permet de
mettre à jour l’état du processus, en copiant les données d’une variable à une autre
ou en introduisant de nouvelles données en utilisant les expressions.

Dans BPEL il n’y a pas de flot de données, BPEL se sert des variables pour passer
une donnée d’une activité à une autre, à l’aide de l’affectation.

Master 1 RT: 2023-2024 50

25
18/10/2023

Composition des Services Web


Pour faire du BPEL :

Outils : Deux catégories d’outils sont à distinguer:


- Editeur graphique de processus BPEL
- Moteur BPEL intégré dans la majorité des serveurs d’application
Exemples:
 OpenESB (via Glassfish 2.1) et Netbeans 6.7.1 (utilisé dans ce cours)
https://open-esb.dev.java.net/
 Apache ODE et Eclipse BPEL Editor (à utiliser dans le TP3)
http://ode.apache.org/ et http://www.eclipse.org/bpel/
 JBoss jBPM (uniquement le moteur BPEL)
http://www.jboss.com/products/jbpm/
 Oracle BPEL Process Manager (Weblogic + JDeveloper)
http://www.oracle.com/technology/bpel
 Orchestra
http://orchestra.ow2.org
 IBM (Weblogic + Workshop)
 BPEL for Windows Workflow Foundation (Visual Studio et Biztalk)

Master 1 RT: 2023-2024 51

Composition des Services Web

BPEL par la pratique : HelloWorld avec OpenESB et Netbeans


Pour introduire la présentation du langage BPEL nous construisons un processus
HelloWorld:

Le processus BPEL est décrit par un service Web qui


contient une opération. Cette dernière prend en paramètre une
chaîne de caractère et retourne une autre chaîne de caractère
concaténée avec la première
 Le processus BPEL traite le Workflow suivant:
 Récupération du message envoyé par le client (chaîne de
caractères)
 Transformation du message en ajoutant un texte
 Retourner le nouveau message au client

Master 1 RT: 2023-2024 52

26
18/10/2023

Composition des Services Web

Il contient les attributs suivants:


 name : nom donné au partnerLink
 myRole : spécifie le rôle du processus BPEL
 partnerRole : spécifie le rôle du partenaire ou du client
 partnerLinkType : type de partnerLink défini dans la
description WSDL
 Si l’attribut myRole est uniquement utilisé (sans
partnerRole), seules les interactions vers le processus sont
autorisées
Si l’attribut partnerRole est uniquement utilisé (sans
myRole), seules les interactions vers les partenaires et les
clients sont autorisés
 Les deux rôles peuvent être utilisés en même temps

Master 1 RT: 2023-2024 53

Composition des Services Web


Création d’un nouveau projet BPEL (File -> New Project) à partir des exemples
(Samples)

Choisir cet exemple


« Synchronous
BPEL Process »

Master 1 RT: 2023-2024 54

27
18/10/2023

Composition des Services Web


Préciser les caractéristiques physiques du projet BPEL

Master 1 RT: 2023-2024 55

Composition des Services Web


Génération des fichiers et initialisation des outils BPEL

Master 1 RT: 2023-2024 56

28
18/10/2023

Composition des Services Web


Edition du BPEL en mode « texte »

Master 1 RT: 2023-2024 57

Composition des Services Web


Extension de l’activité Assign

Master 1 RT: 2023-2024 58

29
18/10/2023

Composition des Services Web


Utilisation du projet HelloWorldBPELApplication pour le déploiement (type
Composite Application)

Master 1 RT: 2023-2024 59

Composition des Services Web


Le processus BPEL est décrit par un WSDL et est accessible par un client Service
Web (http://localhost:8080/ Synchronous?wsdl)

Master 1 RT: 2023-2024 60

30
18/10/2023

Composition des Services Web


Processus métier: partie statique
La partie statique d’un processus est définie par un document WSDL qui permet de décrire
- Les points d’entrées et de sorties du processus
- Définir les types des données (XML Schema) et les messages utilisés pour
décrire l’état du processus
- Les opérations qui sont autorisées et qui permettent d’invoquer le processus
Processus métier: partie Dynamique
 La partie dynamique du processus est décrite par le fichier BPEL qui permet de décrire
- L’ordonnancement des différentes sous étapes du processus
- L’invocation vers les opérations des Services Web partenaires
- La logique et l’état du processus

Master 1 RT: 2023-2024 61

Composition des Services Web


Structure d’un projet BPEL
Un projet BPEL se compose de trois catégories de fichiers:
- Les fichiers de description des processus (*.bpel)
- Les fichiers de description des Services Web (*.wsdl et *.xsd)
- Les fichiers de déploiement (*.xml) dont la structure dépend du moteur BPEL utilisé

Master 1 RT: 2023-2024 62

31
18/10/2023

Composition des Services Web


Partner Links
Deux liens de partenaire (client et invocation)

Master 1 RT: 2023-2024 63

Composition des Services Web


Partner Links

Master 1 RT: 2023-2024 64

32
18/10/2023

Composition des Services Web


Partner Links Types
 Un PartnerLinkType décrit la relation entre deux services en détaillant le rôle que
chaque service implémente
 Chaque rôle spécifie un PortType (issu du WSDL) qui doit être implémenté par le
service qui implémente ce rôle

Master 1 RT: 2023-2024 65

Composition des Services Web


Variables
Les messages sont envoyés et reçus vers et de partenaires:
- Nécessite de sauvegarder ces messages pour être utilisés par le processus
BPEL
 BPEL définit la notion de variables qui permet de manipuler les messages
des interactions entre les partenaires
 Une variable est définie par des types et des messages déclarés dans un
WSDL
 Une variable est définie par les attributs suivants:
- name : nom de la variable
- type : typée via un type XML Schema par exemple
Ou
- messageType : typée via un message

Master 1 RT: 2023-2024 66

33
18/10/2023

Composition des Services Web


Variables
Définition de variables dans un BPEL

Master 1 RT: 2023-2024 67

Composition des Services Web


Activités
 Un processus BPEL est décrit par un ensemble d’étapes
 Chaque étape est appelée une activité (activity)
 Deux catégories d’activité sont à distinguer: simple(de base) et structurée

Master 1 RT: 2023-2024 68

34
18/10/2023

Composition des Services Web


Activités: Receive
L’activité Receive est utilisée pour la mise en attente du processus tant qu’un
message n’est pas envoyé par un partenaire
 Elle est utilisée généralement pour instancier le processus BPEL (première activité du
processus)
 Elle est définie par la balise <receive> dont les principaux attributs de cette activité
sont:
- name : nom de l’activité
- partnerLink : lien partenaire utilisé pour identifier le partenaire qui doit
déclencher le processus
- operation : identifiant de l’opération que le processus doit implémenter
- variable : où stocker le message envoyé par le partenaire

Master 1 RT: 2023-2024 69

Composition des Services Web


Activités: Receive
Mise en place de l’activité Receive

Master 1 RT: 2023-2024 70

35
18/10/2023

Composition des Services Web


Activités: Reply
 L’activité Reply permet d’envoyer une réponse au message envoyé à l’activité
Receive
 Le couple Reply / Receive décrit une opération de type requête / réponse
 Elle est définie par la balise <reply> dont les principaux attributs de cette activité sont:
- name : nom de l’activité
- partnerLink : identifiant du lien partenaire utilisé pour identifier le partenaire
qui doit recevoir le message de réponse
- operation : identifiant de l’opération que le processus a implémenté
- variable : message contenant le message à retourner

Master 1 RT: 2023-2024 71

Composition des Services Web


Activités: Reply
Mise en place de l’activité Reply

Master 1 RT: 2023-2024 72

36
18/10/2023

Composition des Services Web


Activités: Assign
 L’activité Assign peut être utilisée pour copier des données d’une variable vers une
autre.
 Possibilité d’utiliser des expressions complexes pour modifier le contenu des
variables (XPath, transformations XSL)
 Elle est définie par la balise <assign> qui peut contenir un ensemble de sous balises
<copy>
 La balise <copy> contient à son tour des sous balises <from> et <to> pour exprimer
la copie d’un contenu vers un autre
 Structure XML de la balise <assign>:

<assign>
<copy>
<from ...>
<to ...>
</copy>
</assign>

Master 1 RT: 2023-2024 73

Composition des Services Web


Activités: Assign
Mise en place de l’activité Assign

Master 1 RT: 2023-2024 74

37
18/10/2023

Composition des Services Web


Activités: Assign
Mise en place de l’activité Assign

Master 1 RT: 2023-2024 75

Composition des Services Web


Activités: Invoke

 L’activité Invoke est utilisée pour déclencher l’appel à une opération sur un portType
défini par un lien de partenaire
 Seules les opérations suivant le modèle One-way et Request/Response peuvent
être invoquées par un BPEL
 L’invocation d’opération nécessite l’utilisation de variables en entrée et en sortie pour
initialiser la requête et la réponse
 Elle est définie par la balise <invoke>
- name : nom de l’activité
- partnerLink : identifiant du lien partenaire
- operation : l’opération à invoquer
- portType : le portType pour de l’opération
- inputVariable : informations à transmettre à la requête
- ouputVariable : utilisées pour récupérer les données de la réponse

Master 1 RT: 2023-2024 76

38
18/10/2023

Composition des Services Web


Activités: Invoke

Master 1 RT: 2023-2024 77

Composition des Services Web


Activités: Invoke

 L’activité Invoke ne permet de déclencher que des opérations issues d’un Service
Web étendu (via WSDL)
 Les travaux de standardisation s’intéressent actuellement à la possibilité d’invoquer
différents services de technologies différentes (Service Web de type REST)
 Toutefois, il est actuellement possible d’invoquer des services sous condition de
définir un adaptateur WSDL
 Démarche
- Définir un Service Web « Adaptateur » respectant le contrat du service (défini
par un EJB) à invoquer
- Implémenter le mapping entre le Service Web « Adaptateur » et le service à
invoquer
- Ajouter comme lien de partenaire le Service Web Adaptateur
- Invoquer les opérations

Master 1 RT: 2023-2024 78

39
18/10/2023

Composition des Services Web


Activités: Sequence /Flow /While /Pick /…

 L’ordonnancement des activités est défini par des activités complexes


 L’activité Sequence permet d’exprimer que des activités soient déclenchées dans un
ordre donné
 L’activité Flow permet de définir qu’une ou plusieurs activités soient déclenchées de
manière concurrente
 L’activité While permet de définir qu’une activité peut être répétée plusieurs fois
 L’activité Pick permet de mettre en attente une activité jusqu’à l’arrivée d’un message
…

Master 1 RT: 2023-2024 79

Composition des Services Web


Activités: Sequence /Flow /While /Pick /…
Mise en place de l’activité Sequence

Master 1 RT: 2023-2024 80

40
18/10/2023

Services Web Sémantiques


Service Web Sémantique:
 Services Web sémantiques se situant au croisement du Web sémantique et des
Services Web.

Services Web Services Web Sémantiques


Dynamique SOAP, WSDL, UDDI OWL-S, WSMO, …

WWW Web Sémantique


Statique URI, HTTP, HTML, … RDF, OWL, …

Syntaxique Sémantique
Evolution vers les Services Web Sémantiques

L’objectif des SWSs est de faciliter les tâches liées à leur utilisation, telles que la
découverte, la sélection, l’orchestration et l’invocation, par le biais de leurs descriptions
qui rendent la sémantique explicite et compréhensible par les machines.
Master 1 RT: 2023-2024 81

Services Web Sémantiques

 Exemple: nécessité d’un service Web sémantique

Lors de la recherche des services web qui ont la fonctionnalité de « vente de voiture »
peut renvoyer comme résultat aussi bien des services proposant la vente de voiture
grandeur nature que de voitures miniatures pour enfants

Service Web Sémantique (SWS)


=
Service Web
+
Information sémantique

Master 1 RT: 2023-2024 82

41
18/10/2023

Services Web Sémantiques


Rappel:

 Service Web:
Un Service Web est un composant logiciel permettant la communication et l'échange de
données entre applications et systèmes hétérogènes dans des environnements
distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur Internet ou sur
un Intranet, par et pour des applications ou machines, sans intervention humaine, et en
temps réel [WikiPedia]

 Composition des Services Web:

L’objectif de la composition de services est de créer de nouvelles fonctionnalités en


combinant des fonctionnalités offertes par d’autres services existants, composés ou non
en vue d’apporter une valeur ajoutée

Master 1 RT: 2023-2024 83

Services Web Sémantiques


Le Web sémantique : une histoire de générations …

Les données doivent être encodées de tel sorte que les contenus (sens et sémantique)
du Web soient plus « compréhensibles » pour les machines(des programmes) :

1ère Génération: WWW (Début 1990) :


- Séparation de la présentation de la localisation
- Fondée sur HTML, PDF, ...
 2ème Génération WWW (Fin 1990) :
- Séparation de la structure (contenu) de la présentation
- Fondée sur XML, XSL, ..
3ème Génération WWW : Web Sémantique (WS)
- Séparation de la sémantique et la structure
- Fondée sur RDF, RDFS, Ontologies, Logique, ...

Master 1 RT: 2023-2024 84

42
18/10/2023

Services Web Sémantiques


 Web Sémantique:
Selon l’innovateur du web Tim Berners-Lee:
« Le Web sémantique n'est pas un Web distinct mais bien un prolongement du Web
que l'on connaît et dans lequel on attribue à l'information une signification clairement
définie, ce qui permet aux ordinateurs et aux humains de travailler en plus étroite
collaboration»

Objectif du Web sémantique:


Le Web sémantique a pour but de rendre les ressources du Web actuel non seulement
compréhensibles par les humains (comme c’est le cas pour le Web actuel) mais aussi
interprétables par des machines. Parmi les travaux visant à la construction du Web
sémantique, l’approche la plus fréquente consiste à décrire ces ressources à l’aide de
méta-données, ou annotations sémantiques, en utilisant le vocabulaire conceptuel fourni
par une ontologie.

Le Web Sémantique est une extension du Web classique, facilitant


l’automatisation du traitement des connaissances disponibles

Master 1 RT: 2023-2024 85

Services Web Sémantiques

Ontologie

 Une ontologie est la spécification explicite d’une conceptualisation partagée [Gruber]


 Une Ontologie est une description des concepts et des relations qui peuvent exister
pour une communauté (Domaine).

 Ressources du Web
 La nécessité de l'indexation de toutes les ressources du web, documents et services,
pour une exploitation optimale.
- Objectif : Identifier et localiser les diverses ressources du Web
- Moyen : Associer à chaque ressource Web un URI (Uniform Resource Identifier)

Une ontologie est un modèle d’organisation des connaissances


dans un domaine donné
Master 1 RT: 2023-2024 86

43
18/10/2023

Services Web Sémantiques

 Un URI peut être de type « locator » ou « name » ou les deux:


1) Un Uniform Resource Locator (URL): est un URI qui, outre le fait qu'il identifie une
ressource sur un réseau, fournit les moyens d'agir sur une ressource ou d'obtenir
une représentation de la ressource en décrivant son mode d'accès primaire ou
« emplacement » réseau.
Exemple: l'URL http://www.google.com/ est un URI qui identifie une ressource (page
d'accueil Google) et implique qu'une représentation de cette ressource (une page
HTML en caractères encodés) peut être obtenue via le protocole HTTP depuis un
réseau hôte appelé www.google.org.
2) Un Uniform Resource Name (URN): est un URI qui identifie une ressource par son
nom dans un espace de noms. Un URN peut être employé pour parler d'une
ressource sans que cela préjuge de son emplacement ou de la manière de la
référencer.
Exemple: l'URN urn:isbn:0-395-36341-1 est un URI qui, étant un numéro de
l'International Standard Book Number (ISBN), permet de faire référence à un livre,
mais ne suggère ni où, ni comment en obtenir une copie réelle.

Master 1 RT: 2023-2024 87

Services Web Sémantiques


Web actuel /web sémantique

Web Actuel Web Sémantique

Master 1 RT: 2023-2024 88

44
18/10/2023

Services Web Sémantiques


Web actuel /web sémantique

Master 1 RT: 2023-2024 89

Services Web Sémantiques


Les Langages du Web Sémantique (W3C)

Niveau
Sémantique

Niveau
Syntaxique
Niveau Adressage
et Encodage

Master 1 RT: 2023-2024 90

45
18/10/2023

Services Web Sémantiques


Langages de description sémantique des services Web:

 Une ontologie est une description explicite formelle de concepts dans un domaine
concret permettant d’annoter les paramètres et les opérations des web services.

Une nouvelle description sémantique des services Web


à l’aide des Ontologies

Cette description sémantique des services Web peut se faire par deux types de
langages de description différents:

A) Langages de description sémantique

B) Annotation des langages existants

Master 1 RT: 2023-2024 91

Services Web Sémantiques


A) Langages de description sémantique :
Plusieurs langages dont les plus répandus sont:
1) Web Ontology Language for services Web (OWL-S):
Une description OWL-S se compose de trois éléments : le service profile, le process
model, et le grounding, qui décrivent respectivement < que fait le service >, < comment
le service fonctionne > et < comment accéder au service > :
Le service profile décrit les fonctionnalités des services Web, il est utile pour leur
découverte et leur sélection.
Le process model détaille la sémantique des données échangées, au niveau des
messages échangés entre services Web.
Le grounding spécifie l’encodage des données échangées, les protocoles de
communication, ainsi que tous les détails concrets nécessaires à l’invocation du service.

Les concepts supérieurs


de l'ontologie de service et leurs relations

Master 1 RT: 2023-2024 92

46
18/10/2023

Services Web Sémantiques


2) Web Service Modeling Ontology (WSMO)

L’architecture WSMO est organisée autour de quatre éléments principaux :


 Les services Web: sont définis comme des < entités computationnelles > qui
fournissent une fonctionnalité. Une description est associée à chaque service, dans le
but de décrire sa fonctionnalité, son interface, et ses détails internes.
 Les Objectifs : servent à décrire les souhaits des utilisateurs(trices) en terme de
fonctionnalités requises. Les objectifs sont une vue orientée utilisateur(trice) du
processus d’utilisation des services Web, ils sont une entité à part entière dans le
modèle WSMO. Un objectif décrit la fonctionnalité, les entrées/sorties, les préconditions
et postconditions d’un service Web.
Les Médiateurs: sont utilisés pour résoudre de nombreux problèmes
d’incompatibilité, telles que les incompatibilités de données dans le cas où les services
Web utilisent différentes terminologies, les incompatibilités de processus dans le cas de
la combinaison de services Web, et les incompatibilités de protocoles lors de
l’établissement des communications.
Les Ontologies: fournissent la terminologie de référence aux autres éléments de
WSMO, afin de spécifier le vocabulaire du domaine de connaissance d’une manière
interprétable par les machines.

Master 1 RT: 2023-2024 93

Services Web Sémantiques

Les éléments du WSMO

Master 1 RT: 2023-2024 94

47
18/10/2023

Services Web Sémantiques


B) Annotation des langages existants:

Plusieurs langages, à savoir:

 SESMA (SEmantic Service MArkup) :


Pour annoter les processus métiers WS-BPEL
 SAWSDL (Semantic Annotations for Web Services Description Language):
Extension de WSDL
 WSDL-S (WSDL Semantic):
Annotation du langage de description WSDL
 Annotation des registres: UDDI, ebXML (Electronic Business using XML)

Master 1 RT: 2023-2024 95

Médiation Sémantique entre les services Web(3/5)


Principe d’annotation sémantique du WSDL
Ajout d’autres éléments au document WSDL grâce à l’API WSDL4J

part Part
message 0..*
0..*
Message
input 0 . . 1 +name
+name output 0 . . 1
+element
+ type
fault 0 . . 1

portType PortType operation Operation


0..* 0..*
+name +name
+parameterOrder Annotate
Definition 0..*

+name type ElementAnnotation


+tergetNameSpace
binding Binding
0..*
+name binding

service port
0..*
Service Port
0..*
+name +name Extensible Element

Représentation d’annotation dans le méta-modèle WSDL

Master 1 RT: 2023-2024 96

48
18/10/2023

Services Web Sémantiques


Problème: Exemple de composition avec des conflits sémantiques
Entrées Sorties
- Date Départ - Price (float)
- Date de Retour
 FD = aaaa/mm/jj
- Devise=Dollar
Hétérogénéités Sémantiques
Sorties
- Date Départ Ticket d'hôtel
Hétérogénéités de
HotelBooking
- Date de Retour
 FD = jj/mm/aaaa
« Date »
Service Web
« Prix »
Entrées
-Prix (double)
nomination (Price, Prix)
 Hétérogénéités structurelles
- Prix (double)
- Devise=Euro - Devise=Euro

EuroBanking
(Date)
FlightBooking Prix tolal
Service Web « Prix » Service Web  Hétérogénéités de valeur($
Hétérogénéités sémantiques Billets d'avion et €).

Agence de Voyage: Composition des services Web

Solution: La médiation sémantique


La résolution de ces hétérogénéités est appelée médiation.
La médiation consiste à implanter des mécanismes supplémentaires par des
médiateurs dans les compositions pour assurer un échange correct des données
entre les services Web.
Le médiateur est un module logiciel qui intervient pour faciliter une
communication, rétablir une relation, ou transférer une connaissance
Master 1 RT: 2023-2024 97

Fin

Merci pour votre attention


Commentaires & Questions?

Master 1 RT: 2023-2024 98

49

Vous aimerez peut-être aussi