Open Source im professionellen Einsatz

Webservice selbst programmieren

Axis2 genießt viel Unterstützung durch eine Entwickler-Community und zeichnet sich durch ausführliche Dokumentation für Einsteiger aus [7]. Das Apache-Projekt entwickelt seit vier Jahren das Framework, aktuell ist Version 1.4.1. Axis2 unterstützt zudem weitere WS-Standards und bietet viele Annehmlichkeiten für professionelle Entwickler.

Für das Beispiel reicht jedoch bereits das reine Java Development Kit als Umgebung aus. Das JDK bringt ab der Version 6 alles Nötige mit, um einen Webservice und den Client zu entwickeln. Frühere Versionen reichen für dieses Beispiel nicht aus. Insbesondere ist das Java API for XML Web Services (JAX-WS) notwendig [8]. Als Beigabe enthält es einen kleinen Server, der für dieses Beispiel ausreicht. Interessierte Programmierer installieren mit dem Befehl

aptitude install sun-java-jdk6

die Pakete auf einem Debian- oder Ubuntu-System und setzen die Umgebungsvariable »JAVA_HOME« auf den Ordner der aktuellen Installation. Das Beispiel erwartet die zwei Unterverzeichnisse »bin« und »src«.

Server beantwortet Fragen

Es gibt zwei Wege, um eine Schnittstelle als Webservice anzubieten: Einige Entwickler beginnen bei der Schnittstellendefinition mit dem WSDL-Dokument und generieren daraus eine Java-Klasse. Umgekehrt ist es ebenfalls möglich, eine WSDL-Datei aus einer Java-Klasse zu erzeugen. Das ist zum Starten einfacher, da sich so die Zusammenhänge zwischen der Java- und der XML-Welt an einem Beispiel erschließen lassen.

Die Datentypen der Schnittstelle sollten keine spezifischen Typen der Programmiersprache oder des Frameworks der Serverseite enthalten, da sie nicht leicht in XML und damit nicht im Client abbildbar sind. Zur Erinnerung: Webservices sollen die Kommunikation zwischen unterschiedlichen Technologien ermöglichen. Beispielsweise unterstützen einige Sprachen Vererbung oder Aufzählungstypen nicht oder haben eine andere Semantik. Gut lassen sich atomare Typen, Arrays und Klassen verwenden, die ihrerseits aus diesen Bausteinen bestehen. Eine Schachtelung der Typen ist möglich.

Wer mit der WSDL-Definition beginnen möchte, dem bietet XML-Schema ein mächtiges Werkzeug, das Datentypen beschreibt. Weitsichtige nutzen jedoch nach Möglichkeit nicht jede einzelne der zahlreichen Feinheiten, denn das führt schnell zu Problemen. Aus einer manuell verfassten WSDL-Datei generiert »Wsdl2Java« an der Konsole eine Java-Klasse. Sie dient als Einstieg, um den restlichen Code zu implementieren. Das Werkzeug ist Bestandteil fast aller oben genannten Framweworks für Webservices.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook