Formati wire dei servizi Web XML

I protocolli binari quali DCOM sono composti da un livello di richiesta di un metodo che si basa su un protocollo per comunicazioni proprietario. Tali protocolli non contribuiscono alla creazione di servizi Web XML universalmente disponibili. Questo non preclude l'utilizzo di tali protocolli in uno scenario di servizio Web XML, ma tali protocolli dipendono dalle architetture specifiche dei sistemi sottostanti e limitano pertanto lo spettro dei potenziali client.

In alternativa è possibile creare servizi Web XML che funzionino in combinazione con uno o più protocolli aperti, ad esempio una combinazione di HTTP e SOAP. Come è facile prevedere, l'infrastruttura richiesta per supportare protocolli differenti varierà.

I servizi Web XML non si limitano a fornire l'accesso RPC (remote procedure call). Possono essere generati infatti anche per scambiare informazioni strutturate, quali gli ordini d'acquisto e le fatture e possono essere utilizzati per automatizzare e connettere processi aziendali interni ed esterni.

HTTP-GET e HTTP-POST

HTTP-GET e HTTP-POST sono protocolli standard che utilizzano verb HTTP (Hypertext Transfer Protocol) per la codifica e il passaggio di parametri come coppie nome/valore, insieme alla semantica della richiesta associata. Ciascuno di essi è composto da una serie di intestazioni di richieste HTTP che definiscono ciò che il client richiede dal server, che a sua volta risponde con una serie di risposte HTTP e con i dati richiesti, se l'elaborazione avviene correttamente.

HTTP-GET passa i propri parametri nella forma di testo con codifica URL mediante l'applicazione del tipo MIME/x-www-form-codifica URL, associato all'URL del server che gestisce la richiesta. La codifica URL è una forma di codifica dei caratteri che garantisce che i parametri passati siano composti da testo conforme, ad esempio codificando gli spazi come %20. I parametri accodati vengono anche detti stinga di query.

Analogamente a HTTP-GET, anche i parametri HTTP-POST hanno la codifica URL. Tuttavia, anziché essere passati come parte dell'URL, le coppie nome/valore vengono passate all'interno dell'effettiva richiesta HTTP.

SOAP

SOAP è un protocollo basato sul linguaggio XML, leggero e semplice, per lo scambio di informazioni strutturate e sul tipo sul Web. L'obiettivo di progettazione complessivo del SOAP consiste nel garantire il massimo della semplicità e fornire un minimo di funzionalità. Il protocollo definisce una struttura di messaggistica che non contiene alcuna semantica dell'applicazione o del trasporto. Di conseguenza è modulare e molto estensibile.

Viaggiando su protocolli di trasporto standard, SOAP è in grado di sfruttare al meglio l'architettura aperta esistente di Internet e può essere facilmente accettato da parte di qualsiasi sistema arbitrario in grado di supportare gli standard Internet più basilari. L'infrastruttura richiesta per supportare un servizio Web XML compatibile con il protocollo SOAP potrebbe essere considerata piuttosto semplicistica eppure potente dal momento che aggiunge relativamente poco all'infrastruttura esistente di Internet e facilita comunque l'accesso universale ai servizi generati con SOAP.

La specifica del protocollo SOAP è composta da quattro parti principali. La prima parte definisce una Envelope estensibile obbligatoria per l'incapsulamento dei dati. La Envelope SOAP definisce un messaggio SOAP e rappresenta l'unità di scambio di base tra i processori di messaggi SOAP. Questa è l'unica parte obbligatoria della specifica.

La seconda parte della specifica del protocollo SOAP definisce le regole di codifica dei dati facoltativi per la rappresentazione di dati definiti dall'applicazione e grafici diretti e un modello uniforme per la serializzazione di modelli di dati non sintattici.

La terza parte definisce un modello di scambio dei messaggi in stile RPC (richiesta/risposta). Ogni messaggio SOAP è una trasmissione unidirezionale. Sebbene la base del protocollo SOAP vada ricercata in RPC, non si tratta solo di un meccanismo di richiesta/risposta. I servizi Web XML spesso combinano i messaggi SOAP per implementare tali modelli, ma il protocollo SOAP non affida un modello di scambio dei messaggi e anche questa parte della specifica è facoltativa.

La quarta parte della specifica definisce un collegamento tra SOAP e HTTP. Tuttavia, anche questa parte è facoltativa. È possibile utilizzare SOAP in combinazione con qualsiasi protocollo o meccanismo di trasporto in grado di trasportare la Envelope SOAP, inclusi SMTP, FTP o persino un disco floppy.

Per la specifica SOAP, visitare il sito Web W3C all'indirizzo http://www.w3.org/TR/soap (informazioni in lingua inglese).

Vedere anche

Infrastruttura dei servizi Web XML