Mit Node.js und Profoundjs auf IBM i arbeiten

Entwickeln mit Javascript

Mit der Open-Source-Plattform Node.js lassen sich performante Netzwerk- und speziell Webanwendungen auch für IBM i erstellen, die mithilfe einer Web-Socket-Verbindung in Echtzeit mit dem Webbrowser kommunizieren können. Da moderne Webbrowser – ebenso wie Node.js – Javascript verwenden, kann der Code zwischen beiden Seiten geteilt und gemeinsam verwendet werden.

Node.js ist eine weit verbreitete Open-Source-Plattform, die zur serverseitigen Ausführung von Javascript auf Google's Laufzeitumgebung V8 genutzt wird. Die asynchrone Architektur von Javascript ermöglicht eine parallele Verarbeitung von – beispielsweise – Client-Verbindungen oder Datenbank-Zugriffen. Großkonzerne wie Bank of America Merrill Lynch oder Wells Fargo arbeiten damit, darunter auch langjährige AS/400-Anwender wie Staples.

Denn IBM i bietet seit Version 7.1 die Möglichkeit, Node.js in der PASE-Umgebung zu nutzen. Dabei ist es möglich, eine Vielzahl von Paketen über den „von Haus aus“ mitgelieferten „Node Package Manager“ (NPM) auf das eigene System herunterzuladen und zu integrieren. Zudem bietet Node.js integrierte Module, z.B. das HTTP-Modul für das Hosting eines Webserver. Die Zusatz-Pakete bieten die Einbindung von Internet of Things, Bluemix, Watson API oder anderen Cloud-Services, die Erstellung und Bearbeitung von PDFs, Excel-Dateien oder Bildern, die Nutzung von Email-Diensten und vieles mehr.

Profound Logic nutzt diesen Paket-Manager, um mit Profoundjs auf IBM i die neuesten Technologien zu nutzen. Dieses Produkt ist in drei Teile gegliedert:

 

  • Ein Framework ermöglicht es, auch RPG-Strukturen in Node.js zu integrieren. Unterstützt werden alle IBM-i-Datentypen, Rich „Display Files“ (DSPFs, die mit dem Visual Designer erzeugt werden) oder HTML-Oberflächen. Zusätzlich ermöglicht das Framework eine Integration in den Visual Designer und in Profounds UI-Suite zur Gestaltung des User-Interface.
  • Der Converter kann jedes einzelne RPG-Programm automatisiert in ein Javascript-Programm umgewandeln. Speziell Fixformat-Konzepte werden vereinfacht konvertiert, überflüssiger Source-Code entfernt und Programme modularisiert, um eine verbesserte Struktur zu erhalten.
  • Der Connector als dritte Komponente unterstützt das Aufrufen von Node.js-Modulen aus einem RPG-Programm und umgekehrt. Des Weiteren können darüber Node.js- und RPG-Dialoge integriert werden. Der Connector macht einen direkten Aufruf von IBM-i-Kommandos möglich; außerdem unterstützt er die Nutzung von SQL, QTEMP und vielen weiteren IBM-i-Konzepten.

Zudem werden die Module aus Profounds UI-Suite integriert und für die Nutzung von Profoundjs mit weiteren Funktionen angereichert. So wird der vorhandene Visual Designer auch für Profoundjs zur Verfügung stehen – und nur statt einer DSPF- eine JSON-Datei erzeugen. Im Grunde ist diese JSON-Datei nichts anderes als ein DSPF.

Das Modul Jumpstart aus der UI-Suite entspricht einem Programmgenerator; damit lässt sich mit wenigen Mausklicks SQLRPGLE, Rich-DSPF- oder auch PHP-Code erzeugen. So kann Jumpstart eine umfangreiche Dialogverarbeitung komplett erstellen. Hierfür gibt es eine Erweiterung, damit der Entwickler mit Profoundjs ein Javascript-Programm und auch eine JSON-Datei erzeugen kann. Als Lösung für das Debugging bringt Profoundjs die Möglichkeit mit, über Visual Studio oder auch andere Entwicklungsumgebungen den Code zu debuggen und direkt auf IBM i zu zugreifen.

Bildquelle: Thinkstock / iStock

--

* Unser Autor David Baltromei ist Software-Ingenieur bei Task Force IT-Consulting, dem Dortmunder Partner des US-Unternehmens Profound Logic.

©2019Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok