Vous êtes sur la page 1sur 21

Masters 1 Resin, SITW,RSD,ADSI,IIEP

Laboratoire

Cours 3 :
Les Services Web
Définition et Architecture

Service Web H. Meziane 1


Les Services Web : généralité (1/2)
 Les services Web est une technologie pour la gestion des
systèmes d'information et l'intégration des entreprises
dans l'infrastructure du Web.
 Les web services permettent l’invocation de fonctions
distantes, présentes sur des systèmes distribués et
hétérogènes, grâce au protocole HTTP et XML.
 Les services web sont des applications auto‐
descriptives, modulaires et faiblement couplés qui
fournissent un modèle de programmation et de
déploiement d’applications, basé sur des normes, et
s’exécutant au travers de l’infrastructure web.
Couplage faible : deux systèmes sont considérés comme faiblement couplés si le seul mandat imposé aux
deux systèmes est de comprendre les messages textuels. Les services sont autonomes dans leur finalité et
leur exécution. Un service ne doit pas avoir de dépendance forte vis‐à‐vis d’autres services, sinon on
aboutit à un système fortement couplé qui est fragile et complexe.
Service Web H. Meziane 2
Les Services Web : généralité (2/2)
 les services web peuvent être implémentés sur
différentes plateformes et avec des langages variés, ils
deviennent un moyen technique intéressant pour
interconnecter des modules s’exécutant sur des plate‐
formes hétérogènes.
 Un service web est une application conçue pour
assurer une interopérabilité entre machines au travers
d’un réseau.
 Un web service est une interface qui décrit un
ensemble d’opérations accessibles via un réseau par
des messages XML standards.

Service Web H. Meziane 3


Les services Web : Définition
Il existe plusieurs définitions d'un service Web, dont voici celle fournie par le
W3C en version anglaise :
Definition (Web Service (W3C))
A Web service is a software system designed to support interoperable
machine‐to‐machine interaction over a network. It has an interface
described in a machin‐tractable format (specifically WSDL). Other systems
interact with the Web service in a manner prescribed by its description
using SOAP‐messages, typically conveyed using HTTP (hypertext transfer
protocol) with an XML serialization in conjunction with other Web‐related
standards.
« Un service web est un système logiciel conçu pour permettre
l’interopérabilité entre les machine sur un réseau. Il possède une interface
qui décrit, dans un format normalisé, le moyen de communiquer avec la
machine (par exemple : WSDL). D’autres systèmes interagissent avec les
services web, conformément à l’interface, en utilisant des messages SOAP
envoyés par le protocole HTTP et écrits en XML, en liaison avec d'autres
standards relatifs au web ».

