Sie sind auf Seite 1von 19

Prsentation gnrale des Web Services

Vue Globale

Type d'architecture reposant sur les standards de l'Internet Alternative aux architectures classiques : Client/serveur n/tiers Oriente services permettant des applications de communiquer sans proccupation des technologies d'implantations utilises de part et d'autre Priorit : Interoprabilit Ne fin 90 (Microsoft, IBM, SAP) Base sur les technologies XML

Architecture web-services

Web-services : logiciel qui interagit avec d'autres au moyen de protocoles & langages universels (http, xml ) Deux formes de services-web : SOAP & XML-RPC Prsentent 2 caractristiques : Enregistrement (facultatif) auprs d'un service de recherche (UDDI) Interface publique avec laquelle le client invoque le service Web (WSDL)

Architecture web-services
UDDI : Universal Desciption, Discovery and Integration peut tre vu comme les pages blanches (ou jaunes) des servicesweb.
C'est un annuaire permettant des fournisseurs de prsenter leurs services des 'clients'.

WSDL : Web Service Description Language est un langage reposant sur XML dont on se sert pour dcrire les servicesweb.

Il est indispensable UDDI pour permettre aux clients de trouver les mthodes leur permettant d'invoquer les services web.

SOAP : Simple Object Access Protocol est un protocole bas sur XML et qui dfinit les mcanismes d'changes d'information entre les clients et les fournisseurs de serviceweb.

Les messages SOAP sont susceptibles d'tre transports en HTTP, SMTP, FTP...

XML-RPC : protocole RPC (Remote Procedure Call) bas sur XML. Permet donc l'invocation de procdure distante sur internet.

Interoprabilit

Capacit des services Web faire converser des applications & des composants htrognes Exemple : Ralisation d'un service Web permettant de donner le cours d'une action en bourse, fonctionnant sous Linux en Java Et l'interroger depuis une page Web Asp.net en mme temps que depuis une application PERL ou PHP

Fonctionnement - SOAP

Un protocole standard de communication : SOAP (Simple Object Access Protocol) Ecrit en XML Standardis par le W3C

Prsentation :
Enveloppe pouvant contenir des donnes ou des pices jointes Circule sur le protocole HTTP Permet d'effectuer des appels des mthodes distantes

Fonctionnement - XSD

Un format standard de reprsentation des donnes : XSD (schma XML) Standardis par le W3C Assure la compatibilit des donnes, mme sur des platesformes diffrentes

Fonctionnement - WSDL

Un langage de description standard : WSDL (Web Service Description Language) Interface prsente aux utilisateurs Dcrit comment utiliser le service et interagir avec lui Description XML, standardise W3C Accessible depuis une URL distante

Fonctionnement - WSDL
WSDL dfinit :
Les Types : un systme de types applicable des donnes. Utilisation de XML Schema pour dfinir les types de donnes. Le Message : dcrit les donnes changes entre services web. Peut-tre compar aux paramtres d'un appel de procdure. Le Type de Port (portType): dfinit les oprations du service web et les messages impliqus (de type input, output ou fault). Peut tre compar une interface Java.

Fonctionnement - WSDL
WSDL dfinit :
La Liaison (binding) : dfinit le format des messages (par exemple soap:body spcifie que le le message considr sera transmis dans la partie body du message soap) et le protocole utilis par chaque type de port. C'est l'implmentation de l'interface. Le Port : un point de terminaison identifi de manire unique par la combinaison d'une adresse internet et d'une liaison Un Service Web (service) : associe des liaisons des process concrets de mise en oeuvre des oprations qu'elles dcrivent (typiquement une URL dans le cas d'une liaison mettant en oeuvre SOAP sur HTTP)

Fonctionnement - UDDI

Un mcanisme de dcouverte : UDDI (Universal Description Discovery and Integration) Mcanisme permettant aux utilisateurs de dcouvrir quels sont les services qui correspondent leurs besoins Ces descriptions de services sont centralises sur un serveur public ou priv Semblable un annuaire

Fonctionnement - Couches

Toutes ces technologies sont disposes en couches et constitue l'architecture services Web

Exemple : Java & les web-services

Java dispose de nombreuses API utiles aux services-web :


API API API API pour pour pour pour le traitement XML : JAXP RPC-XML : JAX-RPC l'change de donnes XML : JAXM les annuaires XML : JAXR

Mais il existe surtout des librairies prtes l'emploi simplifiant grandement la conception et la consommation de services web :
AXIS : c'est une implmentation Java de SOAP offerte par l'Apache Software Foundation qui couvre aussi bien la conception que la consommation des services-web. Apache propose aussi une implmentation de XML-RPC Apache, propose un framework ddi l'invocation des servicesweb : WSIF (Web Service Invocation Framework).

Fonctionnement - Exemple

service StockQuoteService :
Il retourne le cours d'une action en bourse, partir de son code de cotation

Fonctionnement - Exemple
Un utilisateur dsire consulter le cours de l'action IBM au moyen d'un service Web.

1. Pour cela, il interroge un serveur UDDI dont


il connat l'adresse , afin de savoir quels sont les services disponibles correspondant ses besoins. Le serveur lui retourne la liste des possibilits parmi lesquelles il en slectionne une. ce stade, l'utilisateur ne possde qu'une URL pointant vers le service slectionn.

Fonctionnement - Exemple

2. Il rcupre ensuite une interface WSDL , accessible depuis l'URL, qui lui permet de
savoir comment utiliser le service. partir de cette interface, l'utilisateur va automatiquement gnrer les stubs du service. Stubs :objets locaux disposant des mmes fonctions que le service distant et qui permettront l'utilisateur d'accder au service distant en toute transparence. Les stubs sont crs grce un outil et peuvent tre gnrs dans un grand nombre de langages de programmation diffrents

Fonctionnement - Exemple

3. cet instant, le stub va reprsenter l'appel de mthode distante sous la forme


d'une requte SOAP dans laquelle seront inclus les paramtres fournis par l'utilisateur. Ces paramtres seront empaquets grce la mthode standard de reprsentation des donnes, ce qui permet d'assurer la compatibilit inter machines (PC, Mac, etc.). Cette requte est ensuite mise vers l'URL dsignant le service Web.

Fonctionnement - Exemple

4. Sur la machine hbergeant le service, la requte est rceptionne puis ouverte par
un Tie.

5. Le service Web, une fois la requte comprise, interroge sa base de donnes et


rcupre le cours de l'action IBM .

6. Une rponse SOAP est construite puis est mise en direction de l'expditeur initial.
Le stub rceptionne ensuite la rponse, l'ouvre et en extrait le cours de l'action IBM qu'il retourne finalement l'utilisateur

Scurit

Les services Web disposent d'une norme standard de scurit qui permet dassurer la confidentialit des oprations : WS-Security.
Confidentialit (la communication est prive) : assure par lutilisation dune connexion SSL pour le transfert des requtes SOAP entre le client, dventuels intermdiaires et le serveur final. Intgrit (la requte nest pas modifie) : elle est assure soit par lutilisation dune connexion SSL ou par lencodage de la requte laide dun certificat X.509. Authentification (le message provient bien de la personne qui le prtend) : elle est assure par lajout dun mot de passe ou dun certificat X.509 dans lentte de la requte. Autorisation (la personne mettrice de la requte peut accder aux donnes) : cet aspect de la scurit est dlgu au serveur recevant la requte.

Das könnte Ihnen auch gefallen