Ursprünglich als fester Bestandteil von IceBreak, wurde noxDB 2016 offiziell als Open Source Projekt auf GitHub frei gegeben.
Open Source
noxDB steht dabei für „Not only XML“ und bedeutet, dass der interessierte RPG und Cobol Entwickler mit diesem Framework nicht nur XML, sondern auch JSON und SQL Funktionen einfach, flexibel und vor allen Dingen schnell ausführen kann.
XML, JSON, SQL, REST, und vieles mehr…
Mitte der 2000er mit zahlreichen XML ILE Funktionen ausgestattet wurde es sehr früh um zahlreiche JSON Funktionen erweitert und stellt heute ein sehr effektives und umfangreiches ILE Framework dar, mit dem sehr einfach und besonders schnell jegliche XML und JSON Dokumente gelesen, verarbeitet, manipuliert, erstellt, versendet, empfangen und gelöscht werden können. Das ganze in Verbindung mit REST Services und Microservices.
In den letzten 3 Monaten hat Niels Liisberg, der als „Vater“ von IceBreak und noxDB gilt und erst kürzlich zum dritten Mal hintereinander von IBM zum IBM i Champion gekürt wurde, um einige weitere, mächtige Funktionen erweitert.
Neue Funktionen
Folgende Highlights sind hinzugekommen:
· json_set()
Ab IBM i 7.4 ist es nun möglich eine einzige json_set Anweisung für jegliche Datentypen zu verwenden. D.h. man muss keinen json_setStr(), json_setNum(), json_setBool(), etc. mehr machen, sondern noxDB erkennt den Datentyp und verwendet im Hintergrund automatisch die entsprechende Funktion.
https://github.com/sitemule/noxDB/blob/master/examples/JSONPARS0B.JSON-Basic-features-V7R4.rpgle
· json_sqlCall()
Diese erweitert die bereits vielfältigen SQL Aufrufe um einen Call von Stored
Procedures, wobei als Parameter lediglich ein JSON Dokument übergeben wird und
der json_sqlCall mapped die Json Eigenschaften automatisch auf die Stored
Procedure Parameter
https://github.com/sitemule/noxDB/blob/master/examples/JSONSQL30A.SQL-Call-stored-procedure.rpgle
· Json Generator für Data-Into RPG Anweisung
Damit kann man Json Dokumente aus RPG direkt in Datenstrukturen übertragen,
wobei mittels Parameter bestimmt werden kann, ob die Json Struktur 1:1 passen
muss oder ob es fehlende oder zusätzliche Json Eigenschaften geben darf.
https://github.com/sitemule/noxDB/blob/master/examples/JSONPARS9I.JSON-data-into.rpgle
· Json Generator für Data-Gen RPG Anweisung
Der Gegenpart zu Data-Into. D.h. wir können hiermit aus einer beliebigen Datenstruktur
ein noxDB Json Dokument dynamisch erzeugen.
https://github.com/sitemule/noxDB/blob/master/examples/JSONPARS9J.JSON-data-gen.rpgle
Gerade in Verbindung mit den SQL Funktionen innerhalb von noxDB, wie z.B. json_sqlResultset oder json_sqlUpsert sind mit diesen neuen Funktionen sehr mächtige, dynamische und generische Programme möglich, die wir u.a. direkt bei Modernisierungsprojekten einsetzen, um z.B. neue Datenmodelle auf vorhandene, alte RPG Programme zu mappen.
Alles auf GitHub
Sie finden das Projekt auf GitHub und können es dort einfach via git auf Ihre IBM i herunterladen und installieren:
GitHub – sitemule/noxDB: Not only
XML. SQL,JSON and XML made easy for IBM i
Sollten Sie hierzu Fragen oder Probleme haben, wenden Sie sich einfach an mich und ich unterstütze Sie kostenlos und unverbindlich bei der Installation.