feature image - https://source.unsplash.com/random/900×600/?wallpaper&sig=35affc35-c2c9-4175-8146-642c05345f59

Web Service

Un Web Service è

un sistema software progettato per supportare l’interoperabilità tra diversi elaboratori su una medesima rete oppure in un contesto distribuito. – Consorzio OASIS e W3C

Questa definizione è molto interessante per un sistema distribuito, dove un ws è quindi un protocollo di alto livello per la comunicazione tra i nodi.

Vantaggi e svantaggi nell’adozione dei web service

Alcuni dei vantaggi che è possibile ottenere con l’utilizzo dei Web service sono i seguenti:

  • Consentono l’interoperabilità tra sistemi eterogenei.
  • Utilizzo di standard open sia a livello di protocollo di trasporto (HTTP) che di formato dei dati.
  • Usare HTTP ha un vantaggio relativamente alle reti perchè non è necessario modificare le configurazioni dei firewall.
  • Posso integrare web service tra di loro per formare nuovi web service.
  • Possono essere adottati in modo progressivo all’interno di un sistema informatico esistente.

I web Service SOAP

SOAP, protocollo di comunicazione XML-based che usa HTTP come protocollo di trasporto.

La struttura del pacchetto SOAP è quella di un frammento di XML contenuto all’interno di una richiesta GET fatta al server. All’interno della “busta” ci saranno tutte le informazioni necessarie a svolgere quanto desiderato (e definito in un documento XML esterno WSDL che definisce la struttura delle singole richieste).

Struttura di un pacchetto SOAP

struttura pacchetto SOAP

Ecco un esempio di body di una richiesta SOAP:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetails xmlns="http://magazzino.example.com/ws">
<productId>827635</productId>
</getProductDetails>
</soap:Body>
</soap:Envelope>

I web service ReST

ReST é un pattern architetturale che intende fornire un meccanismo per esporre API in una forma semplice e veloce. Le idee di base sono:

  • RESTful: una richiesta RESTful è una richiesta che ha come risposta una risorsa.
  • URI: un URI è una stringa di caratteri che identifica una risorsa o una collezione.
  • verbi HTTP: vengono utilizzati tutti i verbi HTTP (GET, POST, PUT, DELETE, etc.) per le richieste RESTful. Utilizzando questi verbi, si può esporre una API RESTful che consenta di effettuare tutte le operazioni CRUD su una risorsa.
  • JSON: il `formato dei dati è JSON.

Andrea Pollini

Matematico, informatico.