SOAP Architecture

SOAP

Que signifie SOAP ?

SOAP: Simple Object Access Protocol

Un protocole de communication entre applications pour des échanges intra et inter organisations basé sur HTTP et XML qui est multi-technologies et multiplatformes.

Propulsé par Microsoft et IBM

Caractéristiques: multiplatformes, réutilisable, interopérable, scalable et adaptable.

Architecture du protocole SOAP:

Message SOAP

On parle d’enveloppe SOAP pour parler du message/payload SAOP.

L’enveloppe SOAP est au format XML et respecte des schĂ©mas XML (XSD)

L’enveloppe SOAP est utilisĂ© pour formaliser les requetes et rĂ©ponses SOAP

Une requete SOAP indique l’operation à invoquer sur le Web Service

Les parametres peuvent etre simples(entier, chaines,
) comme complexes (structure, objet,
)

Le protocole permet formaliser une ou des erreur(s) au client via SOAP Fault:

  • Code: categorie d’erreur (ex: Sender, Receiver, MustUnderstand
)

  • Reason: description de l’erreur

  • Subcode (facultatif): condification plus prĂ©cise mais spĂ©cifique Ă  l’application

  • Detail (facultatif): details sur l’erreur (ex: parametre en faute)


Réponse avec SOAP Fault

Principe d’encapsulation du modĂšle OSI avec l’analogie aux poupĂ©es russes.

Dans le cas d’une requete au rĂ©ponse SOAP, donnĂ©s est un enveloppe SOAP.

Encapsulation HTTP

Exemple réponse

Le protocole de transport HTTP est le plus répandu pour SOAP en modÚle requete/réponse

D’autre protocoles sont utilisables nĂ©amoins dans les faits
 SMTP, FTP,POP3, etc


WSDL

C’est un document XML qui dĂ©crit le Web Service

  • Operations disponibles

  • Parametres d’entrĂ©e et de sortie

  • Types/Structures de donnĂ©es

  • Technique d’invocation (binding, port)

  • Localisation du service (endpoint)

Usages:

  • Decouvrir le Web Service

  • Savoir comment appeler le Web Service

  • Generer le code client correspondant au Web Service pour l’invoquer depuis sa propre technologie (approche Top-Down)

WSDL

JAX-WS est une API Java de haut niveau permettant de dĂ©velopper des services et clients SOAP. JAX-WS s’appuie fortement sur JAXB pour traiter et produire l’XML.

Uages de l’entete SOAP:

UDDI: Universal Description Discovery and Integration