II.9.3. Fonctionnement d'un service web
Le fonctionnement des services Web s'articule autour des
acteurs principaux illustrés par le schéma suivant :
UDDI
Figure II.2 : fonctionnement du service web
? Fournisseur de services: le fournisseur de
services est le mainteneur du service et l'organisation qui met à
disposition un ou plusieurs services que d'autres peuvent utiliser. Pour
annoncer des services, le fournisseur peut les publier dans un registre, avec
un contrat de service qui spécifie la nature du service, comment
l'utiliser, les exigences du service et les frais facturés.
? Consommateur de service (client): le
consommateur de service peut localiser les métadonnées du service
dans le registre et développer les composants client requis pour lier et
utiliser le service.
? Courtier de services (UDDI) : Le courtier
de services, également connu sous le nom de registre de services, est
chargé de rendre l'interface de service Web et les informations
d'accès à l'implémentation accessibles à tout
demandeur de service potentiel. Celui qui implémente le courtier
décide de la portée du courtier. Les courtiers publics sont
disponibles sur Internet, tandis que les courtiers privés ne sont
accessibles qu'à un public limité, par exemple les utilisateurs
d'un intranet d'entreprise. En outre, certaines
24
décisions doivent être prises quant à la
quantité d'informations proposées. Certains courtiers se
spécialisent dans de nombreuses inscriptions. D'autres offrent un haut
niveau de confiance dans les services listés. Certains couvrent un large
éventail de services et d'autres se concentrent sur une industrie.
Certains courtiers cataloguent d'autres courtiers. Selon le modèle
commercial, les courtiers peuvent tenter de maximiser les demandes de
recherche, le nombre d'annonces ou l'exactitude des annonces. La
spécification UDDI (Universal Description, Discovery and Integration)
définit un moyen de publier et de découvrir des informations sur
les services Web.
II.9.4. Types de services Web
Les services Web peuvent être mis en oeuvre de
différentes manières. A ce jour, il existe deux types de services
Web largement utilisés, entre autres : les services Web SOAP et les
services web REST.
a. Web Services SOAP (Simple Object Access
Protocol)
Les services Web SOAP ont tous les avantages des services Web,
certains des avantages supplémentaires sont:
· Le document WSDL fournit le contrat et les
détails techniques des services Web pour les applications clientes sans
exposer les technologies d'implémentation sous-jacentes.
· SOAP utilise des données XML pour la charge
utile ainsi que pour le contrat, de sorte qu'il peut être facilement lu
par n'importe quelle technologie.
· Le protocole SOAP est universellement accepté,
c'est donc une approche standard de l'industrie avec de nombreuses
implémentations open source facilement disponibles.
Certains des inconvénients du protocole SOAP sont:
· Seul XML peut être utilisé, JSON et les
autres formats légers ne sont pas pris en charge.
· SOAP est basé sur le contrat, il existe donc un
couplage étroit entre les applications client et serveur.
· SOAP est lent car la charge utile est volumineuse pour
un message sous forme de chaîne simple, car il utilise le format XML.
· Chaque fois qu'il y a un changement dans le contrat
côté serveur, les classes de stub client doivent être
générées à nouveau.
· Ne peut pas être testé facilement dans le
navigateur
25
b. Services Web REST (Representational State
Transfer)
REST est l'acronyme de REpresentational State Transfer. REST
est un style architectural permettant de développer des applications
accessibles via le réseau. Le style architectural REST a
été mis en lumière par Roy Fielding dans sa thèse
de doctorat en 2000.
REST est une architecture client-serveur sans état
où les services Web sont des ressources et peuvent être
identifiés par leurs URI (Uniform Ressource Identifier). Les
applications clientes peuvent utiliser les méthodes HTTP GET, POST, PUT,
DELETE pour échanger avec les services Web Restful. REST ne
spécifie aucun protocole spécifique à utiliser, mais dans
presque tous les cas, il est utilisé via HTTP / HTTPS. Comparés
aux services Web SOAP, ils sont légers et ne respectent aucune norme.
Nous pouvons utiliser XML, JSON, texte ou tout autre type de données
pour la demande et la réponse.
Certains des avantages des services Web REST sont:
· La courbe d'apprentissage est facile car elle fonctionne
sur le protocole HTTP
· Prend en charge plusieurs technologies pour le transfert
de données telles que le texte, xml, json, image, etc.
· Aucun contrat défini entre le serveur et le
client, donc implémentation faiblement couplée.
· REST est un protocole léger
· Les méthodes REST peuvent être
testées facilement via le navigateur.
Toutefois, les services web REST présentent aussi
certains désavantages :
· Puisqu'il n'y a pas de contrat défini entre le
service et le client, il doit être communiqué par d'autres moyens
tels que la documentation ou les courriels.
· Comme cela fonctionne sur HTTP, il ne peut pas y avoir
d'appels asynchrones.
· Les sessions ne peuvent pas être maintenues.
|