Wenn man die Bedienoberfläche einer IBM i-Anwendung zum ersten Mal sieht, hat man sicherlich nicht den Eindruck, hier werde mit einem topaktuellen System gearbeitet. Technik, Betriebssystem und Programmiersprachen haben im Lauf der Jahrzehnte viele Neuerungen und Innovationen erfahren – das Element mit der nach außen höchsten Sichtbarkeit ist dabei aber auf der Strecke geblieben. An der Oberfläche dominiert nach wie vor Schwarz-Grün. Mit heutigen Normen und den Gewohnheiten von Anwendern hat das nichts mehr gemeinsam.

Der Markt bietet zwar diverse Werkzeuge, mit denen man die Oberfläche modernisieren kann. Die meisten gehen dabei aber so vor, dass der alte Displayhandler weiterhin im Zentrum der Anwendung steht. Dadurch unterliegt die Anwendung nach wie vor den Einschränkungen der alten Welt. Und mit jeder neuen Funktion, die im Greenscreen implementiert wird, begibt man sich noch weiter in die Abhängigkeit von veralteten Mustern. Einen völlig anderen Ansatz verfolgt Valence. Das Framework ermöglicht es, Web-Anwendungen in einer heute gängigen Architektur zu entwickeln. Kernpunkte sind hierbei:

  • klare Trennung der Schichten
  • Einsatz von Web-Standards und Frameworks
  • Serviceorientierte Backend-Programme

Offenheit für neue Technologien

Die Oberfläche wird typischerweise unter Verwendung von Javascript-Frameworks entwickelt. Valence selbst nutzt hier das kommerzielle ExtJS. Natürlich können aber auch Angular, React oder Vue.js zum Einsatz kommen. Der Datenaustausch mit den Applikations-Services erfolgt asynchron über AJAX Calls – die Daten sind dabei im JSON-Format verpackt.

Über die Backend-Programme wird die Oberfläche mit Daten versorgt. Es besteht keine 1:1-Beziehung zwischen der Oberfläche und dem Anwendungsjob, wie es bei den alten interaktiven Sitzungen der Fall war, sondern für jede Anfrage der Oberfläche wird ein kurzlebiger Worker-Job gestartet, der dann die benötigten Daten liefert oder auch in die Datenbank wegschreibt. Auch im Backend gibt es für Entwickler eine größere Auswahl – neben RPG kann Anwendungscode in PHP, Java oder bei Verwendung von Node.js auch in Javascript geschrieben werden.

Simon Muschel, Projektverantwortlicher Senior Developer bei PKS
Quelle: PKS Software

Allen Beteiligten muss allerdings klar sein, dass es eine Herkules-Aufgabe wäre, eine über Jahrzehnte gewachsene Anwendung mit Valence komplett neu zu schreiben. Besser ist es, dort anzusetzen, wo der Schuh drückt und schrittweise neue Funktionen mit Valence zu entwickeln. Die Altanwendung kann so Stück für Stück durch Valence Apps ergänzt oder ersetzt werden. Um den Medienbruch zwischen neu und alt so gering wie möglich zu halten, kann ein Tool wie eXcite helfen. Mit eXcite können große Anwendungsteile schnell und mit überschaubarem Aufwand ins Web gebracht werden. Durch die gemeinsame Ausführung im Browser können dann Valence- und eXcite-Anwendungsteile optimal integriert werden.

Im englischen Sprachraum gibt es das ‚Law of holes‘, das besagt, dass wenn man sich in einem Loch befindet, man aufhören sollte zu graben. Und tatsächlich ist es an der Zeit, mit dem Graben aufzuhören und stattdessen mit modernen Technologien zur Oberfläche zurückzukehren.

PKS Software GmbH Details unter:

www.pks.de