Interaktiv 0 wie geht das? Interaktive Leistung auf der AS/400 wird grundsätzlich an der Verwendung des 5250-Datenstroms gemessen. Aus diesem Grund muss eine typische AS/400-Anwendung dahingehend modifiziert werden, dass sie keinen 5250-Datenstrom mehr produziert. Alle Teile der Applikation, die z.B. auf die Bildschirme zugreifen, müssen nun eine andere Art der Darstellung für die DDS-Seiten benutzen, die „alte“ Art der Zugriffe über die „normalen“ Konstrukte der Programmiersprachen ist nicht interaktivitätsfrei. Auch sollten die bisher im QINTER-Subsystem laufenden Benutzerprozesse jetzt in einem Batch-Subsystem laufen – ein nicht ganz trivialer Eingriff in den Applikations-Ablauf, man denke hier nur daran, was passiert, wenn man z.B. ein DSPF in einem Batch-Programm öffnen will.

Ohne manuellen Eingriff

Mit dem Tool-Set AX/ware Server Builder 400 bietet PKS die Möglichkeit, eine „serverisierte“ Applikations-Version aus Ihren RPG- bzw. COBOL-Sourcen zu erzeugen – das Ganze vollautomatisch und ohne manuelle Eingriffe. Die oben genannten Punkte werden dabei beachtet, d.h. die Applikation läuft im Batch-Modus. Die Zugriffe auf die Bildschirme werden über definierte Schnittstellen auf den AX/ware Universal Client realisiert – frei von jeglichem 5250-Datenstrom. Die Verwendung der Tools ist dabei denkbar einfach und kann optimal in den bestehenden Edit/Compile-Zyklus integriert werden.

Es gibt eigentlich nur zwei Schritte, die bei der Serverisierung durchlaufen werden. Zum einen muss, um in RPG bzw. COBOL die Bildschirmoperationen lokalisieren zu können bzw. um genau zu wissen, aus welchen Feldern und mit Verwendung welcher Indikatoren die Bildschirme aufgebaut wurden, eine Analyse der Bildschirm-DDSen gemacht werden. Dabei wird ein Repository mit allen notwendigen Informationen der DDSen erzeugt, auf welches ein Pre-Kompiler beim anschließenden Lauf über die Programm-Sourcen zugreifen kann. Gleichzeitig werden sämtliche Informationen der Bildschirm-DDS-Dateien auch als so genanntes „Object Model“ für den AX/ware Universal Client zur Verfügung gestellt.

Der schon angesprochene Pre-Kompiler für RPG bzw. COBOL ist das eigentliche Herzstück des AX/ware Server Builder 400 und kommt nun als zweiter Schritt zum Einsatz. Er kopiert zunächst einmal die Programm-Sourcen und beginnt danach in dem kopierten Sourcecode alle Bildschirmoperationen zu kapseln und die Zugriffe auf den Client zu codieren. Es werden alle Arten von Bildschirmzugriffen bearbeitet – vom OPEN oder CLOSE der Dateien bis hin zum EXFMT unter RPG, alles wird serverisiert. Der zusätzlich generierte Sourcecode ist so konzipiert, dass er die nativen Befehle über einen Software-Schalter kapselt und gleichzeitig eine Parameter-Section mit anschließendem CALL eines Kommunikationsprogramms codiert.

Dieses Kommunikationsprogramm ist für die Datenübertragung über TCP/IP Sockets zwischen Client und Server verantwortlich (s. Bild2). Durch die Kapselung wird die Möglichkeit des Parallelbetriebs der 5250-Green-Screens und des AX/ware Universal Clients erreicht. Dabei muss nicht umständlich in Benutzerprofilen oder Jobbeschreibungen eingegriffen werden, sondern es wird automatisch erkannt, ob es sich um einen 5250- oder um einen Client-Verbindungsaufbau handelt. Ein auf der AS/400 laufender „Listener“-Prozess startet im Falle eines Client-Zugriffs die Applikation im Batch-Modus und setzt dabei das Environment in der für den Client/Server-Betrieb nötigen Weise. Fehlt das Environment, läuft die Applikation normal im interaktiven Modus.


