SOAP - Simple Object Access Protocol
Historie
- 1998 XML-RPC
- 1999 SOAP 0.9
- 1999 SOAP 1.0
- 2000 SOAP 1.1
- 2003 SOAP 1.2
also:
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Header>
</s:Header>
<s:Body>
</s:Body>
</s:Envelope>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Body>
<m:TitleInDatabase xmlns:m="http://www.lecture-db.de/soap">
DOM, SAX und SOAP
</m:TitleInDatabase>
</s:Body>
</s:Envelope>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Header>
<m:RequestID xmlns:m="http://www.lecture-db.de/soap">a3f5c109b</m:RequestID>
</s:Header>
<s:Body>
<m:DbResponse xmlns:m="http://www.lecture-db.de/soap">
<m:title value="DOM, SAX und SOAP">
<m:Choice value="1">Arbeitsbericht Informatik</m:Choice>
<m:Choice value="2">Seminar XML und Datenbanken</m:Choice>
</m:title>
</m:DbResponse>
</s:Body>
</s:Envelope>
SOAP ist an sich eine feine Sache, durch die XML-Kapselung ist jederzeit klar, was wohin muss. Das stellt IMHO gleichzeitig den größten Nachteil dar.
Woher bekomme ich jetzt – server- wie client-seitig – schnell einen XML-Parser? Das Problem entfällt ja zumindest client-seitig mit Verwendung von JSON bei JSON-RPC/REST und deren Weiterverarbeitung mit Javascript.
Außerdem bläht SOAPs Geschwätzigkeit den Verkehr auf, eine Variable schicken und einen Request mit Header und Body und sonstigem XML-Overhead zu formen erscheint hier weniger zielführend.
Das soll dieses Interface nicht schlechtmachen, doch gibt es einfacher zu bedienende Schnittstellen, die für weniger Last auf Server- sowie Client-Systemen und darüberhinaus weniger Transit-Volumen sorgen.