RPG bietet langfristig keine Zukunft

AS/400-Anwender kommen an Java nicht vorbei

04.06.1999
MÜNCHEN (ue) - Globalisierung und Internet-basierte Kundenorientierung stellen die mittelständische AS/400-Klientel vor eine besonders große Herausforderung. Die konservative Midrange-Welt der IBM hat den Anwendern bislang kaum eigene Innovationen abverlangt, die vielgerühmte Zuverlässigkeit stand im Vordergrund. Nun stürmt die Java-Thematik von allen Seiten auf die RPG-Programmierer ein, wie das AS/400-Symposium in München zeigte.

Einen Meilenstein in der nun zehnjährigen Geschichte der AS/400 setzte IBM 1994. Seinerzeit sollte das Integrated Language Environment (ILE) das bis dahin auf RPG und Cobol spezialisierte System für C-Programme öffnen. Als Bestandteil von RPG IV stellte ILE eine Programmierschnittstelle für 3GL-Sprachen wie RPG, Cobol und C sowie auch für das zum Teil objektorientierte C++ dar.

Traditionelle AS/400-Programmierer wären damit dem Java-Konzept schon ein ganzes Stück näher gewesen, hätte IBM nicht die Option innerhalb von RPG IV geboten, den alten Code einfach zu kompilieren, um damit in den bisherigen Strukturen weiterzuarbeiten. Das Kompatibilitätskonzept von Big Blue hatte deshalb auch seine Schattenseite: Programmierer wurden nicht zur Verwendung fortschrittlicher Techniken angehalten - der Hersteller hatte es versäumt, Entwicklern die mit ILE verbundenen Perspektiven etwa in Richtung Client-Server-Konzepte nahezulegen. So nimmt es kaum Wunder, daß sich viele AS/400-Anwender nicht mit dem C-Support von RPG IV auseinandergesetzt haben und nach wie vor in der klassischen Host-Terminal-Architektur verharren.

Derweil wird auch das modernere ILE-RPG von neuen Techniken wie Java und Objektorientierung überholt. Auf dem von der IBM-Tochter csg veranstalteten Münchner Symposium "AS/400 Aktuell" stimmten einige Referenten nicht gerade zuversichtlich, was die Zukunft von RPG anbetrifft. Zu komplex ist die Programmpflege, wenn es um neue Anwendungen etwa zur Einbindung internationaler Filialen oder zum Aufbau von Kunden-Lieferanten-Beziehungen via Internet geht: Ein konsequenter, aber nicht überstürzter Umstieg auf Java wird dringend empfohlen.

Doch mit der Einstellung von Java-Entwicklern ist es in einer AS/400-Umgebung nicht getan. Da der Wechsel in eine objektorientierte Umgebung detaillierte Kenntnisse der Altanwendungen verlangt, ist es erforderlich, daß RPG-Spezialisten Java-Know-how erwerben. Hier ist reichlich Motivation gefragt, berichtet Günther Hartung von csg aus seiner Schulungserfahrung. Hürden, die dem RPG-Programmierer zu schaffen machen, sind neben der unterschiedlichen Sprachsyntax vor allem die Konzepte der Objektorientierung. Besonders Verfahren wie Vererbung und Polymorphismus setzen den RPG-Veteranen zu, da die 3GL nichts Vergleichbares aufzuweisen hat.

Um die Schwellenängste dennoch möglichst klein zu halten, bieten sich diverse Migrationsstrategien an, die zweckmäßig zunächst am GUI ansetzen. Nur wenig hält Hartung allerdings vom Modell der grafischen Eins-zu-Eins-Umsetzung eines 5250-Datenstroms der AS/400. Die statische oder On-the-fly-Abbildung des Greenscreens via HTML biete nur eine bescheidene optische Verbesserung.

Empfehlenswert sei dagegen der Einstieg mit einem Java-Client, der über Rümpfe der alten Anwendungen verfügt. Dabei kann es sich um eigenständige, am Front-end ablaufende Programme handeln, oder um Applets, die von außen in den Browser geladen und gestartet werden.

Beide Möglichkeiten erlauben es, etwa über JDBC auf die AS/400-Datenbank zuzugreifen. Um eine aufwendige API-Programmierung des nativen AS/400-Code-Aufrufs zu vermeiden, bietet eine Toolbox vorgefertigte Serviceklassen an. Im Prinzip handelt es sich hier um ein ähnliches Verfahren wie bei "Client Access", einem Programm, das Windows-PCs mit der AS/400 verbindet.

Der Vorteil dieses Vorgehens: Mit dem Einstieg in die Java-Welt über die Benutzeroberfläche bleiben Kernprozesse beziehungsweise die Business-Logik zunächst auf der AS/400. Da aber Eingriffe in die Anwendungslogik erforderlich sind, sollte diese eine gewisse Strukturierung aufweisen. Hier ist laut Hartung derjenige im Vorteil, der mit ILE-RPG bereits eine gewisse Modularität seiner AS/400-Programme erreicht hat.

Dies gilt in verstärktem Maß für den nächsten Migrationsschritt, wenn nach dem Client auch der Server einbezogen wird und erste Java-Programme auf der AS/400 laufen sollen. Für recht aufwendig und deshalb wenig attraktiv hält Hartung jedoch den Weg der Java-3GL-Interoperation in einem integrierten Serverprozeß. Über das Java Native Interface (JNI) ließen sich dann aus RPG heraus direkt Java-Methoden aufrufen und umgekehrt RPG-Prozeduren. Viel Handarbeit ergibt sich jedoch dann, wenn mehrere Threads eines Programms bezüglich konkurrierender Ressourcen-Zugriffe gegeneinander abgesichert werden müssen. Java bietet zwar dazu geeignete Features, etwa über die Synchronisation von Methoden, in RPG müßte dies allerdings aufwendig programmiert werden.

