Integration von Java mit IBM System i über JDBC
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
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.
Download & Build
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 Windowsrunexport.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 ResultSet
s 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.