web service

Upload: tali-ahmed

Post on 09-Jul-2015

239 views

Category:

Documents


0 download

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