SOAP

In informatica SOAP (inizialmente acronimo di simple object access protocol) è un protocollo per lo scambio di messaggi tra componenti software.
Descrizione
[modifica | modifica wikitesto]SOAP è la struttura operativa (framework) estensibile e decentralizzata che può operare sopra varie pile protocollari per reti di computer fornendo tramite messaggi richieste di procedure remote. I richiami di procedure remote possono essere infatti modellati come interazione di parecchi messaggi SOAP. Esso, dunque, è uno dei protocolli che abilitano i servizi web.
SOAP può operare su differenti protocolli di rete, ma HTTP è il più comunemente utilizzato e l'unico ad essere stato standardizzato dal W3C, su cui è incapsulato il relativo messaggio. SOAP si basa sul metalinguaggio XML e la sua struttura segue la configurazione head-body, analogamente ad HTML. Il segmento opzionale header contiene metadati come quelli che riguardano l'instradamento, la sicurezza, le transazioni e parametri per l'orchestrazione. Il segmento obbligatorio body trasporta il contenuto informativo e talora viene detto carico utile (payload). Questo deve seguire uno schema definito dal linguaggio XML Schema. SOAP può essere utilizzato in due modi diversi per una chiamata:
- Richiesta via SOAP di parametri: il client controlla nel service registry l'oggetto d'interesse e sviluppa il messaggio secondo i parametri ivi contenuti.
- General purpose messaging: un programmatore può sviluppare un suo protocollo privato, il client conosce a priori i parametri e non necessita di consultare il service registry. All'interno del corpo del messaggio inserisco i dati scritti nel formato concordato con lo sviluppatore.
Esempi di messaggi SOAP
[modifica | modifica wikitesto]Come primo esempio, mostriamo come un client può formattare un messaggio SOAP per richiedere informazioni su un prodotto da un immaginario servizio web che simula un magazzino.
<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>
Quello che segue è il testo con cui il magazzino web potrebbe inviare il suo messaggio di risposta con le informazioni richieste.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetailsResponse xmlns="http://magazzino.example.com/ws"> <getProductDetailsResult> <productName>Toptimate, set da 3 pezzi</productName> <productId>827635</productId> <description>Set di valigie; 3 pezzi; poliestere; nero.</description> <price>96.50</price> <inStock>true</inStock> </getProductDetailsResult> </getProductDetailsResponse> </soap:Body> </soap:Envelope>
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Opere riguardanti Simple Object Access Protocol (Computer network protocol), su Open Library, Internet Archive.
- (EN) Denis Howe, Simple Object Access Protocol, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
- (EN) Animazione Flash: What is SOAP
- (EN) Introduzione: W3C SOAP primer
- (EN) attività concernenti XML protocol e servizi Web, su w3.org.
- (EN) Rapporto sulla tecnologia, su xml.coverpages.org. URL consultato il 17 ottobre 2004 (archiviato dall'url originale il 3 marzo 2001).
- (EN) ponte bidirezionale fra SOAP e CORBA, su soap2corba.sourceforge.net.
- (EN) Bugzilla Bug 332174 – Drop SOAP support Mozilla elimina SOAP in Firefox Gran Paradiso Alpha 7.
Controllo di autorità | LCCN (EN) sh2002006007 · J9U (EN, HE) 987007544678005171 |
---|