Beruflich Dokumente
Kultur Dokumente
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
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.
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
Fonctionnement - Exemple
4. Sur la machine hbergeant le service, la requte est rceptionne puis ouverte par
un Tie.
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.