Title: Web Services
1Web Services
Architecture et Protocoles
- Rémi BadonnelLORIA INRIA Lorraine
- badonnel_at_loria.fr
2Web Services
- Contexte définition
- Architecture orientée services
- Protocoles XML sous-jacents
- Invocation (SOAP)
- Description (WSDL)
- Découverte (UDDI)
- Composition de services
- Plate-formes opérationnelles
- Bilan
3Contexte
- Evolution du Web des usagers au Web des
communications entre applications
WEB
WEB
Usager Navigateur Web
Serveur Web
Application 1
Application 2
Communications entre un usager et une application
Communicationsentre applications
Lentité principale est lusager. Ex Achat
dun livre via les pages Web dune compagnie
Lentité principale est lapplication. Ex
Achat automatisé de fournitures (via un Web
Service)
4Contexte
- Limites des middlewares "traditionnels"
- Mono-langage Java RMI,
- Mono-plateforme DCOM sous Windows,
- Complexe à mettre en uvre CORBA.
- Adaptation des architectures réparties au
contexte de lInternet où le Web est considéré
comme un nouveau middleware. - Multi-langage, Multi-plateforme,
- Spécification garantie par un organisme
indépendant, - Simple à mettre en uvre.
5Définition
- Un Web Service est une application modulaire
- Mise à disposition sur lInternet ou sur un
réseau privé (Intranet), - Auto-descriptive, publiable et accessible en
utilisant le langage XML et les protocoles
standards du Web, - Indépendante du système dexploitation et du
langage de programmation, - Visant à exposer une ou plusieurs fonctionnalités
(souvent commerciale(s)) dune entreprise.
6Définition
- Le modèle des Web Services est défini par une
architecture et un ensemble de protocoles
standardisés SOAP, WSDL, UDDI. - Spécifications garanties par W3C et OASIS,
- Interopérabilité entre implantations gérée par
la WS-I (Web Services Interoperability)
Organization. - Objectifs du modèle
- Modularité,
- Réutilisation et composition de services,
- Interopérabilité,
- Dialogue entre environnements et plate-formes
hétérogènes, - Couplage faible (communications
synchrones/asynchrones), - Intégration,
- Intégration du système dinformation au sein et
en dehors de lentreprise, - Masquage de la complexité.
7Architecture Orientée Services
Annuaire de Services
1. Déploiement
Service
2. Publication
3. Découverte
Client du Service
Fournisseur du Service
4. Invocation
Service
8SOA pour les Web Services
Annuaire UDDI De Web Services
1. Déploiement
Web Service
Description WSDL
Description WSDL
Description WSDL
Description WSDL
2. Publication
3. Découverte
Fournisseur de Web Services
Client du Web Service
Description WSDL
Service Web Réservation Séjour
Description WSDL
Description WSDL
Proxy
Application
Web Service
Application
4. Invocation
Protocole SOAP
Description WSDL
9Diagramme des protocoles
Composition de servicesWS-BPEL, WS-CDL
Sécurité
Robustesse
Management
Découverte/Publication UDDI
Description WSDL
Base
Echange SOAP
TransportHTTP, SMTP, FTP, JMS
10SOAPInvocation dun Web Service
Fournisseur de Web Services
Client du Web Service
Service Web Réservation Séjour
Description WSDL
Description WSDL
Proxy
Application
Web Service
Application
Invocation
Protocole SOAP
11Quest-ce que SOAP ?
- Définition
- Protocole léger déchange dinformation
structurée dans un environnement distribué, - Format des messages en XML,
- Transport sur le protocole HTTP (usuellement),
- Ouvert à dautres protocoles tels que SMTP, FTP,
JMS - Large inspiration de XML-RPC
- Terminologie
- Initialement Simple Object Access Protocol
- Temporairement Service Oriented Architecture
Protocol ? - Aujourdhui SOAP nest plus un acronyme.
12Exemple Message SOAP
- ltenvEnvelope xmlnsenv"http//www.w3.org/2002/
06/soap-envelope/" envencodingStyle"
http//www.w3.org/2002/06/soap-encoding/"/gt - ltenvHeadergt lttTransaction x
mlnst"some-URI" envmustUnderstand"1
"gt 5 lt/tTransactiongt lt/e
nvHeadergt - ltenvBodygt ltmGetLastTradePrice
xmlnsm"Some-URI"gt ltsymbolgt - GEM
- lt/symbolgt lt/mGetLastTradePricegt lt/env
Bodygt - lt/envEnvelopegt
13SOAP - Spécification
- Initiative conjointe de Microsoft et IBM,
- Spécification standard gérée par le W3C
- SOAP 1.2, W3C recommendation W3C, juin 2003,
- SOAP 1.1, W3C note soumise en mai 2000,
- Parties de la spécification
- SOAP message exchange model
- Définition du modèle de communication
- SOAP envelope
- Définition de la structure dun message
- SOAP encoding
- Règles dencodage des types de données
- Using SOAP in HTTP
- Transport des messages avec HTTP
- SOAP for RPC
- Conventions de représentation des appels RPC
14Echange de messages SOAP
- Modèle déchange de base
- Message à sens unique (one-way)
- Modèle déchange implicite
- Requête/Réponse
- Appels RPC
EmetteurSOAP
MessageSOAP
Récepteur SOAP
Transport
Transport
MessageSOAP (requête)
Emetteur SOAP
Récepteur SOAP
Message SOAP (Réponse)
Transport
Transport
15Structure dun message
- Envelope
- Contenant dun message,
- Élément racine XML,
- Schéma XML
- http//www.w3.org/2002/06/soap-envelope/
- Header (optionnel)
- Entrées non applicatives,
- Ex Numéros de session.
- Body (obligatoire)
- Entrées applicatives,
- Ex nom des procédures, nom des paramètres,
valeurs de paramètres, - Retour derreurs.
SOAP ENVELOPE
SOAP HEADER
HEADER ENTRY
SOAP BODY
BODY ENTRY
16Entête dun message
- Informations de lentête ltHEADERgt
- Entrées non applicatives, ne dépendant pas
nécessairement de lapplication réceptrice, - Identifiants, transactions, certificats de
sécurité. - Attributs des entrées dentête
- Attribut "role" vaut none, next,
ultimateReceiver définit le rôle des nuds SOAP
dans le traitement du message, - Attribut booléen "mustUnderstand" vaut 0 si
lentrée est optionnelle ou 1 si elle doit être
comprise par lapplication réceptrice pour que le
message soit traité. - Exemple
-
ltenvHeadergt lttTransaction
xmlnst"some-URI"
SOAP-ENVmustUnderstand"1"gt
5 lt/tTransactiongt lt/envHeadergt
17Corps dun message
- Informations du corps ltBODYgt
- Entrées applicatives,
- Représentation dun appel de procédures par un
ensemble dentrées. - Règles dencodage des données
- Type simple, type composite (structure, vecteur)
, - Schéma XML.
- http//www.w3.org/2002/06/soap-encoding
- Exemple
ltenvBodygt ltmGetLastTradePrice
xmlnsm"Some-URI"gt ltsymbolgt GEM
lt/symbolgt lt/mGetLastTradePricegt
lt/envBodygt
18Retour derreurs
- Entrée ltfaultgt dans le corps du message
- Quatre sous-éléments
- faultcode (obligatoire)
- Code derreur exploité par le logiciel,
- Client, Server, MustUnderstand, VersionMismatch,
- faultstring (obligatoire)
- Explication littérale de lerreur,
- faultactor
- Erreur lors de cheminement du message,
- detail
- Détail de lerreur si elle porte dur le corps du
message. - Exemple
ltenvBodygt ltenvFaultgt
ltfaultcodegtSOAP-ENVMustUnderstandlt/faultcodegt
ltfaultstringgtMust Understand
Errorlt/faultstringgt lt/envFaultgt
lt/envBodygt
19Transport de messages SOAP
- HTTP (HyperText Transfer Protocol)
- Protocole bidirectionnel synchrone
requête/réponse - Transfert de fichiers (habituellement HTML)
- Requête méthode GET/méthode POST
- Simple et disponible sur toute plate-forme
Requête HTTP
POST www.loria.fr/script HTTP/1.1 accept
text/html accept image/gif content-type
application/x-www-form-urlencoded
parametre1valeur1 parametre2valeur2
Client HTTP
Serveur HTTP
HTTP/1.0 200 OK content-type text/html ltHTMLgtltH
EADgtltTITLEgtLORIA
Réponse HTTP
20Liaison SOAP/HTTP
- SOAP utilise le mode POST de HTTP
- Requête SOAP/HTTP
- Ajout du champs "action"
- Acheminement et Filtrage par les serveurs HTTP
- Content-Type application/soapxml
- Message SOAP
- Réponse SOAP/HTTP
- Content-Type application/soapxml
- Etat 2xx
- Requête SOAP reçue et traitée avec succès,
- Message SOAP envoyée contient la réponse ou rien
(one-way model). - Etat 500
- Requête SOAP échouée,
- Envoi dun message SOAP contenant le retour
derreur.
HTTP
Message SOAP
21Appel RPC en SOAP
- Modèle déchange Requête/Réponse
- Sérialisation de lappel et du retour dappel
- Contenu dans le corps du message SOAP
- Conventions de nommage
- nomDeProcedure (param1, param2, param3) param4
- Requête
- Réponse
ltnsnomDeProceduregt ltnsparam1gt valeur1
lt/nsparam1gt ltnsparam2gt valeur2
lt/nsparam2gt ltnsparam3gt valeur3
lt/nsparam3gt lt/nsnomDeProceduregt
ltnsnomDeProcedureResponsegt ltnsparam4gt valeur4
lt/nsparam4gt lt/nsnomDeProcedureResponsegt
22Requête SOAP/HTTP
POST /StockQuote HTTP/1.1Host
www.stockquoteserver.comContent-Type text/xml
charset"utf-8"Content-Length nnnnAction
"Some-URI"
- ltenvEnvelope xmlnsenv"http//www.w3.org/2002/06
/soap-envelope/" envencodingStyle"
http//www.w3.org/2002/06/soap-encoding/"/gt -
-
- lt/envEnvelopegt
ltenvHeadergt lttTransaction
xmlnst"some-URI"gt 5 lt/tTransactiongt lt/envHead
ergt
ltenvBodygt ltmGetLastTradePrice
xmlnsm"Some-URI"gt ltsymbolgt
GEMlt/symbolgt lt/mGetLastTradePricegt lt/en
vBodygt
23Réponse SOAP/HTTP
HTTP/1.1 200 OKContent-Type application/soapxml
charset"utf-8"Content-Length
nnnn
ltenvEnvelope xmlnsenv"http//www.w3.org/2002/06
/soap-envelope/" envencodingStyle"
http//www.w3.org/2002/06/soap-encoding/"/gt
lt/envEnvelopegt
ltenvBodygt ltmGetLastTradePriceResponse
xmlnsm"Some-URI"gt ltPricegt34.5lt/Pricegt
lt/mGetLastTradePriceResponsegt lt/envBo
dygt
24Réponse SOAP/HTTP (erreur)
HTTP/1.1 500 Internal Server ErrorContent-Type
application/soapxml charset"utf-8"Content-Leng
th nnnn
ltenvEnvelope xmlnsenv"http//www.w3.org/2002/06
/soap-envelope/" envencodingStyle"
http//www.w3.org/2002/06/soap-encoding/"/gt
lt/envEnvelopegt
ltenvBodygt ltenvFaultgt
ltfaultcodegtSOAP-ENVMustUnderstandlt/faultcodegt
ltfaultstringgtSOAP Must Understand
Errorlt/faultstringgt lt/envFaultgt
lt/envBodygt
25Point de vue architectural
Fournisseur de Web Services
Client du Web Service
Service Web Réservation Séjour
Description WSDL
Description WSDL
Invocation du service
Proxy
Application
Web Service
Application
Message SOAP
SOAP engine
SOAP engine
Message HTTP
Transport HTTP
Transport HTTP
26WSDLDescription dun Web Service
Description WSDL
Fournisseur de Web Services
Service Web Réservation Séjour
Description WSDL
Web Service
Application
27Quest-ce que WSDL ?
- Web Service Definition Language
- Langage de description des Web Services
- Description abstraite de linterface du service,
- Ensemble dopérations, de messages et de types de
données - Description concrète de limplantation du
service, - Liaison à des formats de message concrets
- Liaison à des protocoles de transport et des
serveurs réseaux - Document XML (Schéma XML)
- Initiative de Ariba, IBM et Microsoft
- Spécification standard géré par le W3C
- WSDL 1.1, W3C Note, soumise en mars 2001
28Document WSDL
WSDL ltdefinitionsgt lttypesgt
lt/typesgt ltmessagegt
lt/messagegt ltporttypegt
lt/porttypegt lt/definitionsgt
- Défini en XML
- Structuré comme un ensemble de définitions
- élement racine ltdefinitionsgt
- Modulaire
- Fragmentation des définitions en plusieurs
fichiers - Séparation des descriptions abstraites et
concrètes - Réutilisation de définitions de services
- import dautres documents WSDL et XSD
WSDL
WSDL
ltimportgt
29Description abstraite
- Définition de linterface du service
- lttypesgt
- Définition des types de données utilisés dans les
messages - Référence à un système de typage tel que Schéma
XML - ltmessagegt
- Définition typée abstraite des données échangées
- Ex appel de méthode, retour de lappel
- ltoperationgt
- Définition abstraite dun ensemble cohérent de
messages (entrées/sorties) correspondant à
linteraction avec le Web Service - Ex appel de méthode retour de lappel
- ltportTypegt (type de port)
- Définition abstraite dun ensemble dopérations
30Opérations
- Quatre types dopérations possibles
- Combinaison de messages
- Utilisation des balises ltinputgt, ltoutputgt
- Opération one-way
- Le service reçoit un message ltinputgt.
- Opération request-response
- Le service reçoit un message requête ltinputgt puis
renvoie au client un message réponse ltoutputgt ou
un message erreur ltfaultgt. - Opération solicit-response
- Le service envoie un message solicitation
ltoutputgt puis reçoit du client un message réponse
ltoutputgt ou un message derreur ltfaultgt. - Opération notification
- Le service envoie un message notification
ltoutputgt.
Web Service
Web Service
Web Service
Web Service
31Description concrète
- Définition de limplantation dun service donné
- ltbindinggt (liaison)
- Description des protocoles (SOAP, HTTP) et des
formats de messages concrets pour chaque
ltporttypegt - ltportgt
- Définition dun point dentrée en associant un
ltbindinggt à une adresse réseau dun serveur
(URL). - ltservicegt
- Définition dun Web Service comme un ensemble de
ltportgt.
32Exemple StockQuote
Schema XSD
WSDL Description Abstraite
ltimportgt
WSDL Description Complète (Abstraite Concrète)
stockquote.xsd
ltimportgt
TYPAGE DES DONNEES
stockquote.wsdl
METHODE GetLastTrade (String symbol) float price
stockquoteService.wsdl
SOAP/HTTPURL
33Exemple Schema XSD
- http//example.com/stockquote/stockquote.xsd
lt?xml version"1.0"?gt ltschema
targetNamespace"http//example.com/stockquote/sch
emas" xmlns"http//www.w3.org/2000/10/XMLSchema"
gt ltelement name"TradePriceRequest"gt
ltcomplexTypegt ltallgt ltelement name"symbol"
type"string"/gt lt/allgt lt/complexTypegt
lt/elementgt ltelement name"TradePrice"gt
ltcomplexTypegt ltallgt ltelement name"price"
type"float"/gtlt/allgt lt/complexTypegt
lt/elementgt lt/schemagt
34Exemple Description Abstraite
- http//example.com/stockquote/stockquote.wsdl
- ltdefinitionsgt
- Element racine
- lttypesgt
- Définition des types de données
- Importation du schéma XML
lt?xml version"1.0"?gt ltdefinitions
name"StockQuote gt
Schema XML
lttypesgt ltimport namespace"http//example.c
om/stockquote/schemas"
location"http//example.com/stockquote/stockquote
.xsd"/gt lt/typesgt
35Exemple Description Abstraite
- http//example.com/stockquote/stockquote.wsdl
- ltmessagegt
- ltportTypegt ltoperationgt
ltmessage name"GetLastTradePriceInput"gt
ltpart name"body" element"xsd1TradePriceReque
st"/gt lt/messagegt ltmessage
name"GetLastTradePriceOutput"gt ltpart
name"body" element"xsd1TradePrice"/gt
lt/messagegt
ltportType name"StockQuotePortType"gt
ltoperation name"GetLastTradePrice"gt
ltinput message"tnsGetLastTradePriceInput"/gt
ltoutput message"tnsGetLastTradePriceOut
put"/gt lt/operationgt lt/portTypegt
lt/definitionsgtlt/xmlgt
36Exemple Description Complète
- http//example.com/stockquote/stockquoteService.ws
dl - Importation de la description abstraite
- ltbindinggt
- Liaison SOAP/HTTP
lt?xml version"1.0"?gt ltdefinitions
name"StockQuotegt ltimport namespace"http//exampl
e.com/stockquote/definitions"
location"http//example.com/stockquote/stockquote
.wsdl"/gt
WSDL Description Abstraite
ltbinding name"StockQuoteSoapBinding"
type"defsStockQuotePortType"gt
ltsoapbinding style"rpc" transport"http//s
chemas.xmlsoap.org/soap/http"/gt ltoperation
name"GetLastTradePrice"gt
ltsoapoperation soapAction"http//example.com/Get
LastTradePrice"/gt ltinputgtltsoapbody
use"literal"/gtlt/inputgt
ltoutputgtltsoapbody use"literal"/gtlt/outputgt
lt/operationgt lt/bindinggt
37Exemple Description Complète
- http//example.com/stockquote/stockquoteService.ws
dl - ltservicegt ltportgt
- Ensemble de points dentrée
- Indication de ladresse réseau (URL)
ltservice name"StockQuoteService"gt
ltport name"StockQuotePort" binding"tnsStockQuot
eBinding"gt ltsoapaddress
location"http//example.com/stockquote"/gt
lt/portgt lt/servicegt
lt/definitionsgtlt/xmlgt
38Point de vue architectural
WSDL
(1)
compilateur WSDL(côté client)
compilateur WSDL(côté serveur)
générateur WSDL
(2)
Fournisseur de Web
Services
Client du Web Service
Squelette dimplémentation
Service Web Réservation Séjour
Description WSDL
Description WSDL
proxy
Application
Web Service
Application
39UDDI Découverte et publication dun Web Service
Annuaire UDDI De Web Services
Description WSDL
Description WSDL
Description WSDL
Description WSDL
Publication
Découverte
Client du Web Service
Fournisseur de Web Services
40Quest ce que UDDI ?
- Universal Description, Discovery and Integration
- Service dannuaires (Business Registry) recensant
les entreprises et leurs services à léchelle
mondiale - Recherche et publication de services (dont Web
Services) - Automatisation des échanges entre partenaires
commerciaux - Structure de données définie par une grammaire
XML - Accès par une API vue comme un Web Service
- Initiative de Ariba, IBM et Microsoft
- Spécification définie par un consortium
industriel - UDDI 3.0, UDDI Working Group, OASIS
41Annuaire(s) UDDI
- Pages blanches
- Description des entreprises,
- Nom, adresses, contacts, identifiants
- Pages jaunes
- Catégories industrielles fondées sur des
taxonomies standards (NAICS, UN/SPSC) - Types dindustries,
- Types de produits de services,
- Information sur la localité géographique.
- Pages vertes
- Références techniques sur les services fournis,
- Références à la spécification dun Web Service
42Structure de données
- Format défini par XML Schéma
- http//uddi.org/schema/uddi_v3.xsd
BusinessEntity Informations concernant léditeur
du service
(équivalent pages blanches)
BusinessService Description du service
(équivalent pages jaunes)
(équivalent pages vertes)
BindingTemplate Informations techniques sur le
modèle de liaison
Tmodel Description des spécifications techniques
du service
publisherAssertion Description des relations
entre BusinessEntity
(depuis UDDI 2.0)
43Accès à lannuaire
- Accès direct par un navigateur Web
- Accès par un programme en utilisant une API
- API vue comme un Web Service
- Décrite en WSDL et Appelée avec SOAP
- Fonctions de recherche (Inquiry API),
- Recherche et consultation de données
- Ex find_business, get_serviceDetail
- Fonctions de publications (Publishing API)
- Création, Modification, Suppression de données
- Ex save_binding, delete_tmodel
- Fonctions annexes
- Réplication entre annuaires, Sécurisation des
données
44WSDL et UDDI
- Portée de UDDI non limitée aux Web Services
- Accès à un service par téléphone, fax, email
- Mapping WSDL avec UDDI
- Fragmentation de la description WSDL complet
- OASIS Technical Note, Using WSDL in a UDDI
Registry
WSDL
BusinessEntity
BusinessService
BindingTemplate
publisherAssertion
Tmodel
45Composition de services
- Aggréger des Web Services élémentaires pour
aboutir à un nouveau Web Service à valeur ajoutée
Web Service 1
Web Service 2
Composition
Web Service 5
Nouveau Web Service à valeur ajoutée
Web Service 4
Web Services préexistants
46Processus métier
- Un processus métier est un enchaînement
dactivités entre acteurs dune entreprise pour
aboutir à un service donné. - Acteurs humains, applications/services,
processus métier - Business Process Management (BPM)
- Cycle de vie des processus métier
- Modélisation, Déploiement, Exploitation,
Administration - Business Process Management Initiative (BPMI)
- BPM Web Services
- W3C Web Service Choreography Working Group
- BEA, Intalio, SAP, Sun
- OASIS Web Services Business Process Execution
Language Technical Committee - IBM, Microsoft
A1
A2
A3
A4
A5
A7
A6
Processus Métier
47Modélisation dun processus métier (1/2)
- Chorégraphie
- Vision distribuée
- Collaboration publique entre participants
- Définition de contraintes sur les interfaces
- Non exécutable tel quel (transformation en
processus BPML) - WS-CDL (WS-Choreography Description Language)
Web Service 1
Automate
Web Service 3
Web Service 2
Collaboration
Web Service 4
Automate
Automate
Automate
48Modélisation dun processus métier (2/2)
- Orchestration
- Vision centralisée
- Implantation privée des participants
- Exécutable
- WS-BPEL (WS-Business Process Execution Language)
A1
Web Service 4
Web Service 1
A2
A3
Web Service 2
Web Service 3
A4
A5
Processus Métier
49Orchestration avec WS-BPEL
- Description XML dun processus métier
- Référence les descriptions WSDL
- Activité de base
- Invoquer un service Web ltinvokegt
- Recevoir une invocation ltreceivegt
- Répondre à une invocation ltreplygt
- Activité structurée
- Séquence ordonnée ltsequencegt
- Branchement conditionnel ltswitchgt,ltifgt
- Boucle ltwhilegt
- Exécution en parallèle ltflowgt
- Spécification du consortium industriel OASIS
50Exemple WS-BPEL
Web Service Réservation Séjour
Web Service Compagnie Aérienne
A1
A2
Receive Message commande
Client du Web Service
Web Service Hôtel
A3
Web Service Banque
A4
A5
Ai activité du processus métier
Web Service Poste
WSDL
51Plate-formes opérationnelles
- Evolution des plate-formes de développement
d'applications d'entreprises basées sur des
composants pour offrir un support pour les Web
Services - Plate-forme Java/J2EE
- Enrichissement de la spécification par un
ensemble dinterfaces (API) pour le support aux
Web Services - Implantation Java libre doù plusieurs éditeurs
- Sun (Sun One),
- IBM (WebSphere),
- BEA (Weblogic)
- Open Source Apache (Implémentation SOAP avec
Axis) - Plate-forme .NET
- Plate-forme "produit" contrôlé par Microsoft
52Plate-formes J2EE
- Support des Web Services à travers un ensemble
dinterfaces (API) telles que - Java API for XML Processing (JAXP)
- Manipulation des documents XML
- Java API for XML Messaging (JAXM)
- Envoi et réception de messages SOAP
- Java API for XML-based RPC (JAX-RPC)
- Envoi et réception de messages SOAP en mode RPC
- Java Architecture for XML Data Binding (JAXB)
- Sérialisation dobjets java en documents XML
- Java API for XML Registries (JAXR)
- Accès à des annuaires pour Web Services
- Implantation de Web Services typiquement à partir
dun Enterprise JavaBean (EJB), voire directement
à partir dune application Java.
53Architecture des Web Services sous J2EE
source http//www.dotnetguru.org
54Plate-forme .NET
- Le support aux Web Services est directement
intégré à la plate-forme de Microsoft. - Evolution de lenvironnement dexécution
dapplication Web (ASP) aux Web Services
(ASP.NET) - Implantation des Web Services à travers des
composants .NET (incluant les composants
COM/COM) - Implantation possible sous plusieurs langages de
programmation - C, C, Visual Basic.NET, Jscript.NET, J
55Architecture des Web Services sous Microsoft .NET
source http//www.dotnetguru.org
56Bilan (1/2)
- Un Web Service est une application modulaire
- Mise à disposition sur lInternet ou sur un
réseau privé (Intranet), - Auto-descriptive (WSDL), publiable (UDDI) et
accessible (SOAP) en utilisant le langage XML et
les protocoles standards du Web, - Indépendante du système dexploitation et du
langage de programmation, - Visant à exposer une ou plusieurs fonctionnalités
(souvent commerciale) dune entreprise. - Un ensemble de Web Services élémentaires peut
être combiné (WS-BPEL) pour aboutir à un Web
Service à valeur ajoutée.
57Bilan (2/2)
Annuaire UDDI De Web Services
1. Déploiement
Web Service
Description WSDL
Description WSDL
Description WSDL
Description WSDL
2. Publication
3. Découverte
Fournisseur de Web Services
Client du Web Service
Description WSDL
Service Web Réservation Séjour
Description WSDL
Description WSDL
proxy
Application
Web Service
Application
4. Invocation
Protocole SOAP
Description WSDL
58Bibliographie
- Web Services Essentials, Ethan Cerami, Editions
OReilly - Services Web avec J2EE et .NET Conception et
Implémentations, Libero Maesano, Christian
Bernard, Xavier Le Galles, Editions Eyrolles - Les Web Services Techniques, Démarches et
Outils, XML, WSDL, SOAP, UDDI, Rosetta, UML,
Hubert Kadima, Valérie Monfort, Editions Dunod - Cours de Didier Donsez et Robert Voyer