Con la crescente diffusione del web si sente maggiormente la necessità di creare applicazioni distribuite tra diversi sistemi operativi, con differenti linguaggi di programmazione e la presenza di firewall nelle reti. SOAP ( Simple Object Access Protocol ) si propone di superare questi problemi attraverso dei messaggi XML trasportati attraverso il protocollo HTTP. L’invocazione di un servizio remoto prevede la creazione di un particolare tipo di documento XML con l’impostazione di opportuni header HTTP da inviare ad un server web. Il fatto che XML viaggi su protocollo HTTP comporta tutta una serie di benefici, a cominciare dalla mancanza di barriere come i firewall che di solito non bloccano il traffico web, inoltre queste tecnologie sono universalmente riconosciute come standard da molti sistemi operativi eterogenei tra loro, ecco perché tramite SOAP è possibile esporre qualsiasi tipo di servizio.
Il protocollo SOAP prevede due tipi di messaggi: Call e Response. Il primo consente l’invocazione di un servizio remoto attraverso delle opportune intestazioni HTTP in cui si specificano le informazioni sul destinatario e sul servizio invocato, mentre il corpo in XML contiene dei parametri da passare al server. Un tipico messaggio di questo tipo potrebbe essere:
POST /XXXServer HTTP/1.1 Host: www.XXXX.com Content-Type: text/xml Content-Length: n SOAPAction: www.XXXX.com/ordini.php <SOAP-ENV:Envelope xmlns:SOAP-ENV="xxxxxxx/> <SOAP-ENV:Body> <m:ordina xmlns:m="xxxxxx"> <Titolo>Articolo X</Titolo> <Codice>Cod XXXX</Codice> </m:ordina> </SOAP-ENV:Body> <SOAP-ENV:Envelope>
La parte iniziale del messaggio raggruppa le intestazioni HTTP che specificano il server da contattare ed il servizio da richiamare, nel documento XML abbiamo invece i parametri relativi per usufruire del servizio.
Una possibile risposta ( response ) che si può avere da una tale richiesta può essere:
HTTP/1.1 200 OK Content-Type: text/xml Content-Length: n <SOAP-ENV:Envelope xmlns:SOAP-ENV="xxxxxxx/> <SOAP-ENV:Body> <return>24,65 euro</return> </SOAP-ENV:Body> <SOAP-ENV:Envelope>
Questo servizio in pratica recupera i dati da un archivio e mostra il prezzo dell’articolo. Lo scopo principale di SOAP è quindi quello di delineare un protocollo per l’interoperabilità di applicazioni distribuite realizzate con diverse tecnologie. Se lo desiderate potremmo, in futuro, approfondire l’argomento, per il momento guardatevi la pagina del progetto SOAP per il server web Apache.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→