Architektur

SOAP – Simple Object Access Protocol

Diese Seite erläutert die Grundlagen, Struktur und Einsatzgebiete des SOAP-Protokolls für den systemübergreifenden Nachrichtenaustausch.

SOAP ist ein standardisiertes, XML-basiertes Protokoll für den Nachrichtenaustausch zwischen verteilten Systemen. Es wurde ursprünglich von Microsoft entwickelt und wird häufig in serviceorientierten Architekturen (SOA) eingesetzt.

Merkmale

  • XML-basiert
    Nachrichten werden in einem definierten XML-Format verfasst – dadurch maschinenlesbar, aber vergleichsweise umfangreich.
  • Plattform- und sprachunabhängig
    SOAP funktioniert über verschiedene Plattformen und Programmiersprachen hinweg – z. B. Java ↔ .NET.
  • Strenge Spezifikation
    Durch Einsatz von WSDL (Web Services Description Language) wird der Webservice inklusive aller Methoden, Parameter und Rückgabetypen formal beschrieben.
    XSD (XML Schema Definition) dient zur Validierung der Nachrichtendatenstruktur.
  • Transportprotokoll-unabhängig
    SOAP-Nachrichten werden häufig über HTTP(S) übertragen, es sind aber auch andere Protokolle wie SMTP möglich.
  • Erweiterbar und sicher
    Mit WS-Security können Verschlüsselung, Authentifizierung und Signaturen auf Nachrichtenebene umgesetzt werden.

Aufbau einer SOAP-Nachricht

Eine SOAP-Nachricht besteht aus einem standardisierten XML-Container mit vier Hauptbestandteilen:

<soap:Envelope>
  <soap:Header>
    <!-- optionale Metadaten, z. B. Authentifizierung -->
  </soap:Header>
  <soap:Body>
    <!-- Nutzdaten: Anfrage oder Antwort -->
  </soap:Body>
</soap:Envelope>

Beispiel: SOAP-Anfrage (verkürzt)

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getUserDetails xmlns="http://example.org/user">
      <userId>123</userId>
    </getUserDetails>
  </soap:Body>
</soap:Envelope>

Einsatzgebiete

SOAP eignet sich besonders für:

  • Große, komplexe Unternehmensanwendungen
  • Standardisierte, stark regulierte Systeme
    (z. B. in der öffentlichen Verwaltung, im Finanz- oder Gesundheitswesen)
  • Anwendungen mit hohen Sicherheitsanforderungen

Vergleich mit REST

MerkmalSOAPREST
NachrichtenformatXMLJSON, XML, etc.
KomplexitätHoch (strenge Standards)Gering (leichtgewichtig)
FlexibilitätGering (stark formalisiert)Hoch
SicherheitUmfangreich via WS-SecurityÜber HTTPS realisiert
EinsatzgebietEnterprise-SystemeWeb- und Mobile-APIs