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)

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.



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)

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
