Institut Supérieur des Etudes Technologiques de Beja
SOA
Service-Oriented
Architecture
CHAABANI MARWA
2023 -2024
Concepts SOA
Chapitre 4:
SOAP
Web
Services WSDL
SOAP /
étendus JAX-WS
Concepts des web services
Une architecture SOA est basée sur :
Le consommateur utilise le service
Le fournisseur assure le service
Le registre fait le lien entre le fournisseur et le consommateur
«servi ce»
registre
«use» «use»
«cl i ent» «cl i ent»
consommateur fournisseur
contrat
CHAABANI MARWA 3
Fonctionnement du SOA
CHAABANI MARWA 4
Fonctionnement du SOA
La publication du service : le fournisseur diffuse les descriptions de ses services Web
dans l'annuaire.
La recherche du service : le client cherche un service particulier, il s'adresse à un
annuaire qui va lui fournir les descriptions et les URL des services demandés afin de
lui permettre de les invoquer.
L'invocation du service : une fois que le client récupère l'URL et la description du
service, il les utilise pour l'invoquer auprès du fournisseur de services.
CHAABANI MARWA 5
Concepts des web services
SOAP est un protocole
WSDL permet de décrire
basé sur XML permettant
un service web
de véhiculer des données
(Description du service )
via HTTP en utilisant XML
UDDI permet de
découvrir un service web SOAP / WSDL / UDDI sont
(Publication et Recherche utilisées conjointement
du service )
CHAABANI MARWA 6
SOAP
SOAP (Simple object Access Protocol) est un protocole standard
de communication décrit en XML. Il se présente comme une
enveloppe pouvant être signée et pouvant contenir des
données ou des pièces jointes.
SOAP est un protocole d'invocation de méthodes sur des
services distants. Basé sur XML, SOAP a pour principal objectif
d'assurer la communication entre machines. Le protocole
permet d'effectuer des appels de méthodes à distance ,et
d'envoyer des messages aux machines distantes via HTTP.
C’est un protocole de dialogue par appels de procédures à
distance entre objets logiciels
CHAABANI MARWA 7
SOAP
SOAP est inter-opérable, ainsi il est indépendant des plates-
formes et langages de programmation.
SOAP est simple et extensible
• * Il permet de réaliser des appels de méthode sur le Web
• * Indépendant des OS, des modèles objets, des langages
• * Transport des messages par HTTP + XML
• * Fonctionne avec l’infrastructure Internet existante
• * Permet l’interopérabilité entre OS, langages et modèles
objets
CHAABANI MARWA 8
Structure d'un message SOAP
CHAABANI MARWA 9
Structure d'un message SOAP
CHAABANI MARWA 10
Exemple
CHAABANI MARWA 11
Exemple SOAP
CHAABANI MARWA 12
WSDL
WSDL (Web Services Description Language) est un langage de
description standard. C'est l'interface présentée aux utilisateurs.
Il indique comment utiliser le service Web et comment interagir
avec lui.
WSDL est basé sur XML et permet de décrire de façon précise
les détails concernant le service Web tels que : les protocoles,
les ports utilisés, les opérations pouvant être effectuées, les
formats des messages d'entrée et de sortie et les exceptions
pouvant être envoyées,… les méthodes avec les types de
paramètres requises … les réponses avec les types de
paramètres renvoyés
CHAABANI MARWA 13
WSDL
WSDL décrit toutes les
méthodes disponibles
dans le services Web, ainsi
que les types de requêtes
et de réponse. Il décrit le
contrat entre le service et
le client.
La structure du document
WSDL en XML :
CHAABANI MARWA 14
UDDI
UDDI (Universal Description, Discovery and Integration) est un
annuaire de services. Il fournit l'infrastructure de base pour la
publication et la découverte des services Web. UDDI permet aux
fournisseurs de présenter leurs services Web aux clients. Les
informations qu'il contient peuvent être séparées en trois types :
- les pages blanches qui incluent l'adresse, le contact et les
identifiants relatifs au service Web ;
- les pages jaunes qui identifient les secteurs d'affaires relatifs au
service Web ;
- les pages vertes qui donnent les informations techniques.
CHAABANI MARWA 15
UDDI
Exemple Annuaire : http://soapclient.com/uddisearch.html
CHAABANI MARWA 16
Architecture
CHAABANI MARWA 17
JAX-WS
JAX-WS : Java API for XML Web
Services
Précédemment s’appelait JAX-RPC
(Remote Procedure call)
JAX-WS permet de cacher
entièrement la complexité des
communications impliquant SOAP et
WSDL.
JAX-WS
JAX-WS (Bottom-Up)
Déploiement dans
le serveur
Génération du
fichier WSDL
Concepts des web services
CHAABANI MARWA 21
SOA
Comparaison
Architectures Web Services
SOAP Web Services REST Web Services
▪ Simple Object Access Protocol (SOAP) • Representational State Transfer
▪ Web Services Description Language (WSDL) • Extensible Markup Language (XML)
▪ Extensible Markup Language (XML) • Hypertext Transfer Protocol (HTTP)
▪ Hypertext Transfer Protocol (HTTP) • JavaScript Object Notation (JSON)
▪ Universal Description Discovery and • Web Application Description Language (WADL)
Integration (UDDI)
CHAABANI MARWA 23
API REST & WebService
Les API REST fournissent des ressources
◦ API de type CRUD basée sur HTTP ou HTTPS avec XML ou JSON;
◦ portables entre plusieurs technologies (java, .Net, PHP, C++, etc.) ;
◦ adaptées au web (utilisation des verbes du protocole HTTP).
Les WebServices fournissent des services
◦ fonctions plus évoluées que de simple CRUD, (services "métier") ;
◦ Avec des définition stricte (WSDL) qui facilite l'outillage et la
génération de code;
◦ Portables entre plusieurs technologies (java, .Net, PHP, C++, etc.).
API REST & WebService
API REST & WebService
API REST & WebService
Architectures Web Services
CHAABANI MARWA 28