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
| Merkmal | SOAP | REST | 
|---|---|---|
| Nachrichtenformat | XML | JSON, XML, etc. | 
| Komplexität | Hoch (strenge Standards) | Gering (leichtgewichtig) | 
| Flexibilität | Gering (stark formalisiert) | Hoch | 
| Sicherheit | Umfangreich via WS-Security | Über HTTPS realisiert | 
| Einsatzgebiet | Enterprise-Systeme | Web- und Mobile-APIs | 
REST – Representational State Transfer
Diese Seite erklärt das REST-Architekturprinzip und dessen zentrale Richtlinien zur Gestaltung von Web-APIs.
Softwareentwicklung
Diese Seite behandelt zentrale Konzepte der Softwareentwicklung, darunter Compiler vs. Interpreter, Versionsverwaltung, rekursive und iterative Entwicklung sowie Modularisierung.