Integration von Java mit IBM System i über JDBC

JDBC Verbindung

In unserem vorherigen Beitrag hast du bereits die Grundlagen von JDBC kennengelernt – insbesondere im Zusammenspiel mit IBM System i (AS/400) und dem JTOpen-Treiber. In diesem Artikel gehen wir einen Schritt weiter: Wir zeigen dir, wie das Open-Source-Projekt zeus-access-400 den Zugriff auf IBM i Datenbanken per JDBC effizient umsetzt.

Jede Klasse im Projekt übernimmt eine klar definierte Aufgabe. Gemeinsam ermöglichen sie es, Java-Anwendungen nahtlos mit dem IBM System i zu verbinden – und die Ergebnisse flexibel in verschiedene Formate zu exportieren.

Eine Datenselektion – viele Exportformate

zeus-access-400

Das Projekt unterstützt eine Vielzahl von Formaten, um die Ausgabe genau an deinen Bedarf anzupassen:

  • XML: Strukturiert und bestens für datenlastige Anwendungen geeignet
  • HTML: Ideal für browserbasierte Auswertungen und Reportings
  • JSON: Das Standardformat für APIs und moderne Webanwendungen
  • JSONL: Zeilenbasierte JSON-Ausgabe für große Datenmengen
  • CSV: Klassisches Exportformat für Excel & Co.
  • Markdown (MD): Praktisch für Doku direkt auf GitHub oder GitLab

Durch diese Vielfalt an Formaten ist zeus-access-400 vielseitig einsetzbar – sei es in der Analyse, der Visualisierung oder zur Dokumentation von Daten.

Werbung/Advertising

Softwarehunter.de CBD VITAL Partner it-versand ADCELL Aromatico

Download & Build

Projekt auf GitHub ansehen

Projekt kompilieren (Maven Build)

Im Projektverzeichnis kannst du mit folgendem Befehl die JAR erzeugen:

mvn clean package

Das bereinigt vorherige Builds und erzeugt ein neues Artefakt im target-Ordner. Siehe auch diesen Beitrag zur pom.xml.

Deployment: zeus-access-400.zip

Für die einfache Installation kannst du die ZIP-Datei verwenden. Nach dem Entpacken einfach die jt400.jar hinzufügen und application.properties anpassen.

Starte die Anwendung mit den beiliegenden Skripten:

  • runexport.cmd für Windows
  • runexport.sh für Unix / OS400

Projektstruktur im Überblick:

./zeus-access-400
│   application.properties
│   runexport.cmd
│   runexport.sh
│   zeus-access-400-1.0-SNAPSHOT.jar
│
├───export
└───xslt
      xml_to_csv.xslt
      xml_to_html.xslt
      xml_to_json.xslt
      xml_to_jsonl.xslt
      xml_to_md.xslt

Start der Anwendung

Unter Unix/Linux/System-i:

java -cp "zeus-access-400-1.0-SNAPSHOT.jar:jt400.jar" de.zeus.hermes.AppInitializer application.properties

Unter Windows:

java -cp "zeus-access-400-1.0-SNAPSHOT.jar;jt400.jar" de.zeus.hermes.AppInitializer application.properties

Beachte den Unterschied bei den Trennzeichen im Classpath (Doppelpunkt vs. Semikolon).

Die Klassen im Überblick

AppInitializer

Startpunkt der Anwendung. Lädt Konfigurationen und startet den Datenbank-Service.

Config

Singleton zur Verwaltung aller Konfigurationsparameter wie Datenbankzugang & Abfragen.

PropertiesLoader

Lädt Konfigurationen aus externen Dateien, auch aus JARs – flexibel für verschiedene Umgebungen.

DatabaseManager

Stellt Verbindungen her, führt SQL aus, schließt sauber – die JDBC-Arbeitsmaschine.

DatabaseController

Verbindet sich mit der DB über den DatabaseManager, delegiert Exporte an XmlExporter.

DatabaseService

Abstrakte Schicht für spezifische Datenbankaktionen wie XML-Exporte – entkoppelt die Logik.

XmlExporter

Konvertiert ResultSets in XML, kümmert sich um Dateiausgabe & Struktur.

XMLtransformer

Wandelt XML mithilfe von XSLT in andere Formate (z. B. JSON, HTML, Markdown) um.

Weitere Ressourcen

Fazit und Ausblick

zeus-access-400 ist ein praxisnahes Beispiel, wie du mit Java und JDBC effizient auf IBM System i zugreifen kannst. Durch die modulare Architektur und den Einsatz gängiger Exportformate ist es ein starkes Werkzeug für Entwickler, die Daten nicht nur abrufen, sondern auch professionell weiterverarbeiten wollen.

Im nächsten Artikel zeigen wir, wie die JDBC-API auch mit anderen Datenbanksystemen eingesetzt werden kann – denn Java kennt hier (fast) keine Grenzen.