web service
TRANSCRIPT
Master Web Intelligence
Introduction aux Web Services
Rahee Ghurbhurn, mail : [email protected]
1
Contenu du cours
Partie I : Gnralits
Dfinitions Motivations Vue globale XML SOAP WSDL UDDI Une petite implmentation Les plate-formes Leur utilisation. Limites et volutions Positionnement par rapport aux agents.
Partie II : Les technologies
Partie III: Et dans la pratique ???
Partie IV : Le futur des Web Services
2
Partie I : Gnralits
3
Dfinitions
Quelques dfinitions
Les web services permettent linvocation de fonctions distantes, prsentes sur des systmes distribus et htrognes, grce au protocole HTTP et XML. les services web sont des applications auto-descriptives, modulaires et faiblement couples qui fournissent un modle de programmation et de dploiement dapplications, bas sur des normes, et sexcutant au travers de linfrastructure web Les Web Services, H.Kadima, Dunod 2003 Un service web est une application conue pour assurer une interoprabilit entre machines au travers dun rseau. Un web service est une interface qui dcrit un ensemble doprations accessibles via un rseau par des messages XML standards Un service web est un composant applicatif mis la disposition sur un rseau et disposant de mthodes que lon peut invoquer distance via lemploi de protocoles standards. Les services Web prsentent lavantage dtre faiblement coupls, indpendants des plateformes et rutilisables Livre Blanc :Les Services Web, S.Bardet, 2003
4
Motivations: un contexte B2C
Le Business to Consumer (B2C)
Entreprise A
Client
HTTP
Entreprise D Entreprise C
Entreprise B
5
Motivations: un contexte B2B
Business to Business (B2B)
Envoi de bons de commandes Fournisseur A Traitements Envoi produits Entreprise A Clients
Envoi produits
6
Fournisseur B
Motivations: un contexte A2A
Intra entreprise ( intgration dapplications )Calcul du fret / risque taux de change
MS Serv Fi SI DW Serv RH SAP Site B
Prop Serv Mkt SI
Site A SAP Serv Fi SI SI Serv Mkt IBM Prop Serv RH SI DW SI Serv Aht Oracle Ajout de salaris
SI Serv Aht IBM
7
Motivations: volution des middlewares
Quelle est la nouveaut dans les web services ? Pourquoi ne pas utiliser les technologies existantes?
Remote Procedure Call Message Oriented Middleware Objets Distribus Database Oriented Middleware
8
Motivations: volution des middlewares - RPC
Remote Procedure Call (RPC)Principe dappel de procdure type client/serveur sexcutant sur une machine distante dans un environnement dapplications distribues. Un des plus vieux middlewares Fonctionne de manire synchrone Facile comprendre et coder Ncessite beaucoup de ressources Complexe administrer Pas de standards / Implmentation spcifique un vendeur Ne supporte pas la POO
9
Motivations: volution des middlewares - MOM (1/2)
Message Oriented Middleware
Utilisation de messages asynchrones pour faire communiquer les applications
10
Motivations: volution des middlewares - MOM (2/2)
Les avantages
Faible couplage Garantie de livraison Mcanisme de persistance Risque de surcharge du systme Implmentation propritaire ( msg + architecture) Plus le systme est grand et htrogne, plus ladministration est difficile Peu portable et peu interoprable
Les inconvnients
11
Motivations: volution des middlewares - CORBA (1/2)
Les objets distribus
CORBA
Norme de communication utilise pour l'change entre objets logiciels htrognes. Un langage, IDL (Interface Definition Language) dcrit les traitements effectus et les formats de donnes en entre et en sortie. Un bus applicatif, ORB (Object Request Broker) constitue le cur de CORBA par lequel les requtes sur les objets transitent.
12
Motivations: volution des middlewares - CORBA (2/2)
Les avantages de CORBA :
Indpendant du systme dexploitation et du langage de programmation. Permet lintgration des systmes propritaires grce lIDL Gestion des rfrences CORBA standardis par lOMG CORBA intgre les aspects mtiers. Incompatibilit entre les implmentations CORBA complexe apprhender et mettre en place. Prix lev Problme de pare-feu Scurit et administration Pas aussi simple quon pense, ncessite des changements dans les applications
Les inconvnients
13
Motivations: volution des middlewares - RMI (1/2)
Remote Method Invocation
Le but de RMI est de permettre l'appel, l'excution et le renvoi du rsultat d'une mthode excute dans une machine virtuelle diffrente de celle de l'objet l'appelant
14
Motivations: volution des middlewares - RMI (2/2)
Avantages
Plus simple que le dveloppement des sockets JAVA Supporte la POO Transparence dans les communications entre objets Gestion distribue des ressources Limit la plate-forme JAVA Architecture fortement couple Pas de gestion de session
Inconvnients
15
Motivations: volution des middlewares - COM/DCOM (1/2)
Component Object Model (COM/ DCOM)
Modle de Microsoft pour le dveloppement de composants logiciels rutilisables, orients objet et indpendants du langage de programmation.
16
Motivations: volution des middlewares - COM/DCOM (2/2)
Les avantages
Simple dutilisation. Portabilit binaire Spcifique Microsoft Problme de gestion des tats et de sessions Pas de portabilit de code-sources
Les inconvnients
17
Motivations: volution des middlewares - Composants (1/2)
Les composants
Un composant est un lment de base dans la construction d'applications.C'est une unit logicielle autonome offrant des interfaces spcifies permettant entre autre de configurer le composant lui-mme. Le composant dispose aussi de fonctionnalits additionnelles comme la gestion du dploiement,de la composition et sa gestion dynamique. Il a pour but
de diminuer la complexit des applications (notamment distribues ) d'augmenter la productivit d'amliorer la qualit logicielle Corba Component Model J2EE EJB
Deux trs utiliss
18
Motivations: volution des middlewares - Composants (2/2)
Intrt des composants
Indpendance des composants la Compilation Granularit: Faciliter la cration de grandes applications Rutilisation: Composants = boites noires indpendantes Programmation: Faciliter (parfois !) Extensibilit: Complter un composant sans effets de bord Excution: Matrise du cycle de vie
19
Motivations: positionnement des web services (1/3)
Les besoins des entreprises
Flexibilit et indpendance
La possibilit de rorganiser le systme de faon rapide, efficace et peu chre Entre partenaires, clients ou services Tout le monde na pas la mme organisation, les mme systmes Comment partager des applications si tout le monde est protg par un pare-feu ? Garantie de livraison
Partage dinformations/dapplications
Interoprabilit
Scurit et confidentialit
20
Motivations: positionnement des web services (2/3)
Les web services rpondent la question :
Peut-on combiner les caractristiques dune architecture distribue des protocoles de communication standards et des clients lgers ?
Construits partir des caractristiques de la problmatique dintgration dapplications et de partage dinformations entre plate-formes htrognes ( et pas comment je fais pour accder une mthode ?) Technologies acceptes par un grand nombre de fournisseurs de logiciels et dorganismes ( Microsoft, OMG, W3C, OASIS)
21
Motivations: positionnement des web services (3/3)
En Rsum
CORBA
Multi-langages, multi-plate-formes, multi-vendeurs Mono-langage, multi-plate-formes (JVM) Multi-langages, plate-forme win32
JAVA RMI
DCOM
22
Motivations: intrt des web services
XML est utilis pour lchange des donnes et messages. Ils permettent lintgration de plate-formes htrognes via le protocole HTTP Les dveloppeurs ont lembarras du choix en matire de langage de programmation : Java, C, C++, Perl, Python, C#, et/ou Visual Basic, Peu ou pas de modification des applications existantes Permet une intgration faible, les composants sont simples mais peuvent rsoudre des problmes complexes Lutilisation du protocole HTTP permet de passer les parefeu
23
Motivations: intrt des web services
Il nexiste pas de client propritaire Outils de dveloppement et de dploiement fournis par les principales plate-formes J2EE et Microsoft .NET Permet la localisation et linvocation dynamique dautres services partir de registres privs ou publics
24
Vue globale : scnario gnral dutilisationEst-ce quil y a quelquun pour calculer le risque li au contrat ? Annuaire
Comment utilise-t-on le service ? Voici les spcifications
Fournisseur
Client Ok jai compris voil les donnes
25
Voil le rsultat
Vue globale : les technologies de bases
26
Partie II : Les Technologies
27
Les technologies : XML (1/2)
Extensible Markup Language (XML)
Norme du W3C depuis 1998 , XML reprend les qualits de SGML (et utilise sa syntaxe):un balisage logique hirarchique. une description facultative du document; elle peut tre extrieure ou intgre au document. une portabilit quasi universelle.
Il permet de crer des pages Internet sophistiques, de structurer un document, de dcrire des donnes. Il est aussi utilis pour les changes entre machines et/ou programmes, mme trangers entre eux.
28
Les technologies : XML (2/2)
Comment XML facilite lutilisation de WS ?
La sparation du contenu dun document, de sa structure et de sa reprsentation facilite lchange dinformations entre les diffrents partenaires. Permet la composition de services plus complexes travers la dfinition des enchanements entre les services grce BPEL4WS Favorise lmergence de standards dindustrie dans la mesure o les structures de donnes sont rutilises et rutilisables.
29
Les technologies : XML -DTD
DTD
Document spcifiant la structure, la syntaxe et le contenu dun document XML Peut tre inclue dans le fichier XML, mais pour une meilleure rutilisabilit, la DTD est spare du document XML quelle reprsente Elle peut contenir des dclarations, des notations, des lments, des listes dattributs, des commentaires La DTD nest pas un document XML Difficile faire voluer Il ny a pas de limites sur les caractres La notion despace de nommage nexiste pas
Les limites
30
Les technologies : XML - Namespace
Les namespaces
Consiste regrouper les noms dlments et les noms dattributs dans une collection qui sera identifie par une URI. Cette technique permet dviter des conflits de noms dans un document XML et permet dadapter les traitements au contenu du document. Les namespaces favorisent la rutilisation des standards dj dfinis dans des domaines dactivits spcifiques. Permet de spcifier la syntaxe dune classe de documents XML en dfinissant les lments et attributs ainsi que les contraintes sur celleci. ( Mmes objectifs quune DTD).
Schma XML
31
Les technologies : SOAP
Simple Object Access Protocol
SOAP permet une normalisation des changes de donnes. Les donnes sont encodes en XML et changes par des appels de procdures distance (RPC) en utilisant HTTP/SMPT/POP comme protocole de communication. Standard W3C Simple, extensible et permet le diagnostic des erreurs Message unidirectionnel Fonctionne de manire synchrone et asynchrone. Indpendant de la plate-forme et du langage Nest pas perturb par les pare-feu
32
Les technologies : SOAP- fonctionnement
FonctionnementRequte SOAP Nom + paramtres Dcodage + Appel de mthodes Excution de la mthode
HTTP
Client
Listener
Service Methods
DB
Rponse SOAP
Encodage en SOAP
Rcupration rponse DB
33
Le mme processus de dcodage et dexcution du ct client
Les technologies : SOAP - structure (1/6)
Structure des messages SOAP
Enveloppe
Permet de spcifier version de SOAP utilise Optionnel, permet de spcifier certaines directives pour le traitement du message Contient les donnes Permet lenvoi de donnes non-XML
1 2005-01-26T10:30:00-11:00 Pas de Pause !!!!
Entte
Corps
Pices jointes
34
Les technologies : SOAP - structure (2/6)
Lenveloppe