SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax,...
-
Upload
anne-bodeker -
Category
Documents
-
view
104 -
download
0
Transcript of SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax,...
SOAP
Gliederung
o Was ist SOAP?
o Geschichtlicher Abriss
o exemplarischer Aufbau
o Syntax, Struktur, Beispiel
o Übertragung und Verwendung
o Quellen
Was ist SOAP?
o ehemals ein Akronym (simple object access protocol)
o erlaubt ferne Methodenaufrufe (remote
procedure calls) und Datenaustausch über das Internet
o serialisierter Datenstrom
o „regulierbarer“ Datenbankzugriff
o unsichere Übertragung
o Sprach- und Plattformunabhängig
o basiert auf XML
Geschichte
o 1999 als Weiterentwicklung von XML-RPC
o 2000 steigt IBM in die Entwicklung mit ein
o 2002 entwickelt eine Arbeitsgruppe aus IBM, Microsoft, DevelopMentor und UserLand Software v1.2
o 2003 offizielle W3 Empfehlung
o SOAP nicht weiter ein Akronym und damit in den USA rechtl. schützbar
Aufbau
o XML-Struktur
o Envelope zur Identifizierung
o Header Element (optional)
o Body Element
o Fault Element (optional)
<?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>...</soap:Header>
<soap:Body>... <soap:Fault> ... </soap:Fault></soap:Body>
</soap:Envelope>
Syntax und Struktur
o Envelope:
o„xmlns:soap“ Namespace, Adresse muss wie folgt lauten: „http://www.w3.org/2001/12/soap-envelope“
o „soap:encodingStyle“ muss ein URI sein, definiert die verwendeten Datentypen
Syntax und Struktur (Fortsetzung)
o Header:
oBeinhaltet Applikationsspezifische Datensätze:
o Authentifizierung
o Autorisierung
o Routing (soap:actor=„URI“)
o weitere Informationen
Syntax und Struktur (Fortsetzung)
<soap:Header> <m:Trans xmlns:m="URI" soap:mustUnderstand="1">
... </m:Trans></soap:Header>
o mustUnderstand=„0|1“ sagt aus, dass das Kindelement des Headers vom Empfänger wahrgenommen werden muss!
Syntax und Struktur (Fortsetzung)
o Body enthält die eigentlichen Anweisungen
o call
o response
o m:XXX sind Anwendungsspezifische Elemente
o Fault optional für ein Errorlog
Syntax und Struktur (Fortsetzung)
<soap:Body> <m:GetPrice xmlns:m="URI"> <m:Item>Apples</m:Item> </m:GetPrice></soap:Body>
<soap:Body> <m:GetPriceResponse xmlns:m="URI"> <m:Price>1.90</m:Price> </m:GetPriceResponse></soap:Body>
Übertragung
o XML Struktur wird bei jeder Übertragung validiert Zeitaufwändig
o gut für große Anfragen, allerdings für voriges Beispiel völlig überladen
o Verwendung verschiedener Protokolle möglich (FTP, SMTP, HTTP)
o meist jedoch HTTP(S) was zur Einfachen Formel führt:
HTTP + XML = SOAP
Transport über HTTP / TPC
POST /item HTTP/1.1Host: 189.123.345.239Content-Type: application/soap+xml; charset=utf-8Content-Length: 200
o Content-Type definiert den MIME type und das Charset
o Content-Length gibt die max. Anzahl Bytes an
Verwendung
o möglicher Unterbau für AJAX (Alternative: REST)
o„regulierter“ DatenbankzugriffeBayAmazon http://wortschatz.uni-leipzig.de/
Quellen
ohttp://labs.paulicio.us/viewport/files/2008/10/makingof.png
ohttp://erde.fbe.fh-weingarten.de/keller/Downloads/soap.pdf
o http://www.fh-wedel.de/~si/seminare/ws00/Ausarbeitung/6.soap/soap00.htm http://www.w3schools.com/soap/
ohttp://wortschatz.uni-leipzig.de/Webservices/
ohttp://msdn.microsoft.com/de-de/library/ms996427.aspx