Deutlich komfortabler ist es dagegen, wenn auf der AS/400 erste Java-Programme mit 3GL-Anwendungen in getrennten Prozessen kommunizieren. Denkbar wäre, daß etwa die in Java programmierte Lagerverwaltung eines am San-Francisco-Projekt beteiligten Herstellers über Parameter eine RPG-Applikation aufruft.

Ob Java-Server-Programme getrennt oder integriert in RPG-Prozesse eingeführt werden - das Ziel ist es, den Anwendern eine Perspektive für das Redesign und den Austausch ihrer Altanwendungen zu vermitteln. Eine hundertprozentige Java- und Corba-basierte Objektwelt ist ohnehin noch Zukunftsmusik, das muß auch Hartung zugeben, zumal der Zweikampf mit Microsofts Konkurrenztechnik DCOM noch nicht entschieden ist.

RPG-Anwender, die glauben, an einer derartigen Roßkur vorbeizukommen, wird das Internet schon bald zum Umdenken zwingen. Wer Web-Anwendungen erstellen muß und weiterhin auf RPG besteht (ILE ist hier eine Voraussetzung), dem bleibt nur der Weg über das Common Gateway Interface (CGI). Wolfgang Rother, ebenfalls von csg, betonte auf dem Symposium, daß diese Kombination nur eine Notlösung darstellt, da RPG für derartige Zwecke nicht geeignet und CGI in diesem Zusammenhang eher ein Behelfskonstrukt sei. Die CGI-Programmierung wird zwar von den ILE-Sprachen unterstützt, erweist sich aber abgesehen von der schlechten Skalierbarkeit gerade bei kurzlebigen Web-Seiten als zu aufwendig. Die andere Möglichkeit, Perl für CGI-Programme zu nutzen, ist offiziell nicht für die AS/400 vorgesehen - auf IBMs Web-Site ist jedoch eine hauseigene Portierung der Open-Source-Sprache zu finden.

Wer es mit CGI möglichst einfach haben will, setzt auf IBMs "Net.Data", ein im Prinzip fertiges CGI-Programm, bei dem die Ablaufkommandos über Makros eingegeben werden. Den Einsatz dieser Technik empfiehlt Rother speziell für Nicht-Programmierer beziehungsweise für einfache Front-end-Abfragen oder sehr selten benötigte Anwendungen, die den Programmieraufwand nicht rechtfertigen.

Die Entwicklung mit CGI hat Rother zufolge lediglich den Vorteil, daß RPG-Programmierer die AS/400 möglichst schnell an das Internet koppeln können. Diese Technik sollte seiner Meinung nach nur als Überbrückungsphase dienen, um sich parallel dazu Java-Know-how ins Haus zu holen. Ein einfacher, eleganter und portierbarer Java-Einstieg, der zudem weit über die Möglichkeiten von CGI hinausreicht, besteht Rother zufolge im Einsatz eines Web-Applikations-Servers auf der AS/400 in Kombination mit Servlets und Java-Programmen. Besonders interessant für AS/400-Programmierer ist dabei, daß sie ihren gewohnten Menü-orientierten Programmaufbau in die Java-Welt mitnehmen können.

OS/400-Update vereinfacht E-Commerce

IBM liefert seit rund zwei Wochen Version 4.4 des AS/400-Betriebssystems OS/400 aus. Hier die wichtigsten Neuerungen:

Das Betriebssystem unterstützt bis zu zwölf separate Partitionen (logisch völlig getrennte Server). Interessant ist dieser Aspekt vor allem für Unternehmen, die eine Server-Konsolidierung vornehmen wollen. Die Partitionen können unabhängig voneinander gewartet werden und sind nur von der sogenannten Primary Partition abhängig.

Der "Client Access Express für Windows" erlaubt Anwendern, die bislang IBMs Systems Network Architecture (SNA) zur PC-Anbindung an die AS/400 verwendet haben, schnell in eine reine TCP/IP-Welt zu wechseln.

Die in der grafischen Oberfläche "Operations Navigator" enthaltene System-Management-Funktion "Management Central" wurde erweitert. Neu sind hier unter anderem die Möglichkeiten, vom PC aus Software zu verteilen oder die gesamte System-Performance zu überwachen.

Für die integrierten Cluster-Ressourcen-Services stehen den IBM-Lösungspartnern Programmierschnittstellen (APIs) zur Verfügung, über die Anwendungen automatisch mit Hochverfügbarkeits-Diensten (Datenbank-Recovery, Replikation etc.) verknüpft werden können.

Im Bereich Sicherheit für E-Business unterstützt OS/400 jetzt den Aufbau von Virtual Private Networks unabhängig von einer Firewall.

Bislang galt die im Betriebssystem integrierte SSL-Verschlüsselung (SSL = Secure Socket Layer) nur für HTTP-Zugriffe auf Web-Server. In Release 4 läßt sich SSL auch für IP-basierte Dienste nutzen. Hinzu kommt eine Datenbank zur Registrierung und Verwaltung von digitalen Zertifikaten ("Digital Certificate Manager").

Nahezu zeitgleich zu OS/400 4.4 steht Lotus Domino in Version 5 für die AS/400 zur Verfügung. Die objektrelationale Datenbank DB2 Universal Database für die Plattform erscheint voraussichtlich im Herbst dieses Jahres.