Pourquoi SOAP ?
Techniques pour applications réparties :
- Java RMI : multi-plateforme, un seul langage, licence semi-ouverte
Sun
- CORBA/IIOP : multi-plateforme, multi-langage, cher, version
opensource
- DCOM : plateforme Microsoft, multi-langage, propriétaire
- tous des protocoles sophistiqués !
- SOAP :
- multi-plateforme, multi-langage
- format universel d'échange : XML
- protocol(s) simple : HTTP, SMTP, ...
- non propriétaire : W3C
Principe :
- protocole de transmission de messages : unidirectionnel ou
en dialogue requête-réponse du type RPC (Remote
Procedure call)
- exemple : pour un cabinet de gestion de portefeuille, obtenir
auprès de la Bourse le prix de telle action.
l'application du cabinet appelera la méthode double getPrice(typeAction
action) du serveur de la Bourse
- Client --->SoapRequest--->Serveur--->SoapResponse--->Client
- exemple :
- le Client peut être une application Java,
- qui utilise un package Soap
- qui se charge de la sérialisation des données
en XML, forme l'enveloppe Soap, et l'encapsule dans une requete
Post Http,
- transport par TCP/IP,
- une serveur Tomcat "ouvert à ce type de requete"
recoit la requete,
- puis donne l'enveloppe à son module Soap qui parse
le XML
- et appelle la méthode java de "service"
qui, en tant que composant métier, peut appeler une base
de données,
- la méthode renvoie une valeur résultat,
- encodée XML par soap,
- ........
le Web service :
- c'est une méthode qui est appelée via TCP/IP
à distance
- elle fournit des données brutes à une autre
ordinateur en fonction des paramètres d'appel,
contrairement aux serveurs de pages dynamiques qui forurnissent
une information formatée pour un utilisateur humain
- http://www.xmethods.com/
recence plusieurs web services et préfigure le Service
Web : le web des web services.
2 standards WSDL et UDDI devraient permettent d'indéxer
les services et leur signatures.
Plus d'information :