Mit den Webservices öffnet sich Betreibern der typischen AS/400-Umgebungen die weite Welt des Internets. Mit der Möglichkeit, RPG durch einige Zusätze Webservice-fähig zu machen, lassen sich relativ einfach bestehende Anwendungen so anpassen, dass diese über das Internet mittels Webanwendungen genutzt werden können. Die dazu notwendigen Einstellungen und Voraussetzungen wurden bereits behandelt.

In dieser Ausgabe soll Ihnen gezeigt werden, wie die neuen Webservices (ab Version 7.1) auf dem System i verwaltet und bereitgestellt werden können.

Den auf dem System i integrierten Webservice-Server gibt es in den Versionen 7.x in zwei verschiedenen Varianten:

  • Version 1.5 und
  • Version 2.6.

Die wesentlichen Neuerungen im Bereich der Webservices stehen in der Regel in der neueren Webservice-Server-Version zur Verfügung. Exemplarisch ist an dieser Stelle die Nutzung der REST-Webservices zu nennen, die zumindest den integrierten Webservice-Server in der Version 2.6 benötigen.

Das Erstellen des integrierten Webservice-Servers erfolgt über die Webadministrationsoberfläche des System i.

Um diese nutzen zu können, muss der HTTP-Serverdienst *Admin auf dem System i laufen bzw. gestartet werden.

Die Aktivität dieses Serverdienstes kann mit dem Befehl WRKACTJOB SBS(QHTTPSRV) geprüft werden.

In der Anzeige der aktiven Jobs sollten dann Einträge mit „Admin“ zu sehen sein.

Wenn diese nicht aktiv sind, dann muss der Webadmin-Bereich gestartet werden. Dazu wird der Befehl STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN) verwendet.

In dieser Ausgabe soll sich auf die Spezifika der REST-Services beschränkt werden. Deshalb wird hier auf die notwendigen Teilschritte in der Einrichtung des Webservers basierend auf der Version 2.6 Bezug genommen.

In einem möglichst aktuellen Browser wird zunächst die Start-URL für den HTTP-Admin-Bereich des System i eingegeben. Verwenden Sie dazu die folgende URL:

servername:2001

Ersetzen Sie nun den Platzhalter „Servername“ durch den Namen des System i oder dessen IP-Adresse.

Sodann öffnet sich der Einstiegsbereich in den Webadmin. Dort melden Sie sich mit einem Benutzer an, der mindestens über die Sonderberechtigungen *IOSYSCFG und *ALLOBJ verfügen muss.

Hier wird in Abhängigkeit der Browser-Einstellungen meist ein Hinweis ausgegeben, der Sicherheitsbedenken zur aufgerufenen Webseite aufzeigt. Diese können an dieser Stelle akzeptiert werden, auch wenn das nicht unbedingt empfohlen ist.

Damit gelangen Sie in die Einstiegsseite des IBM Navigator for i. Im linken Navigationsbereich unten ist der Eintrag „Internetkonfiguration“ zu finden. Hier konfigurieren Sie nicht etwa das Internet, sondern ebendie Webserver-Einstellungen für das System i.

Wählen Sie den Eintrag „Internetkonfiguration“ aus.

In der sich nun öffnenden Seite können unterschiedliche Funktionen ausgeführt werden. Für Sie ist an dieser Stelle der Eintrag „IBM Web Administration for i“ wichtig, den Sie zur weiteren Konfiguration des Webservers selektieren.

Wurde bereits ein Webserver auf dem System i konfiguriert, dann gelangen Sie direkt in dessen Einstiegsseite. Gibt es noch keinen, dann wird der Konfigurationsassistent gestartet.

Nun sollen die damit verbundenen Teilschritte durchgegangen werden. Hierbei sei erwähnt, dass auf einem Webserver mehrere Anwendungen zeitgleich ausgeführt werden können. Das kommt in etwa einem Subsystem nahe. Übrigens: Ein gestarteter Webserver kann in der Tat in der Übersicht der aktiven Jobs im Subsystem QHTTPSRV gefunden werden. In nachfolgender Abbildung ist ein Beispiel gezeigt, und Sie sehen die Jobeinträge für den aktiven Webserver WSERVICE.

Doch erst einmal zurück zur Konfiguration des Webservers Version 2.6, der später für die Verwendung mit SOAP- und REST-Services genutzt werden soll.

Zunächst muss bei der Erstellung des Webservers entschieden werden, ob dieser in der bisherigen „Alt“-Version 1.5 oder in der Version 2.6 erstellt werden soll. Diese Selektion muss in der nächsten Anzeige getätigt werden.

IBM hat bereits die Version 2.6 als ersten Eintrag voreingestellt. Sollten Sie keine Notwendigkeit bedingt durch Programmierrichtlinien oder sonstige Vorgaben haben, dann empfiehlt sich hier generell die Verwendung der Version 2.6.

Mit einem Klick auf die Schaltfläche „Weiter“ gelangen Sie in den nächsten Konfigurationsbildschirm.

In dieser Anzeige müssen Sie dem Server einen eindeutigen Namen geben. IBM schlägt hier als Standard „WSERVICE“ vor. Sie können diesen Vorschlagswert natürlich nach Belieben ändern. Die Serverbeschreibung hat nur eine rein beschreibende Wirkung.

