SOAP Services in AJAX nutzen

Kategorien: User facing SOA

Da RIAs typischerweise mit Flash oder AJAX erstellt werden und ich zur Zeit auf der Suche nach Verbindungen zwischen serviceorientierten Architekturen (SOAs) und Web 2.0-typischen Konzepten (wie zB RIAs) bin, fand ich den Artikel How to write and use SOAP services in PHP and AJAX sehr interessant. Unter anderem auch deshalb, weil SOAP ein durchaus gängiges Protokoll bei der Implementierung einer SOA ist und PHP eine durchaus gängige Scriptsprache ist, wenn es um die Entwicklung webbasierter User Interfaces geht.

Vorüberlegungen

In der Einleitung werden folgende betrachtenswerte Aspekte vorgestellt, die man sich vor dem Einsatz von AJAX zusammen mit SOAP vergegenwärtigen sollte.

  • Stehen ausreichende Ressourcen für SOAP Anfragen mit AJAX bereit?
  • Können durch AJAX sinnvoll Ressourcen eingespart werden?
  • Werden signifikante Verbesserungen der „User Experience“ erreicht?
  • Sicherheit
    • Benutzer Authentifikation
    • Validierung übergebener Parameter
    • Juristische Fragestellungen
  • Könnte der Einsatz von einfacheren Protokollen wie REST oder JSON angemessener sein, als der von SOAP?
  • Wie werden Fehler auf Client- und Serverseite sowie von der Übertragung abgefangen?
  • Wie werden Race Conditions vermieden?

PHP SOAP Server und Client

Es wird erklärt, was eine WSDL Datei ist, ein SOAP Server und ein Client zum Testen des Servers implementiert, beide in PHP. Wie das geht, habe ich auch schon auf Einfaches Beispiel für SOAP Server + WSDL und Client in PHP beschrieben, weshalb ich hier nicht näher darauf eingehe.

SOAP Request in JavaScript mit dem XMLHttpRequest Objekt

Mit Hilfe des XMLHttpRequest Objekts und angepassten Code Fragmenten des JavaScript Frameworks Prototype soll in JavaScript eine SOAP Anfrage durchgeführt werden. Die SOAP Anfrage basiert auf XML und wird über HTTP verschickt. Eine Code Beispiel zeigt die (für diverse Browser gültige) Instanziierung des XMLHttpRequest Objekts.

Anstatt die WSDL Datei zu parsen wird der SOAP Query in einem JavaScript Codebeispiel „von Hand“ erzeugt. In einem HTML Codebeispiel wird eine Vergleicheeite zum Testen des vorher besprochenen Codes demonstriert. Anschließend findet man ein Codebeispiel, in dem das XMLHttpRequest Objekt benutzt wird, um das XML Dokument des SOAP Requests zu parsen. Anhand der Datentyp-Angaben zu allen im SOAP Response vorhandenen Elemente kann aus dem Response direkt ein JavaScript Objekt generiert werden.

Tags:

Eine Reaktion zu “SOAP Services in AJAX nutzen”

  1. Webservices in JavaFX - RIA Entwicklung-Workflow-Tool.de:

    […] das REST Protokoll benutzt. Von SOAP und dem Einsatz von WSDL Dateien ist nie dir Rede. Wie wir auf SOAP Services in AJAX nutzen aber am Beispiel von AJAX/JavaScript gesehen haben, ist es aber dennoch möglich, eine SOAP Anfrage […]