SOAP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
LauBot (discussione | contributi)
m Bot: passaggio degli url da HTTP a HTTPS
Migliorato la pagina
 
(15 versioni intermedie di 11 utenti non mostrate)
Riga 1:
{{Nota disambigua||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]].
 
== 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]], tipicamente nella forma di componentistica software. La parola ''[[Oggetto (informatica)|object]]'' 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''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]] (''embedded'') 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"''header'' contiene [[metadati]] come quelli che riguardano il l'[[routing|instradamento]], la [[sicurezza]], le [[transazione (basi di dati)|transazioni]] e parametri per l{{'}}''[[orchestrationOrchestrazione (informatica)|orchestrazione]]''. Il segmento obbligatorio "Body"''body'' trasporta il contenuto informativo e talora viene detto [[Carico utile (informatica)|carico utile]], o (''payload''). Questo deve seguire uno schema definito dal linguaggio [[XML Schema]]. SOAP può essere utilizzato in due modi diversi per una chiamata:
==Descrizione==
* Richiesta via SOAP di parametri: il ''client'' controlla nel Service''service Registryregistry'' l'oggetto d'interesse e sviluppa il messaggio secondo i parametri contenutiivi nel Service Registrycontenuti.
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]].
* ''General Purposepurpose Messagingmessaging'': 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 bodycorpo del messaggio inserisco i dati scritti nel formato concordato con lo sviluppatore.
 
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]] (''embedded'') 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 il [[routing]], 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]], o ''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 contenuti nel Service Registry.
* 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 body del messaggio inserisco i dati scritti nel formato concordato con lo sviluppatore.
 
== Esempi di messaggi SOAP ==
Come primo esempio, mostriamo come un Client''client'' può formattare un messaggio SOAP per richiedere informazioni su un prodotto da un immaginario [[Web service|servizio ''web'']] che simula un magazzino.
 
<source lang=xml>
<syntaxhighlight lang="xml" line="1" copy=1>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
Line 20 ⟶ 21:
</soap:Body>
</soap:Envelope>
</syntaxhighlight>
</source>
 
Quello che segue è il testo con il quale il 'warehouse' Web service
Quello che segue è il testo con cui il magazzino ''web'' potrebbe inviare il suo messaggio di risposta con le informazioni richieste.
 
<source lang=xml>
<syntaxhighlight lang="xml" line="1" copy=1>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
Line 37 ⟶ 39:
</soap:Body>
</soap:Envelope>
</syntaxhighlight>
</source>
 
== Voci correlate ==
Line 45 ⟶ 47:
* [[UDDI]]
* [[CORBA]]
* [[WS-I Basic Profile]]
 
== 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 59 ⟶ 62:
 
[[Categoria:Standard W3C]]
[[Categoria:Standard informaticiProtocolli basati su XML]]
[[Categoria:Protocolli livello applicazione]]