PIANIFICAZIONE E PAESAGGIO DELLA SARDEGNA
sardegnaterritorio  ›  geografia  ›  servizi  ›  servizi di interoperabilità  ›  w3c web service  ›  introduzione
Introduzione
Per W3C Web service si intende un componente software progettato per supportare l’interoperabilità tra sistemi che interagiscono su una rete. I Web service hanno un interfaccia descritta in un formato machine-processable (nello specifico WSDL) e l’interazione con essi avviene attraverso messaggi SOAP, tipicamente trasmessi su protocollo HTTP.
SOAP
Il protocollo SOAP viene utilizzato per lo scambio dei messaggi di richiesta e risposta tra il client e il Web service server.
I messaggi SOAP, basati su XML, sono costituita da un envelope (obbligatorio) che contiene un header opzionale ed un body obbligatorio.
L'header contiene le informazioni su come il messaggio deve essere processato mentre il body contiene il contenuto del messaggio.

<ENVELOPE>
<HEADER>
...
</HEADER>
<BODY>
...
</BODY>
</ENVELOPE>

WSDL
Il linguaggio WSDL è anch'esso basato su XML e viene utilizzato per descrivere i Web service; in particolare vengono descritte le operazioni rese disponibili dal Web service, le modalità di comunicazione con esso (il formato dei messaggi in input e in output e il binding con il protocollo di comunicazione) e l'endpoint del servizio. Essendo il WSDL machine-processable è possibile generare automaticamente delle routine che rendano trasparente allo sviluppatore l'uso dei webservice all'interno del proprio ambiente software.

WS-I
Nonostante il fine degli standard W3C per i Web service fosse quello di rendere dei sistemi software eterogenei interoperabili la flessibilità di questi standard può portare a sistemi non interoperabili. Per ovviare a questi problemi il WS-I (Web service interoperability organization) ha creato una serie di linee guida per assicurare una maggior uniformità nello sviluppo dei Web service nei vari ambienti di sviluppo. I web service resi disponili nel SIT della regione sono WS-I basic profile 1.1 (inoltre per garantire piena interoperabilità anche ai client sviluppati con .Net 1.1 il WSDL binding è di tipo document/litteral "wrapper" style)

Scelte progettuali
Nelle sezioni successive verranno descritti i Web service del SITR, è possibile effettuare la chiamata agli stessi sia utilizzando il WSDL per generare gli stub oppure richiamando il Web service attraverso l’URI e passando in http post il messaggio SOAP di richiesta. Da notare che la struttura del messaggio SOAP di richiesta e di risposta è il medesimo per tutti i servizi (formato da un messaggio di tipo stinga e da una lista, anche vuota, di allegati)

<richiestaSOAP>
<messaggio>xxxxx</messaggio>
<allegati>xxx</allegati>

<allegati>zzz</allegati>
</richiestaSOAP>

<rispostaSOAP>
<messaggio>xxxxx</messaggio>
<allegati>xxx</allegati>

<allegati>zzz</allegati>
</rispostaSOAP>

E' stata creata una struttura simile proprio per facilitare la gestione delle chiamate ai diversi Web service lasciando le differenze tra i diversi servizi all’interno dell’elemento messaggio. Il contenuto dell’elemento messaggio in richiesta e risposta è descritto nell’XSD associato ai Web service.