RIA Entwicklung mit JavaFX: Teil 5 – Webservices

Kategorien: User facing SOA

Die Klassen javafx.io.http.HttpRequest und javafx.data.pull.PullParser werden in allen mir bekannten Beispielen benutzt, wenn es um die Verwendung von Webservices in JavaFX geht. Dass beim HttpRequest von JavaFX keine Unterstützung für den Umgang mit WSDL Dateien geboten wird und der PullParser neben XML das leichtgewichtige Format JSON unterstützt, lässt darauf schließen, dass JavaFX deutlich stärker auf den Einsatz mit leichtgewichtigeren Kommunikationsprotokollen ausgerichtet ist, wie sie üblicherweise im Web 2.0 eingesetzt werden. Eine Anbindung an einer SOA ist mit JavaFX dennoch auf zwei Wegen möglich.

  1. Integration von herkömmlichem Java Code
  2. den SOAP Request “von Hand” coden

javafx.io.http.HttpRequest

Das HttpRequest Objekt wird benutzt, um eine Verbindung zu einem Webservice herzustellen und Daten abzufragen. In den hier vorgestellten Beispielen wird dabei immer 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 “per Hand” zu programmieren und diese an einen SOAP Server zu senden.

javafx.io.http.HttpRequest in JavaFX entspricht in etwa dem XMLHttpRequest Objekt in JavaScript.

javafx.data.pull.PullParser

Das PullParser Objekt wird benötigt, um Daten aus XML Dokumenten zu extrahieren, hier aus dem Response des Requests an den Webservice. Die zur Zeit unterstützten Formate vom PullParser sind XML und JSON. Da SOAP auf XML basiert, sollte es an dieser Stelle beim Parsen keine Probleme mit dem Einsatz von SOAP geben.

Links

JavaFX Web Services in 5 minutes beschreibt mit ein paar Sätzen den Ansatz, Webservices mit JavaFX zu nutzen und stellt weitere Ressourcen zum Theme vor.

Invoke RESTful Web Services from JavaFX zeigt an einem Codebeispiel, wie man RESTful Webservices mit JavaFX einbindet und die Ergebnisse in einem Datencontainer weiter verwendet.

Im gut dokumentierten Tutorial Retrieving Media Using Web Services auf JavaFX.com wird am Beispiel der Yahoo Search API das Einbinden von Webservices gezeigt. Auf JavaFX.com findet man darüber hinaus noch mehr Beispiele für den Einsatz von Webservices in JavaFX.

Auf  JavaFX as a webservice client? findet man Antworten auf die Frage, ob es Tools gibt, mit denen aus WSDL Dateien Stubs in JavaFX generiert werden können.