Anda di halaman 1dari 28

Web Services

Plan
 Principes
 Besoins pour assurer le web services (SOAP,
WSDL, UDDI)
 Cycle de vie d’un web service Tomcat / Axis
 Exemple de développement d’un Web service
 Conclusion
Définition
 Les Web Services sont des services offerts via
le web.
 Par exemple, un client demande le prix d’un
article en envoyant un message sur le web. Ce
message contient la référence de l’article. Le
Web Service va recevoir la référence, effectuer
le traitement du service et renvoyer le prix au
client via un autre message.
Avantage du web service
 Peut appeler à distance à travers un
réseau, indépendamment du système
d'exploitation et du langage de
programmation utilisé.
 Par exemple, un client écrit en PHP
s'exécutant sur Unix peut utiliser un
service web développé en Java qui
s'exécute sur Windows et inversement.
Principes

Pourquoi proposer des


nouveaux Approches pour le
web services
Besoins pour un service
 Invocation, visant à décrire la structure des
messages échangés par les applications.
 Découverte, pour permettre de rechercher et de
localiser un service web particulier dans un
annuaire de services décrivant le nom de la
société, l'objectif de chaque service, etc.
 Description, dont l'objectif est la description des
interfaces (paramètres des fonctions, types de
données) des services web.
4 propriétés du service à retenir

• Un Service est Autonome


et sans état (en général, c.ex
• Un Service expose un Contrat
WSRF)

Conditions Générales de Vente


Règlement Intérieur
in Vos droits/Vos devoirs

• Les Frontières entre services sont out


Explicites
• Les services communiquent
par messages

(c) 2007, Occello Audrey, SAR O2/SAR


O3 SOA -7-
Standards utilise pour le web
service
 Un nouveau Protocole : SOAP = HTTP + XML
 Requête/réponse = message xml

 WSDL - Description de service web


 Description des interfaces des services

 UDDI - Découverte automatique des services


(dynamicité)
 Annuaire contenant les interfaces (Pages Jaunes,
Vertes, Blanches)
SOAP (Simple Object Access
Protocol)
 Protocole d’échange de messages (client /
serveur)
 Protocole permettant des appels de procédures
à distances
 Basé sur 2 standards
 XML pour bien structure les messages
 HTTP pour le transport des messages
 Concepts
 Message = Enveloppe ( Header + Body )
SOAP (Simple Object Access
Protocol)
 Définition
 SOAP envelope
 Structure d’un message
 SOAP Encoding rules
 Règle d’encodage des types de données
 SOAP RPC
 Convention de représentation des appel de methodes
 HTTP Extension framework
 Echange de message sur http
Structure d’un Message SOAP
WSDL

Web Services Description


Language
WSDL
 Langage de définition de Web Services
 Basé entièrement sur XML
 Standard W3C (Initiative IBM et Microsoft)
 Actuellement WSDL 1.1
 Définition de l’interface, de l’URL et du
port du Web Service.
Présentation
Une description WSDL :
1. Décrit le type d’un service web (méthodes, types
des paramètres)

2. Décrit les aspects techniques d’implantation d’un


service web (quel est le protocole utilisé, quel est le
l’adresse du service)
Cette description sert à se connecter concrètement
à un service web.
Structure du fichier WSDL
 Un fichier WSDL contient une description de tout ce qui est
nécessaire à l'appel d'un service Web SOAP :
 types: cette balise décrit les types utilisés
 message: cette balise décrit la structure d’un message échangé
 portType: cette balise décrit un ensemble d’opérations (interface d’un
service web)
 operation: cette balise décrit une opération réalisée par le service web. Une
opération reçoit des messages et envois des messages.
 binding: décrit le lien entre un protocole (http) et un portType.
 service: cette balise décrit un service comme un ensemble de ports.
 port: cette balise décrit un port au travers duquel il est possible d’accéder à
un ensemble d’opérations. Un port référence un Binding
Cycle de vie d’un Web
Service avec Tomcat /
Axis
Infrastructure
 Apache Web Server
 Serveur d’ applications TOMCAT
(Servlets, JSP)
 Xerces, API Java de parsing XML
 API SOAP
Introduction
 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
 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.
Conception du service dans le
serveur Tomcat / Axis
Annuaire UDDI

yp
wsdl
wp

Tomcat

APACHE
Client HTTP

Services
XML parser
1. Conception
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
Enregistrement du fichier WSDL dans
l’annuaire UDDI pour assure la découverte
automatique
Annuaire UDDI
2. Enregistrement
yp
wsdl
wp wsdl

Tomcat

APACHE
Client HTTP

Services
XML parser
Découverte du service
Annuaire UDDI
wsdl yp
wsdl
4. Envoi fichier wp
WSDL
3. Demande service Tomcat

APACHE
Client HTTP

Services
XML parser
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
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 XML parser
AxisServlet reçoit
le message du
client
É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
Références
 SOAP : http://www.w3.org/TR/SOAP/
 WSDL : http://www.w3.org/TR/2001/NOTE-wsdl-
20010315
 UDDI : http://www.uddi.org/
 Apache SOAP : http://xml.apache.org/soap/

Anda mungkin juga menyukai