Nachdem alle anderen guten Antworten zu lesen, dachte ich, es könnte hilfreich sein, eine „Super laymans“ -Version zur Verfügung zu stellen. Ich hoffe, es hilft.
SOAP ist wie die Computerversion, die den Postdienst verwendet. Eine Nachricht (wie ein Brief) wird in einen Umschlag gelegt und an die Person versandt, für die sie bestimmt ist.
In erster Linie ist SOAP ein XML-Vokabular. Es definiert eine Sprache, die die XML-Spezifikation verwendet, um zu adressieren und Sende-Nachrichten zu senden.
Insbesondere standardisiert es, was wir als:
- "einen Umschlag"
- "der Buchstabe" (genannt "der Körper")
- verschiedene Anmerkungen (eigentlich ein SOAP-Umschlag genannt) („Header“ genannt - man denke an diesen wie briefmarken, Signaturanforderung, Absenderinformationen, usw. -, die die Post zu routen verwendet die Nachricht)
Außerdem definiert SOAP eine type-system
, m uch wie die Typdefinitionen, die Sie in .Net, Java oder XSD finden.Ich werde darauf nicht näher eingehen - da es dort viele Dokumente gibt, die in früheren Antworten erwähnt wurden.
Der primäre Designschwerpunkt dieser Sprache/dieses Vokabulars war es, die Interoperabilität plattformübergreifend zu ermöglichen. Also, Java ruft COM an, ruft .Net, ruft J2EE und den Rest an und bleibt in absehbarer Zeit erweiterbar. Anstatt eine weitere Brücke zwischen einem COM-Objekt und einer Java-Klasse zu erstellen, können wir SOAP einfach verwenden, um die Funktionalität unseres Objekts zu offenbaren, so dass andere Plattformen sie ohne die Notwendigkeit von Brücken verwenden können. Oder, um es anders auszudrücken - SOAP war eine letzte Brücke, die alle bisherigen Brücken ersetzen sollte.
Inzwischen haben alle wichtigen Entwicklungs-Toolkits eine Form der SOAP-Unterstützung. Dies hat die Interoperabilität mehr und mehr verfügbar gemacht - aber in den meisten Umgebungen ist immer noch ein gewisses Konfigurationsniveau erforderlich, um die Kommunikation wirklich nahtlos zu gestalten.
Ich sollte auch beachten, dass SOAP nicht mehr für das steht, was seine ursprüngliche Absicht war. Irgendwann denke ich, dass eine wichtige Person es (wieder) benennen wird: Service Oriented Access Protocol
.
Ich hoffe, das hilft!
Ich bin einmal auf einen Programmierer gestoßen, der auch die Frage stellen musste: "Könnte mir bitte jemand erklären, was SOAP ist und wofür es gebraucht wird?", Aber ohne die Großschreibung. –
ernsthaft, ich lache immer noch @ diesen Kommentar ... –
Programmierer und gute Hygiene nicht immer Hand in Hand gehen. –