Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenDienstag, 22. Oktober 2019 

Simple Object Access Protocol


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.

SOAP im TCP/IP-Protokollstapel
Anwendung SOAP
HTTP HTTPS ...
Transport TCP
Netzwerk IP
Netzzugang Ethernet Token
Ring
FDDI ...

SOAP ist ein Protokoll mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgeführt werden können. SOAP stützt sich die Dienste anderer Standards XML zur Repräsentation der Daten und Internet-Protokolle der Transport - und Anwendungsschicht (vgl. TCP/IP-Referenzmodell ) zur Übertragung der Nachrichten . Die gängigste Kombination ist SOAP über HTTP und TCP . Ursprünglich war SOAP die Abkürzung für S imple O bject A ccess P rotocol ( Einfaches Objekt-Zugriffs-Protokoll ) seit Version 1.2 ist SOAP jedoch keine Abkürzung mehr da es nicht (nur) Zugriff auf Objekte dient.

Inhaltsverzeichnis

Geschichtlicher Abriss

Ursprünglich wurde SOAP durch Dave Winer und Microsoft entwickelt ein erstes Produkt aus dieser Zusammenarbeit ist XML-RPC . Das Ziel war jedoch SOAP das ersten Mal Ende 1999 mit der Unterstützung durch Don Box wurde. Damals war die Version 0.9 aktuell Reaktion der Entwickler jedoch noch sehr zurückhaltend. Später im 1999 wurde die Version 1.0 veröffentlicht. Das der Zeitpunkt an dem die Entwicklung mehr Unterstützung fand. Dies kann man allem daran erkennen dass sich die Firma IBM im Jahr 2000 der Entwicklung von SOAP anschloss was führte dass IBM Microsoft DevelopMentor (Don Box) UserLand Software (Dave Winer) SOAP 1.1 als beim World Wide Web Consortium (W3C) einreichten. (siehe James Snell - Reflections on SOAP (englisch) ) Dabei wurde das Ziel verfolgt eine Arbeitsgruppe anzustoßen die SOAP weiterentwickeln sollte. Das dieser Arbeitsgruppe ist SOAP Version 1.2. Eine Änderung ist dass SOAP keine Abkürzung mehr da sämtliche Deutungen für SOAP wie "Simple Object Access Protocol" oder Oriented Architecture Protocol" den Sinn von SOAP treffen. Zudem ist es so möglich SOAP Namen in den USA anzumelden eine Abkürzung nicht geschützt werden.

Struktur einer SOAP Nachricht

Eine SOAP-Nachricht ist nach dem Head-Body Pattern modelliert. Im Head-Bereich der Nachricht werden Metainformationen der Nachricht untergebracht. Diese können Informationen über das Routing der Nachricht über eine eventuelle Verschlüsselung und / oder über die Zugehörigkeit einer Transaktion umfassen.

Im Body der Nachricht sind wie bei HTML die Nutzdaten untergebracht. Diese Daten müssen Empfänger der Nachricht interpretiert werden mögliche Zwischenstationen diese auch ignorieren.

Anschließend können mögliche Anhänge folgen diese abhängig von dem Transportprotokoll an die Nachricht

Beispielablauf einer SOAP-Kommunikation

Angenommen es existiert ein Webservice mit dem Namen "CardValidator" zum Validieren Kreditkarten und vereinfacht erwartet der Server nur Kreditkartennummer und das Gültigkeitsdatum der Karte. Der würde dann mit "true" oder "false" antworten je nachdem ob die Kartendaten gültig sind nicht.

Eine gültige Kreditkartennummer sei 1234 5678 5432 und diese Karte sei bis 12/08 2008) gültig. Bei unserem Beispiel-Webservice würde somit Datenaustausch zwischen Client und Server stattfinden:

SOAP-Anfrage vom Client (ohne HTTP-Header):

 <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/ " xmlns:xsd=" http://www.w3.org/2001/XMLSchema " xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "> <soapenv:Body> <ns1:add soapenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/ " xmlns:ns1="urn:CardValidator"> <number xsi:type="xsd:string">1234 5678 9876 5432</number> xsi:type="xsd:string">12/08</valid> </ns1:add> </soapenv:Body> </soapenv:Envelope>  

SOAP-Antwort vom Server (ohne HTTP-Header):

 <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/ " xmlns:xsd=" http://www.w3.org/2001/XMLSchema " xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "> <soapenv:Body> <ns1:addResponse soapenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/ " xmlns:ns1="urn:CardValidator"> <addReturn xsi:type="xsd:string">true</addReturn> </ns1:addResponse> </soapenv:Body> </soapenv:Envelope> 

Implementierungen

Siehe auch: CORBA UDDI WSDL

Weblinks




Bücher zum Thema Simple Object Access Protocol

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/SOAP.html">Simple Object Access Protocol </a>