SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax,...

15
SOAP

Transcript of SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax,...

Page 1: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

SOAP

Page 2: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

Gliederung

o Was ist SOAP?

o Geschichtlicher Abriss

o exemplarischer Aufbau

o Syntax, Struktur, Beispiel

o Übertragung und Verwendung

o Quellen

Page 3: 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

Page 4: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

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

Page 5: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

Aufbau

o XML-Struktur

o Envelope zur Identifizierung

o Header Element (optional)

o Body Element

o Fault Element (optional)

Page 6: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

<?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>

Page 7: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

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

Page 8: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

Syntax und Struktur (Fortsetzung)

o Header:

oBeinhaltet Applikationsspezifische Datensätze:

o Authentifizierung

o Autorisierung

o Routing (soap:actor=„URI“)

o weitere Informationen

Page 9: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

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!

Page 10: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

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

Page 11: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

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>

Page 12: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

Ü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

Page 13: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

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

Page 14: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

Verwendung

o möglicher Unterbau für AJAX (Alternative: REST)

o„regulierter“ DatenbankzugriffeBayAmazon http://wortschatz.uni-leipzig.de/

Page 15: SOAP. Gliederung o Was ist SOAP? o Geschichtlicher Abriss o exemplarischer Aufbau o Syntax, Struktur, Beispiel o Übertragung und Verwendung o Quellen.

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