SOAP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ZéroBot (discussione | contributi)
Migliorato la pagina
 
(44 versioni intermedie di 30 utenti non mostrate)
Riga 1:
{{Nota disambigua|altri significati|[[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|right|220px|Struttura SOAP]]In [[informatica]] '''SOAP''' (inizialmente [[acronimo]] di '''Simple Object Access Protocol''') è un [[Protocollo di rete|protocollo]] leggero 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. Esso, 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'[[Orchestrazione (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==
* 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.
 
* ''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 è la struttura operativa (''[[framework]]'') estensibile e decentralizzata che può operare sopra varie pile protocollari per [[rete di computer|reti di computer]].
I [[richiamo di procedura remota|richiami di procedure remote]] possono essere modellizzati 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 [[Hyper Text Transfer Protocol|HTTP]] è il più comunemente utilizzato e l'unico ad essere stato standardizzato dal [[W3C]].
SOAP si basa sul metalinguaggio [[XML]] e la sua struttura segue la configurazione [[Head-Body]], analogamente ad [[HTML]].
Il segmento opzionale '''Header''' contiene [[meta-informazione|meta-informazioni]] come quelle che riguardano il [[routing]], la [[sicurezza]], le [[transazione|transazioni]] e parametri per l'[[Orchestration]]. Il segmento obbligatorio '''Body''' trasporta il contenuto informativo e talora viene detto 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 Serviceservice|servizio ''web'']] che simula un magazzino.
 
<syntaxhighlight lang="xml" line="1" copy=1>
Come primo esempio, mostriamo come un Client può formattare un messaggio SOAP per richiedere informazioni su un prodotto da un immaginario [[Web Service]] che simula un magazzino.
<source lang=xml>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
Line 26 ⟶ 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 43 ⟶ 39:
</soap:Body>
</soap:Envelope>
</syntaxhighlight>
</source>
 
== Voci correlate ==
* [[Web Serviceservice]]
* [[XML-RPC]]
* [[Web Services Description Language|WSDL]]
* [[UDDI]]
* [[Universal Description Discovery and Integration|UDDI]]
* [[CORBA]]
* [[WS-I Basic Profile]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{en}} Animazione Flash: [http://media.techtarget.com/searchWebServices/downloads/what_is_soap.swf What is SOAP]
[[es:* {{FOLDOC|Simple Object Access Protocol|Simple Object Access Protocol]]}}
* {{en}} Introduzione: [http://www.w3.org/TR/soap12-part0/ W3C SOAP primer]
* {{en}} Animazione Flash: [httphttps://media.techtarget.com/searchWebServices/downloads/what_is_soap.swf What is SOAP]
* {{en}} [http://www.w3.org/2000/xp/ attività concernenti XML protocol e servizi Web]
* {{en}}Introduzione: [httphttps://xmlwww.coverpagesw3.org/soap.htmlTR/soap12-part0/ RapportoW3C sullaSOAP tecnologiaprimer]
* {{en}}cita [httpweb|https://www.w3.org/2000/xp/ |attività concernenti XML protocol e servizi Web]|lingua=en}}
* {{en}} [http://soap2corba.sourceforge.net/ ponte bidirezionale fra SOAP e CORBA]
* {{cita web|http://xml.coverpages.org/soap.html|Rapporto sulla tecnologia|lingua=en}}
* {{en}} [https://bugzilla.mozilla.org/show_bug.cgi?id=332174 Bugzilla Bug 332174 – Drop SOAP support] Mozilla elimina SOAP in Firefox Gran Paradiso Alpha 7.
* {{en}}cita [web|http://soap2corba.sourceforge.net/ |ponte bidirezionale fra SOAP e CORBA]|lingua=en}}
{{Portale|telematica|Web}}
* {{en}} [https://bugzilla.mozilla.org/show_bug.cgi?id=332174 Bugzilla Bug 332174 – Drop SOAP support] Mozilla elimina SOAP in Firefox Gran Paradiso Alpha 7.
 
{{Controllo di autorità}}
{{Portale|telematicainternet|Webtelematica}}
 
[[Categoria:Standard W3C]]
[[Categoria:StandardProtocolli basati su XML]]
[[Categoria:Protocolli livello applicazione]]
 
[[ar:سواب]]
[[bg:SOAP]]
[[bn:সিম্প্‌ল অবজেক্ট এক্সেস প্রোটোকল]]
[[ca:SOAP]]
[[cs:SOAP]]
[[da:SOAP]]
[[de:SOAP]]
[[en:SOAP]]
[[eo:SOAP]]
[[es:Simple Object Access Protocol]]
[[et:SOAP]]
[[eu:Simple Object Access Protocol]]
[[fa:پروتکل دسترسی آسان به اشیاء]]
[[fi:SOAP]]
[[fr:SOAP]]
[[gl:Simple Object Access Protocol]]
[[he:SOAP]]
[[hr:SOAP]]
[[hu:SOAP]]
[[id:Simple Object Access Protocol]]
[[is:SOAP]]
[[ja:SOAP (プロトコル)]]
[[ko:SOAP]]
[[ml:സോപ്പ് (സോഫ്ട്വെയർ)]]
[[nl:SOAP]]
[[no:SOAP]]
[[pl:SOAP]]
[[pt:SOAP]]
[[ru:SOAP]]
[[simple:SOAP (protocol)]]
[[sk:Simple Object Access Protocol]]
[[sv:SOAP]]
[[ta:சிம்பிள் ஆப்ஜக்ட் ஆக்சஸ் புரோட்டாக்கால்]]
[[th:SOAP]]
[[tr:SOAP]]
[[uk:SOAP]]
[[yo:Simple Object Access Protocol]]
[[zh:SOAP]]