Nachdem ich ja in meinen Java auf AS400 FAQs immer heftigst von RPG Java Calls per JNI Support des RPG Compilers abgeraten habe und dort und auch auf Vorträgen und in Artikeln auf die Alternativen mit einem Java Komponenten Server für RPG verwiesen habe, stelle ich immer wieder fest, dass viele RPG Programmierer sich in RPG um ein vielfaches mehr heimisch fühlen als in Java, dass sie eher Programme mit embedded Java in RPG in Kauf nehmen als sich mal ein wenig mehr mit Java Anwendungsdesign zu befassen. Es wird mir wohl nur in Ausnahmefällen gelingen daran grundlegendes zu ändern, aber erleichtern kann man das denen, die das wollen doch.
Ich habe also nunmehr aus meinem Projekt Gleiberg ein Framework gemacht und jetzt auf meine Open Source Seite gestellt. Die Tatsache, dass es dafür eine eigene Seite gibt und diese im Toplevel verlinkt ist, lässt erahnen und hoffen, dass hier noch nähere Erläuterungen und Anleitungen folgen werden. Damit diese Absichten die Veröffentlichung nicht länger hinauszögern und weil das ganze auch auf SourceForge landen soll habe ich es im Augenblick bei einer englischen Anleitung belassen, die als Howto.html im zum Download bereitgestellten Archiv AppServer4RPG.ZIP enthalten ist.
Zur Zeit liegt der Schwerpunkt auf der Entwicklung des Transparenr Gateways, so dass im Augenblick einiges im Fluss ist. Was AppServer4RPG angeht, sind im Zuge dessen einige Bug Fixes erfolgt und als wichtigste Neuerung die Aufteilung der Nachrichten in Pakete, die die Anpassunge der Größe der DataQ überflüssig macht.
Die aktuellen Quellen und die komplette Distribution steht auf Sourceforge bereit.
Die remote Datenbank wird ganz normal im Remote Database Directory der AS/400 eingetragen, zusätzlich muss für jeden Eintrag der JDBC Treiber in einer Property Datei mit zwei Einträgen konfiguriert werden. Zusätzliche Treiber und andere Komponenten werden einfach in das lib Verzeichnis kopiert. Der Startprozess ermittelt dann den Classpath automatisch. ArdGate setzt auf der AS/400 SchnittstelleSQL Client Integration Exit Program(auch als *ARDPGM bekannt) auf. Als Schnittstellenprogramm wird ein RPG Programm eingetragen, das mit dem Javateil von ArdGate ber AppServer4RPG per DataQ kommuniziert. Die Anwendung ist bis auf die RPG Schnittstelle komplett in Java geschrieben und kann sowahl auf der lokalen AS/400, als auch auf einer anderen, beliebigen Java Plattform laufen. Der komplette Javateil inklusive AppServer4RPG kann dabei als Batchjob auf einer AS/400, als Anwendung in einem WebServer (Tomcat, WebSphere...), als Dienst auf einer Windows Maschine, oder als Dämon auf einer Linux oder anderen Unix Plattform installiert werden. ArdGate ist Multithreaded und kann gleichzeitig mehrere Clients mit einer JVM, die Speicher resident geladen bleibt, bedienen.
ArdGate ist mittlerwiele in mehreren Installationen als Ersatz für das nicht mer unterstützte Oracle Transparent Gateway im Einsatz. Dazu müssen derzeit die Programme noch umgestellt werden (was aber auf Anforderung in einem gesponsorten Projekt änderbar wäre.
Installationsunterstützung und Schulungen auf Anfrage.
Mit ArdGate ist die erste OpenSource Anwendung basierend auf AppServer4RPG in einem einsetzbaren Betastand verfügbar, weitere sollen folgen.
Damit das endlich mal aufhört und man mal sieht, wie schnell das gehen könnte, habe ich eine Mini Anwendung fär AppServer4RPG geschrieben, die das in weniger als einem Zehntel der Zeit, mit einem Bruchteil an Ressourcenverbrauch erledigt. Das ist keine Zauberei, sondern der Aufruf wird in einer vorgestarteten JVM ausgefährt, die Multithreaded alle diese Aufrufe parallel abarbeitet.
Verfägbar ist das ebenfalls auf der SourceForge Seite.zur Homepage