So kommuniziert der Client mit dem Server iSeries

Mögliche Arten von Clients

Den Universal Client gibt es in drei verschiedenen Ausprägungen. Angefangen vom 5250-ähnlichen TXT-Client über einen auf MFC (Microsoft Foundation Classes) basierenden, grafischen WIN-Client bis hin zum Zugriff über WEB-Browser werden sämtliche Möglichkeiten der Darstellung von AS/400-Bildschirmen angeboten. Als Grundgerüst für alle Clients dient die PKS-Display-Engine. Dieses Modul ist der „Motor“ der Clients. Es weiß, wie ein AS/400-Bildschirm arbeitet, kennt die Bedeutung von DDS-Schlüsselwörtern und bildet sie entsprechend ab, kann mit Indikatoren und LDA/SDS umgehen – kurzum, alle Funktionalitäten des „Green Screen“ werden im AX/ware Universal Client dargestellt. Auf dieses Modul setzen die unterschiedlichen Anzeigearten wie TXT-, WIN- oder WEB-Anzeige auf. Diese Engine stellt aber auch einen XML-Datenstrom zur Verfügung, der zur Kommunikation mit eigenprogrammierten Clients genutzt werden kann.

Der PKS WIN-Client z.B. ist ein grafisch vorkonfigurierbarer Client, der durch die Möglichkeit, grafische Elemente durch Einbettung von Zusatzinformationen in die original DSP-DDS einzublenden, ein hocheffizientes Werkzeug zur Umsetzung von AS/400-Bildschirmmasken in Grafik-Clients ist. Die modifizierte DDS kann natürlich auf der AS/400 normal kompiliert werden, die eingebetteten Zusatzinfos werden durch den Analyselauf automatisch zum Client übertragen. Eine komplizierte Distribution von zusätzlichen Informations-Files gibt es bei diesem Client nicht. Dadurch, dass der Client in MFC geschrieben wurde, kann er natürlich optimal ins Windows-Umfeld eingebunden werden. ActiveX, OLE usw. sind implementiert und können von der einfachen MS-Office-Integration bis hin zur Abfrage von externen SQL-Datenbanken (und der damit verbundenen Möglichkeit eine Integration mit anderen, nicht AS/400-basierenden Anwendungen) hervorragend genutzt werden.


Beispiele eines WIN Client


Beispiele eines WIN Client

Oft ist es so, dass bestimmte Informationen der AS/400-Applikationen ins Internet gestellt werden sollen. Es gibt natürlich die Möglichkeit über Abfragen der DB2/400 an gewisse Informationen zu kommen, allerdings werden die wesentlich interessanteren Infos erst von der laufenden Applikation erzeugt bzw. angezeigt und stehen in keiner Datenbank zur Verfügung. PKS bietet mit einer serverbasierten Client-XML-Schnittstelle die optimale Voraussetzung, auch an solche Daten sehr einfach heranzukommen. Die Besonderheit ist, dass dabei die Aufbereitung der DDS-Daten und die Erzeugung eines standardisierten XML-Stroms schon auf der AS/400 gemacht wird, es stehen also alle Daten auch ohne einen Client bereit.
Informationen können jetzt über mehrere Bildschirme hinweg gesammelt und die AS/400 sozusagen ferngesteuert werden. Es besteht natürlich jederzeit die Möglichkeit, dass solche „Makros“ in Web-Services gebündelt werden, was eine enorme Erleichterung bei der Einbindung von AS/400-gestützten Daten ins Web oder neue Anwendungen bringt.

Sie erreichen den Autor Alfredo Battisti unter battisti@pks.de

PKS Software GmbH

D–88214 Ravensburg

Telefon: (+49) 0751/56140-0

www.pks.de