Containerisierung der BIRT-Entwicklungsumgebung für Maximo Manage

Chris Brown

July 14, 2025

Als Maximo Manage entwickelt sich zu einer containereigenen Plattform. Viele der unterstützenden Tools und Entwicklungsabläufe sind immer noch an ältere Technologien gebunden. Ein solches Tool ist BIRT (Business Intelligence and Reporting Tools), das nach wie vor ein zentraler Bestandteil der Berichtsfunktionen von Maximo ist, aber mit einigen erheblichen Problemen verbunden ist.

In diesem Beitrag werde ich die Herausforderungen der Arbeit mit BIRT in modernen Umgebungen erläutern und erläutern, wie die Containerisierung der BIRT-Entwicklungsumgebung nicht nur eine, sondern viele dieser Herausforderungen löst.

Das Problem: Legacy-Abhängigkeiten und Sicherheitsrisiken

Maximo Manage 8.x und 9.x (und zuvor 7.6.x) basieren auf verschiedenen Versionen von BIRT, von denen einige über sieben Jahre alt sind. Zum Beispiel hängt BIRT 4.8, das von Maximo Manage 8.x bis 9.0 benötigt wird, von Java 1.8 ab, das Oracle im Januar 2019 nicht mehr unterstützt.

Dies führt zu mehreren Problemen:

  • Sicherheitslücken: Java 1.8 erhält keine Sicherheitspatches mehr, was es zu einem potenziellen Angriffsvektor macht
  • Compliance-Probleme: Das Ausführen nicht unterstützter Software kann gegen die Sicherheitsrichtlinien des Unternehmens verstoßen
  • Umweltkonflikte: Java 1.8 kann moderne Java-Anwendungen auf derselben Maschine stören

Die Lösung: Containerisierung

Um diese Probleme zu lösen, habe ich die BIRT-Entwicklungsumgebung mit Podman, einer Rootless-Container-Engine, containerisiert. Dieser Ansatz bietet eine Reihe von Vorteilen:

Sicherheit und Abschottung

  • Java 1.8 läuft nur innerhalb des Containers und berührt niemals das Hostsystem
  • Der Rootless-Modus und die Namespace-Isolierung von Podman reduzieren das Risiko einer Rechteeskalation oder einer Systemgefährdung

Konsistenz der Umgebung

  • Jeder Entwickler verwendet dasselbe Container-Image, wodurch Probleme, die auf meinem Computer funktionieren, vermieden werden
  • Alle erforderlichen Bibliotheken, Schriftarten, JDBC-Treiber und Konfigurationen sind im Paket enthalten

Produktivität von Entwicklern

  • Keine Einrichtungszeit: Entwickler können sofort mit der Arbeit beginnen, indem sie den Container ziehen und ausführen
  • Parallele Entwicklung: Führen Sie mehrere Versionen von Java oder BIRT ohne Konflikte nebeneinander aus
  • Schnelleres Onboarding: Neue Teammitglieder müssen nicht stundenlang ihre Umgebung konfigurieren

Cloud- und CI/CD-Integration

  • Container können direkt in OpenShift bereitgestellt werden, was der containerbasierten Architektur von Maximo entspricht
  • Die Generierung von BIRT-Berichten kann für automatisiertes Testen und Bereitstellen in CI/CD-Pipelines integriert werden

Portabilität und Anpassung

  • Container laufen auf jedem Betriebssystem, das Podman oder Docker unterstützt
  • Sie können kundenspezifische Images mit vorinstallierten Berichten und Bibliotheken erstellen, was die Einrichtungszeit reduziert und die Konsistenz gewährleistet

Auf Maximos Zukunft ausgerichtet

Da Maximo Manage selbst jetzt in Containern läuft, ist es absolut sinnvoll, die BIRT-Entwicklungsumgebung in dasselbe Ökosystem zu integrieren. Durch die Containerisierung von BIRT:

  • Sie reduzieren das Risiko
  • Du verbesserst das Entwicklererlebnis
  • Du orientierst dich an modernen DevOps-Praktiken