4
Service Web H. Meziane
Les services Web : Propriétés
La notion de « Web Service » désigne essentiellement une application
(un programme ) mise à la disposition sur internet par un fournisseur de service, et
accessible par les clients à travers des protocoles internet standards.
Le consortium W3C (http://www.w3.org/2002/ws/) définit un web service comme
étant une application ou un composant logiciel qui vérifie les propriétés suivantes :

 Il est identifié par un URI,

 ses interfaces publique et ses liens (binding) sont définies et décrites en


XML,

 sa définition peut être découverte (dynamiquement) par d’autres systèmes


logiciels (ou d’autres web services),

 Ces autres systèmes peuvent ensuite interagir avec le service web d’une
façon décrite par sa définition, en utilisant des messages XML transportés
par des protocoles Internet.

Service Web H. Meziane 5


Les services Web : caractéristiques
 Les services Web proposent diverses fonctionnalités que
d’autres programmes peuvent :
1.Découvrir dynamiquement
2.et Utiliser grâce à des protocoles
 décrits en XML
 basés sur l’échange de messages
 écrits en XML
 transmis par HTTP, FTP, SMTP, etc.
 Caractéristiques
1. Réutilisable
2. Indépendamment de
 la plate‐forme (UNIX, Windows, …)
 l’implémentation (VB, C#, Java, …)
 l’architecture sous‐jacente (.NET, JEE, …)

Service Web H. Meziane 6


Les services Web : définition plus pratique
 Les services Web est une application
informatique qui :
1. possède une URI,
2. hébergé par un serveur d’application qui est
composée de procédures dont l’exécution
représente un service proposé à un autre
programme informatique, nommé client, et qui
est accessible sur internet par l’utilisation de
protocoles standards (HTML, XML,….)

Service Web H. Meziane 7


Figure 1. Architecture client/serveur
Service Web

INTERNET

CLIENT
SERVEUR

JS

Les services Web créent une architecture de


CLIENT type Client/Serveur dans laquelle des clients
(ordinateur de bureau, ordinateur portable,
téléphone portable,…) utilisent et executent,
via Internet, des procédures ou operations
qui sont stockées sur le serveur d’application
CLIENT .

Service Web H. Meziane 8


Les composants d’un Services Web
Trois composants sont nécessaires dans un web service :
• Un protocole pour décrire le service (idéalement il doit
lister les méthodes disponibles et leurs arguments….);
• Un protocole décrivant la composition des messages;
• Un protocole de transport pour faire circuler les
messages sur internet.
Protocole de description
des messages (SOAP,…)
Protocole de description
des services (WSDL,…)

Protocole de description
des services de transport
(HTTP, SMTP,…)

9
Service Web H. Meziane
Exemple de services existants (1/3)
 Google (http://www.google.com/apis/)
Accès gratuit mais limité (1000 requêtes par jour
après enregistrement).

 Amazon (http://aws.amazon.com/fr/ )
Accès gratuit mais limité (1 requête par seconde
après enregistrement).

Et bien d’autres ……………………….

Service Web H. Meziane 10


Les différentes Architecture des Services Web
 Utilisé un service web consiste a invoquer une
operation (méthode) qui est disponible sur une
machine distante accessible via Internet. Il existe de
très nombreux moyens de fournir ce type de service,
mais généralement les web services existent sous trois
architectures :
• Architecture XML‐RPC (Remote Procedure Call)
• Architecture SOAP (Simple Access Protocol).
• Architecture REST (REpresentational Stage Transfert)

Service Web H. Meziane 11


Architecture générale des Services Web et des clients
• La partie droite ( Web service) décrit les trois types d’architecture d’un service
web (XML‐RPC, REST, SOAP).
• La partie centrale (interface) décrit les interfaces permettant d’utiliser les web
services (Bibliothèque JEE, C #, PHP, Ajax).
• La partie gauche (client) figure tous les clients des web services avec les
technologies utilisées (java, C #, PHP, ou encore javaScript).
Interface
Clients Web Service Web Service
Bibliothèque
JAVA Netbeans JEE
SOAP
C# Visual Studio Bibliothèque
C#
REST
PHP Eclipse PDT Bibliothèque
PHP
HTML Eclipse
JS JavaScript AJAX
XML‐RPC
Service Web H. Meziane 12
Architecture Services Web : SOAP/HTTP/WSDL

 Lorsque l’on parle d’architecture SOAP cela


correspond a une architecture Client/Serveur
utilisant les technologies SOAP/HTTP/WSDL.
 Il y a deux façons de voir l'architecture SOAP :
 La première consiste à examiner les rôles de chaque
acteur du service Web dans cette architecture .
 la seconde consiste à examiner la pile des protocoles
relative aux services web relative à cette
architecture.

Service Web H. Meziane 13


Architecture SOAP : Les rôles
3
Publish services

Figure 5. Web Service rôles


La collaboration entre services web s’appuie sur un modèle d’interaction dont les
composants assurent trois rôles :
 Le fournisseur de service : correspond au propriétaire du service. D’un point
de vue technique, il s’agit de la plate‐forme qui héberge l’accès au service.
 Le client : correspond au demandeur de service et consiste à demander certain
fonctionnalités à satisfaire. D’un point de vue technique, il s’agit d’une
application qui recherche et qui invoque une interaction avec un service. Le
rôle du demandeur de service peut être assuré par un browser piloté par une
personne ou un programme sans interface utilisateur, par exemple un autre
web service.
 L’annuaire de service : Correspond à un registre de description de services
offrant des facilités de publication de services à l’intention des fournisseurs
ainsi que des facilités de recherche de services à l’intention des clients.
14
Service Web H. Meziane
Modèle d’interaction
3
Publish services

Les interactions de base entre ces trois rôles incluent les opérations :
1. de publication de description de service (Publish)
2. de recherche et la découverte de la bonne description du service (Find,
Discover)
3. L’invocation des services basée sur la description (Bind invoke)
Dans ce scénario, le fournisseur de service définit la description de son service et
la publie dans un annuaire de service. Le client utilise les facilités de recherche
disponibles au niveau de l’annuaire pour retrouver et sélectionner un service
donné. Il examine ensuite la description du service sélectionné pour récupérer les
informations nécessaires lui permettant de se connecter au fournisseur de service
et d’interagir avec l’implémentation du service considéré.
Service Web H. Meziane 15
Architecture Services Web : SOAP/HTTP/WSDL

 Il y a deux façons de voir l'architecture SOAP :


• La première consiste à examiner les rôles de chaque
acteur du service Web dans cette architecture .
• la seconde consiste à examiner la pile des protocoles
relative aux services web relative a cette
architecture.

Service Web H. Meziane 16


La pile des protocoles dans les services web (1/3)
 La deuxième option pour visualiser l'architecture de services
Web est d’examiner la pile des protocoles émergents dans les
services web. La pile dispose actuellement de quatre couches
principales.

Figure 3. Web service protocol stack

Service Web H. Meziane 17


La pile des protocoles dans les services web (2/3)
 Service transport
Cette couche est responsable du transport des messages entre les
applications. Cette couche inclut le protocole HTTP (hypertext transfer
protocol ), le protocol SMTP (Simple Mail Transfer), le protocol
FTP (file transfer protocol ),ect…

Transport HTTP, SMTP, FTP, BEEP


 XML messaging
Cette couche est responsable pour l’encodage des messages dans un
format commun XML de sorte que les messages peuvent être
comprises à chaque extrémité. Cette couche comprend XML‐RPC et
SOAP.

XML messaging XML/RPC, SOAP, XML


Service Web H. Meziane 18
La pile des protocoles dans les services web (3/3)
 Service description
Cette couche est responsable de la description de l'interface
publique d'un service web spécifique. La description de service
est gérée via WSDL (Web Service Description Language ).
Description WSDL

 Service discovery
Cette couche est responsable de la centralisation des services
dans un registre commun. Elle fournir et faciliter les
fonctionnalités de publication/recherche. Le service de
découverte est traité via UDDI (Universal Description Discovery
and Integration ).

Discovery UDDI
Service Web H. Meziane
19
Caractéristiques Techniques des services Web (1/2)

Les différentes couches (HTTP, SOAP, WSDL,


UDDI) garantissent l’interopérabilité des trois
opérations suivantes :

la Publication, la Recherche et le Lien.

Service Web H. Meziane


20
Caractéristiques Techniques des services Web (2/2)
 Ce modèle de programmation et de déploiement d'application
assure l'interconnexion de services logiciels en se basant sur ces
standards (HTTP, XML, SOAP, WSDL, UDDI) pour faciliter le
transport, l'invocation, la description et la recherche des
services Web.
 Lorsqu’un service Web est déployé, les autres applications
(et autres services Web) peuvent le découvrir et l'invoquer.
 Les services Web peuvent être répartis sur différents serveurs,
s'invoquer mutuellement à travers un réseau local ou étendu
dans le cadre des échanges électronique B2B (Business‐to
Business) ou B2C (Business‐to‐Consumer) en utilisant les
standards XML.

Service Web H. Meziane 21

Vous aimerez peut-être aussi