SOAP

Disambiguazione – Se stai cercando altri significati, vedi Soap.
Struttura SOAP

In informatica SOAP (inizialmente acronimo di simple object access protocol) è un protocollo per lo scambio di messaggi tra componenti software.

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]
Controllo di autoritàLCCN (ENsh2002006007 · J9U (ENHE987007544678005171