Unterschied zwischen XML und SOAP

8

Was ist der Unterschied zwischen XML und SOAP? Ich habe ein paar einführende Artikel über SOAP gelesen, aber ich bin sehr verwirrt. Dies ist das erste Mal, dass ich über SOAP lese, also ist das natürlich.

Könnte mir bitte jemand erklären, was SOAP ist und wofür es verwendet wird? Vielleicht gib mir ein paar Beispiele für seine Verwendung?

    
Richard Knop 11.03.2010, 15:16
quelle

3 Antworten

9

Wikipedia hat einen wunderbaren Artikel , einschließlich einer guten Beispiel .

  

SOAP, ursprünglich als Simple Object Access Protocol definiert, ist eine Protokollspezifikation für den Austausch strukturierter Informationen bei der Implementierung von Web Services in Computernetzwerken.

Ein wirklich gutes praktisches Beispiel:

  

Als Beispiel eines Laien, wie SOAP-Prozeduren verwendet werden können, könnte eine SOAP-Nachricht an eine Web-Service-fähige Website (z. B. eine Hauspreisdatenbank) mit den für eine Suche erforderlichen Parametern gesendet werden. Die Website würde dann ein XML-formatiertes Dokument mit den resultierenden Daten (Preise, Standort, Funktionen usw.) zurückgeben. Da die Daten in einem standardisierten maschinenlesbaren Format zurückgegeben werden, kann sie direkt in eine Website eines Drittanbieters integriert werden.

    
Derek Adair 11.03.2010, 15:20
quelle
17

Nachdem ich alle anderen guten Antworten gelesen hatte, dachte ich, es könnte hilfreich sein, eine "Superlaymans" -Version bereitzustellen. 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, wie wir es nennen:

  • "ein Umschlag" (eigentlich SOAP-Umschlag genannt)
  • "der Buchstabe" (genannt "der Körper")
  • verschiedene Annotationen ("headers" genannt - denken Sie an diese wie Stempel, Signaturanfrage, Absenderinformationen usw.), die das Postamt zum Weiterleiten der Nachricht verwendet.

Darüber hinaus definiert SOAP ein type-system , ähnlich wie die Typdefinitionen in .Net, Java oder XSD. Ich werde darauf nicht näher eingehen - da es viele Dokumente gibt, die in früheren Antworten erwähnt wurden.

Der primäre Schwerpunkt dieser Sprache / dieses Vokabulars bestand darin, 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, entworfen, um alle vorherigen Brücken zu ersetzen.

Mittlerweile haben alle wichtigen Entwicklungs-Toolkits eine Form der SOAP-Unterstützung. Dies hat Interoperabilität mehr und mehr verfügbar gemacht - aber in den meisten Umgebungen ist immer noch ein gewisses Maß an Konfiguration notwendig, um die Kommunikation wirklich nahtlos zu gestalten.

Ich sollte auch beachten, dass SOAP nicht mehr für seine ursprüngliche Absicht steht. Irgendwann denke ich, dass eine wichtige Person es (wieder) nennen wird: Service Oriented Access Protocol .

Ich hoffe, das hilft!

    
Marvin Smit 12.03.2010 18:28
quelle
2

SOAP ist ein Messaging-Protokoll, das über Netzwerke verwendet wird, um Web-Services aufzurufen.
Die Nachrichtenformate verwenden XML und werden von WSDL - gesprochenem Wizdil beschrieben.

WSDLs sind auch XML-Dokumente.

XML ist ein Dokumentformat, das Tags verwendet, um den Inhalt der Datei zu identifizieren. Seine Verwendung ist breiter als SOAP und WSDL, bei denen es sich um bestimmte XML-Typen handelt.
Sehen Sie sich das w3schools-Tutorial für XML unter Ссылка

an     
crowne 11.03.2010 15:34
quelle

Tags und Links