Web Services: Protocollo SOAP (Simple Object Access Protocol)

Web Services: Protocollo SOAP (Simple Object Access Protocol)

Uno dei primi framework RPC basati su XML è stato SOAP (Simple Object Access Protocol) definito inizialmente da un consorzio di compagnie tra le quali figuravano Microsoft, IBM, SAP, ma che oggi è invece divenuto un progetto open source in fase di standardizzazione presso il World Wide Web Consortium (W3C).

Web Services - Protocollo SOAP (Simple Object Access Protocol)

Il protocollo SOAP definisce solo la struttura del messaggio ed alcune regole per elaborarlo, rimanendo quindi ad un livello alto e completamente indipendente dal protocollo di trasporto sottostante. Aspetti chiave di SOAP sono, quindi, la sua estendibilità dovuta all’uso di schemi XML e l’utilizzo del protocollo HTTP come meccanismo di trasporto tra client e server, e quindi del Web come infrastruttura di comunicazione.

Interazione client-server usando SOAP
Interazione client-server usando SOAP

 

SOAP è dunque un protocollo leggero che permette di scambiare informazioni in ambiente distribuito:

  • SOAP è basato su XML
  • SOAP gestisce informazione strutturata
  • SOAP gestisce informazione tipata
  • SOAP non definisce alcuna semantica per applicazioni o scambio messaggi, ma fornisce un mezzo per definirla

Inoltre, i dati trasportati in SOAP sono molto più firwall-friendly ovvero un firewall può analizzare e dedurre che sono innocui. Tra l’altro SOAP è stato pensato per usare HTTP come trasporto. Però il principale svantaggio di SOAP è costituito proprio dalla natura testuale, che lo rende molto meno performante rispetto alle sue controparti binarie (in particolare CORBA e .NET Remoting).

Infine, bisogna dire che la strttura del messaggio SOAP è composto da 3 elementi principali:

  • Un elemento radice, envelope, obbligatorio. Il namespace di SOAP viene dichiarato all’ interno di questo elemento.
  • Un elemento header opzionale. Il suo scopo è quello di trasportare informazioni non facenti parte del messaggio, destinate agli “attori”, cioè alle varie parti che il messaggio attraverserà per arrivare al suo destinatario finale.
  • Un elemento body obbligatorio. Questo elemento contiene il messaggio vero e proprio.
Precedente Web Services: Modello e Protocolli Successivo Web Services: Protocollo WSDL (Web Service Description Language)

Lascia un commento

*