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. SOAP 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'orchestration. 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.
- (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 |
---|