Nachrichten verschicken mit SOAP - Die SOAP-Spezifikation

Kommunikations-Philosophie

Um SOAP zu verstehen, muss klar sein, dass es keinerlei Annahmen darüber macht, welcher Kommunikationskanal (Telefon, Brief, Funk) verwendet wird, welche Sprache genutzt wird oder wie die Daten verpackt werden (Gedicht, Bild, Prosa). Wichtig ist nur, dass sich Sender und Empfänger auf ein bestimmtes Verfahren einigen, und dieses einheitlich interpretieren.

Plakative Darstellung: Der Austausch einer SOAP-Nachricht im Überblick. (Quelle: Dostal et al: Serviceorientierte Architekturen mit Web Services, Elsevier/Spektrum)
Plakative Darstellung: Der Austausch einer SOAP-Nachricht im Überblick. (Quelle: Dostal et al: Serviceorientierte Architekturen mit Web Services, Elsevier/Spektrum)

Im ersten Schritt wählt der Sender einen Kommunikationskanal aus, über den der Empfänger erreichbar ist. Die Nachricht wird dann in einem Format verfasst, das der Empfänger versteht. Wird die Nachricht abgeschickt, muss sie so verpackt werden, dass sie auf dem gewählten Kanal transportiert werden kann und der Empfänger sie als Nachricht erkennt.

Auf Empfängerseite läuft der Prozess umgekehrt ab: Der Empfänger entpackt die Nachricht, list die Botschaft und interpretiert sie.

Die Nachricht kann über verschiedene Zwischenstationen zum Empfänger gelangen. Solche Zwischenstationen können zum Beispiel Relay-Stationen sein, die das Signal verstärken oder Gateways, die die Nachricht auf ein anderes Transportsystem setzen.

Ein solches Gebilde aus Kommunikationselementen und Verbindungen ist mathematisch betrachtet ein Graph, dessen Elemente als Knoten bezeichnet werden. Im SOAP-Konzept werden Sender, Empfänger und Zwischenstationen deshalb als Knoten („nodes“) bezeichnet, wobei jeder Knoten eindeutig über eine URI („Uniform Ressource Identifier“) identifizierbar sein muss.