Und vielleicht am wichtigsten: Sie machen Ihren Entwicklungsworkflow zukunftssicher.

Zusammenarbeit und Teamskalierbarkeit

Ein weiterer großer Vorteil der Containerisierung der BIRT-Entwicklungsumgebung ist die Verbesserung der teamübergreifenden Zusammenarbeit. Durch die Verwendung eines gemeinsamen, versionskontrollierten Container-Images können Teams sicherstellen, dass alle — von Entwicklern über Tester bis hin zu DevOps-Ingenieuren — in einer konsistenten Umgebung arbeiten. Dies reduziert Missverständnisse, vereinfacht die Fehlerbehebung und erleichtert die Skalierung der Entwicklungsbemühungen auf mehrere Projekte oder Kunden. Egal, ob Sie neue Teammitglieder einbinden oder zeitzonenübergreifend zusammenarbeiten, Container bieten eine zuverlässige und reproduzierbare Grundlage, auf der alle Beteiligten auf dem Laufenden bleiben.

Beispiel aus der realen Welt

Bei einem kürzlich durchgeführten Projekt stießen wir bei der Entwicklung von Berichten für IBM Maximo Application Suite (MAS) Manage 9.0 mithilfe der containerisierten Version von BIRT auf ein unerwartetes Problem. Insbesondere die Berichtsvorschaufunktion funktionierte nicht — ein Problem, auf das keines der anderen Entwicklungsteams zuvor gestoßen war.

Nach einigen Untersuchungen stellten wir fest, dass die Hauptursache mit dem Berichtskontext zusammenhängt, der von den Bibliotheken erstellt wurde, die mit der containerisierten BIRT-Umgebung gebündelt sind. Obwohl diese Bibliotheken technisch korrekt waren, führten sie zu einer subtilen Inkompatibilität mit MAS Manage 9.0.

Die Lösung bestand darin, den Bericht so zu ändern, dass dem Berichtskontext manuell eine fehlende Maximo-Eigenschaft hinzugefügt wurde. Interessanterweise war dieses Problem noch nie aufgetaucht, da die meisten Berichte für MAS 9 gemäß den BIRT-Entwicklungsleitfäden von IBM entwickelt wurden. Diese Anleitungen verweisen auf Bibliotheksdateien, die für BIRT 8.x bestimmt sind und nicht dasselbe Problem aufweisen.

Diese Erfahrung ist eine wertvolle Erinnerung: Entwicklungsumgebungen können erheblich variieren, und diese Unterschiede können später in der Pipeline zu unerwarteten Problemen führen. Es unterstreicht, wie wichtig es ist, Tools und Bibliotheken im spezifischen Kontext Ihrer Bereitstellungsumgebung zu validieren — auch wenn Sie der offiziellen Dokumentation folgen.

Ältere Tools wie BIRT müssen Sie nicht aufhalten. Mit der Containerisierung können Sie Ihre Entwicklungsumgebung modernisieren, ohne alles von Grund auf neu schreiben zu müssen. Es ist eine praktische, skalierbare Lösung, die Sicherheit, Konsistenz und Flexibilität in Ihre Maximo-Berichtsabläufe bringt.

Entdecken Sie den ultimativen Leitfaden zur IBM Maximo Application Suite (MAS)

Erfahren Sie alles, was Sie wissen müssen, um Ihre Vermögensverwaltungsstrategie zu modernisieren.

Darin erfährst du:

  • Was ist neu in IBM Maximo Application Suite 9.0
  • Hauptunterschiede zwischen Maximo 7.6 und MAS
  • Wie AppPoints und OpenShift das Spiel verändern
  • Branchenanwendungsfälle in den Bereichen Energie, Fertigung und Transport
  • Schrittweise Anleitung für das Upgrade und die Bereitschaft zur Migration
Cover of 'The Ultimate Guide to MAS Maximo Application Suite' by Naviam featuring a man in a yellow construction helmet and safety vest holding a tablet.
×

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.

You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can go now.

Read Press Release