SOAP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichette: Modifica da mobile Modifica da web per mobile
Migliorato la pagina
 
(11 versioni intermedie di 8 utenti non mostrate)
Riga 1:
{{Nota disambigua||Soap}}
[[File:SOAP.svg|thumb|Struttura SOAP]]
[[File:SOAP.svg|thumb|Struttura SOAP]]In [[informatica]] '''SOAP''' (inizialmente [[acronimo]] di ''simple object access protocol'') è un [[Protocollo di rete|protocollo]] per lo scambio di [[messaggio|messaggi]] tra componenti [[software]]. La parola "[[Oggetto (informatica)|oggetto]]" manifesta che l'uso del protocollo dovrebbe effettuarsi secondo il [[paradigma]] della [[programmazione orientata agli oggetti]].
 
== Descrizione ==
[[File:SOAP.svg|thumb|Struttura SOAP]]In [[informatica]] '''SOAP''' (inizialmente [[acronimo]] di ''simple object access protocol'') è un [[Protocollo di rete|protocollo]] per lo scambio di [[messaggio|messaggi]] tra componenti [[software]]. La parola "[[Oggetto (informatica)|oggetto]]" manifesta che l'uso del protocollo dovrebbe effettuarsi secondo il [[paradigma]] della [[programmazione orientata agli oggetti]].
SOAP è la struttura operativa (''[[framework]]'') estensibile e decentralizzata che può operare sopra varie pile protocollari per [[rete di computer|reti di computer]] fornendo tramite messaggi [[richiamo di procedura remota|richieste di procedure remote]]. I richiami di procedure remote possono essere infatti modellati come interazione di parecchi messaggi SOAP. SOAPEsso, dunque, è uno dei protocolli che abilitano i [[Web service|servizi ''web'']].
 
SOAP può operare su differenti [[Protocollo di rete|protocolli di rete]], ma [[Hypertext Transfer Protocol|HTTP]] è il più comunemente utilizzato e l'unico ad essere stato standardizzato dal [[W3C]], su cui è [[imbustamento|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'[[routing|instradamento]], la [[sicurezza]], le [[transazione (basi di dati)|transazioni]] e parametri per l{{'}}''[[orchestrationOrchestrazione (informatica)|orchestrazione]]''. Il segmento obbligatorio ''body'' trasporta il contenuto informativo e talora viene detto [[Carico utile (informatica)|carico utile]] (''payload''). Questo deve seguire uno schema definito dal linguaggio [[XML Schema]]. SOAP può essere utilizzato in due modi diversi per una chiamata:
==Descrizione==
SOAP è la struttura operativa (''[[framework]]'') estensibile e decentralizzata che può operare sopra varie pile protocollari per [[rete di computer|reti di computer]] fornendo tramite messaggi [[richiamo di procedura remota|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 [[Web service|servizi ''web'']].
 
SOAP può operare su differenti [[Protocollo di rete|protocolli di rete]], ma [[Hypertext Transfer Protocol|HTTP]] è il più comunemente utilizzato e l'unico ad essere stato standardizzato dal [[W3C]], su cui è [[imbustamento|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'[[routing|instradamento]], la [[sicurezza]], le [[transazione (basi di dati)|transazioni]] e parametri per l{{'}}''[[orchestration]]''. Il segmento obbligatorio ''body'' trasporta il contenuto informativo e talora viene detto [[Carico utile (informatica)|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 ==
Come primo esempio, mostriamo come un ''client'' può formattare un messaggio SOAP per richiedere informazioni su un prodotto da un immaginario [[Web service|servizio ''web'']] che simula un magazzino.
 
<syntaxhighlight lang="xml" line="1" copy=1>
<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>
</syntaxhighlight>
 
Quello che segue è il testo con cui il magazzino ''web'' potrebbe inviare il suo messaggio di risposta con le informazioni richieste.
 
<syntaxhighlight lang="xml" line="1" copy=1>
<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>
</syntaxhighlight>
 
== Voci correlate ==
Line 18 ⟶ 49:
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|Simple Object Access Protocol|Simple Object Access Protocol}}
* {{en}}Animazione Flash: [https://media.techtarget.com/searchWebServices/downloads/what_is_soap.swf What is SOAP]
* {{en}}Introduzione: [https://www.w3.org/TR/soap12-part0/ W3C SOAP primer]
Line 29 ⟶ 62:
 
[[Categoria:Standard W3C]]
[[Categoria:Standard informaticiProtocolli basati su XML]]
[[Categoria:Protocolli livello applicazione]]