Nach der Eingabe der beiden Werte setzen Sie die Konfiguration mit einem Klick auf die Schaltfläche „Weiter“ fort.

Jetzt gilt es, den Benutzer anzugeben, unter dem die Serverjobs ausgeführt werden sollen. Doch ist dieser Benutzer für die eigentliche Ausführung der Webservices nicht von Bedeutung, und man muss sich noch keine Gedanken über mögliche Anwendungsberechtigungen machen. Der hier anzugebende Benutzer dient lediglich der Steuerung und Ausführung der Webserver-Jobs. Es kann der Standardbenutzer QWSERVICE verwendet oder ein anderes IBM-Benutzerprofil angegeben werden. Als Neuerung kann nun auch über diesen Assistenten ein neues IBM-i-Benutzerprofil angelegt werden.

In der nächsten Abbildung ist unter anderem die Ausführung des Webservice-Server-Jobs unter dem Benutzerprofil QWSERVICE zu sehen.

Die Konfiguration setzen Sie mit einem Klick auf die Schaltfläche „Weiter“ fort.

Im Abschlussbildschirm werden alle getätigten Informationen zusammengefasst. Einige Einstellungen sind ohne unser Einwirken voreingestellt worden. Leider sind diese im Zuge der Installation nicht änderbar, doch lassen Sie sich in einem weiteren Schritt bei Bedarf ändern. So können nach der Servererstellung beispielsweise die Ports angepasst werden.

Mit einem Klick auf die Schaltfläche „Fertig stellen“ wird der Webservice-Server erstellt, und er kann für die Ausführung der Webservices zum Einsatz kommen.

Jetzt gilt es, den gewünschten Webservice auf dem Webservice-Server bereitzustellen. Der Einfachheit halber wird hier der von IBM mitgelieferte Webservice CONVERTTEMP für die Umrechnung von Fahrenheit in Celsius genutzt. Dieser Webservice verfügt über zwei Parameter:

• Eingabeparameter: Wert in Fahrenheit,

• Ausgabeparameter: Wert für Celsius.

Im linken Navigationsbereich des Webservice-Servers finden Sie den Eintrag „Neuen Service implementieren“. Diesen selektieren Sie für die Neuanlage eines Webservices.

Voraussetzung für die Implementierung ist, dass das Programm auf dem System i als Programm oder Serviceprogramm definiert wurde und die PCML-Informationen vorliegen.

Das von IBM gelieferte Beispiel finden Sie in der Bibliothek QSYSDIR, und es trägt den Namen QIWSSAMPLE.

Beginnen Sie also mit der Implementierung des REST-Webservices und klicken Sie auf die Schaltfläche „Neuen Service implementieren“.

In der neuen Serverversion müssen Sie in der Folgeanzeige die Art des Services selektieren. Zur Verfügung stehen hier

• SOAP-Services und

• REST-Services.

Wählen Sie jetzt den REST-Service aus.

Nach der Auswahl bestätigen Sie mit einem Klick auf die Schaltfläche „Weiter“.

Nun ist anzugeben, wo sich das RPG-Programm befindet. Im Beispiel ist es QIWSSAMPLE in der Bibliothek QSYSDIR.

Klicken Sie auch jetzt auf die Schaltfläche „Weiter“.

Nun kommt eine Neuerung im Vergleich zum SOAP-Service, denn es müssen die Details zu den HTTP-Anforderungen hinterlegt werden.

Hier geben Sie als Ressourcenname einen eindeutigen Namen an. Das Feld „Servicebeschreibung“ kann zur Angabe einer Beschreibung genutzt werden.

Die URI-Angabe im Feld URI-Pfadvorlage dient der Anforderungsverarbeitung. Hier wird hinterlegt, wie Ressourcen und Ressourcenmethoden zusammenarbeiten.

Ein Parameter wird in eckigen Klammern definiert. Achten Sie darauf, dass er mit einem Slash beginnt. Im Beispiel ist das /{temp}. Allerdings haben Sie dort noch eine Erweiterung in Form von \d+. Das bedeutet, dass Sie nur Ziffern als Parameter angeben können (D = digits).

Mit einem Klick auf die Schaltfläche „Weiter“ finden Sie die auf Basis der PCML-Definitionen ausgelesenen Parameter des zu implementierenden Webservices.

Die Parameter lassen sich nicht in Bezug auf deren Namen oder Art ändern. Lediglich die Art der Verwendung ist hier anpassbar. Also die Angabe, ob es sich um einen Eingabeparameter, einen Ausgabeparameter oder beides handelt.

Mit einem Klick auf die Schaltfläche „Weiter“ gelangen Sie in eine weitere Anzeige, die sich von der Definition der SOAP-Webservices unterscheidet, denn hier müssen Sie unter anderem die URI-Details angeben.

Beim ersten Parameter geben Sie die HTTP-Anforderungsmethode an. Dabei können Sie zwischen folgenden Methoden wählen:

• GET

o Lesen

• PUT

o Ändern bestehender Elemente

• POST

o Neuanlage von Elementen

• DELETE

o Löschen von Elementen