SOAP e servizi web

    Il Simple Object Access Protocol è un protocollo basato su XML che consente a due applicazioni di comunicare tra loro sul web.
    SOAP definisce il formato dei messaggi che due applicazioni possono scambiarsi utilizzando i protocolli Internet, come ad esempio HTTP, per fornire dati e richiedere elaborazioni. Il protocollo è indipendente dalla piattaforma hardware e software ed è indipendente dal linguaggio di programmazione utilizzato per sviluppare le applicazioni comunicanti.
    Grazie a questo protocollo, il concetto di web come piattaforma per la pubblicazione di documenti contenenti informazioni fruibili da esseri umani cambia radicalmente. È possibile affiancare alla pubblicazione classica delle pagine web una pubblicazione delle informazioni destiante alle applicazioni.
    Questo nuovo tipo di pubblicazione costituisce i cosidetti servizi web. Un servizio web è un'applicazione che fornisce funzionalità tramite il web in maniera indipendente dalla piattaforma utilizzata. I meccanismi che consentono questa indipendenza sono XML e HTTP.

    Messaggi SOAP

    Abbiamo detto che SOAP è basato su XML. In effetti, un messagio SOAP, non è altro che un documento XML che descrive una richiesta di elaborazione. In particolare, un messaggio SOAP è costituito dai seguenti elementi:

  • Envelope: rappresenta il contenitore del messaggio e costituisce l'elemento root del documento XML.
  • Header: è un elemento opzionale che contiene informazioni globali sul messaggio; ad esempio, nell'header potrebbe essere specificata la lingua di riferimento del messaggio, la data dell'invio, ecc.
  • Body: rappresenta la richiesta di elaborazione o la risposta derivata da una elaborazione.
  • Fault:se presente, fornisce informazioni sugli errori che si sono verificati durante l'elaborazione; questo elemento può essere presente soltanto nei messaggi di risposta.
    È opportuno evidenziare che SOAP definisce soltanto la struttura dei messaggi non il loro contenuto. I tag per descrivere una richiesta di elaborazione o un risultato vengono definiti in uno schema specifico ed utilizzati all'interno della struttura SOAP sfruttando il meccanismo dei namespace.

download del file