Containerisatie van de BIRT-ontwikkelomgeving voor Maximo Manage

Chris Brown

July 14, 2025

Zoals Maximo Manage evolueert naar een container-native platform; veel van de ondersteunende tools en ontwikkelingsworkflows zijn nog steeds gekoppeld aan verouderde technologieën. Een van die tools is BIRT (Business Intelligence and Reporting Tools), dat nog steeds een belangrijk onderdeel is van Maximo's rapportagemogelijkheden, maar het brengt wel wat bagage met zich mee.

In deze post bespreek ik de uitdagingen van het werken met BIRT in moderne omgevingen en hoe het containeriseren van de BIRT-ontwikkelomgeving niet slechts één, maar veel van die uitdagingen oplost.

Het probleem: verouderde afhankelijkheden en beveiligingsrisico's

Maximo Manage 8.x en 9.x (en voorheen 7.6.x) zijn afhankelijk van verschillende versies van BIRT, waarvan sommige meer dan zeven jaar oud zijn. BIRT 4.8, vereist voor Maximo Manage 8.x tot en met 9.0, is bijvoorbeeld afhankelijk van Java 1.8, dat Oracle in januari 2019 niet meer ondersteunt.

Dit levert verschillende problemen op:

  • Beveiligingsproblemen: Java 1.8 ontvangt geen beveiligingspatches meer, waardoor het een potentiële aanvalsvector is
  • Nalevingsproblemen: Het gebruik van niet-ondersteunde software kan in strijd zijn met het beveiligingsbeleid van het bedrijf
  • Milieuconflicten: Java 1.8 kan moderne Java-toepassingen op dezelfde machine verstoren

De oplossing: containerisatie

Om deze problemen aan te pakken, heb ik de BIRT ontwikkelomgeving gecontaineriseerd met Podman, een rootless container engine. Deze aanpak biedt tal van voordelen:

Veiligheid en isolatie

  • Java 1.8 draait alleen in de container en raakt nooit het hostsysteem
  • De rootless-modus en de isolatie van de naamruimte van Podman verminderen het risico op escalatie van bevoegdheden of systeemcompromissen

Consistentie van het

  • Elke ontwikkelaar gebruikt dezelfde containerimage, waardoor problemen met „werken op mijn computer” worden voorkomen
  • Alle vereiste bibliotheken, lettertypen, JDBC-drivers en configuraties zijn vooraf gebundeld

Productiviteit van ontwikkelaars

  • Geen installatietijd: ontwikkelaars kunnen direct aan de slag door de container te trekken en te laten draaien
  • Parallelle ontwikkeling: voer meerdere versies van Java of BIRT naast elkaar uit zonder conflicten
  • Snellere onboarding: nieuwe teamleden hoeven geen uren te besteden aan het configureren van hun omgeving

Cloud- en CI/CD-integratie

  • Containers kunnen rechtstreeks in OpenShift worden geïmplementeerd, in lijn met de op containers gebaseerde architectuur van Maximo
  • Het genereren van BIRT-rapporten kan worden geïntegreerd in CI/CD-pijplijnen voor geautomatiseerd testen en implementeren

Draagbaarheid en aanpassing

  • Containers draaien op elk besturingssysteem dat Podman of Docker ondersteunt
  • U kunt klantspecifieke afbeeldingen maken met vooraf geladen rapporten en bibliotheken, waardoor de installatietijd wordt verkort en consistentie wordt gegarandeerd

Aansluiten bij de toekomst van Maximo

Nu Maximo Manage zelf nu in containers draait, is het volkomen logisch om de BIRT ontwikkelomgeving in hetzelfde ecosysteem onder te brengen. Door BIRT in een container te plaatsen:

  • Je vermindert het risico
  • Je verbetert de ontwikkelaarservaring
  • Je sluit je aan bij moderne DevOps-praktijken

En misschien wel het belangrijkste: je maakt je ontwikkelingsworkflow toekomstbestendig.

Samenwerking en schaalbaarheid van teams

Een ander groot voordeel van het containeriseren van de BIRT-ontwikkelomgeving is hoe het de samenwerking tussen teams verbetert. Door een gedeelde, versiebeheerste containerimage te gebruiken, kunnen teams ervoor zorgen dat iedereen, van ontwikkelaars tot testers tot DevOps-ingenieurs, in een consistente omgeving werkt. Dit vermindert miscommunicatie, vereenvoudigt het oplossen van problemen en maakt het eenvoudiger om ontwikkelingsinspanningen op te schalen naar meerdere projecten of klanten. Of je nu nieuwe teamleden in dienst neemt of samenwerkt in verschillende tijdzones, containers bieden een betrouwbare en reproduceerbare basis die ervoor zorgt dat iedereen op één lijn blijft.

Voorbeeld uit de echte wereld

Tijdens een recent project kwamen we een onverwacht probleem tegen tijdens het ontwikkelen van rapporten voor IBM Maximo Application Suite (MAS) Manage 9.0 met behulp van de gecontaineriseerde versie van BIRT. In het bijzonder werkte de voorbeeldfunctie van het rapport niet, een probleem dat geen van de andere ontwikkelingsteams eerder had ondervonden.

Na enig onderzoek ontdekten we dat de hoofdoorzaak verband hield met de rapportcontext die was gemaakt door de bibliotheken die bij de BIRT-omgeving in containers waren gevoegd. Hoewel deze bibliotheken technisch correct waren, introduceerden ze een subtiele incompatibiliteit met MAS Manage 9.0.

De oplossing bestond uit het aanpassen van het rapport om handmatig een ontbrekende Maximo-eigenschap aan de rapportcontext toe te voegen. Interessant genoeg was dit probleem niet eerder opgedoken, omdat de meeste rapporten voor MAS 9 waren ontwikkeld volgens de BIRT Development Guides van IBM. Deze handleidingen linken naar bibliotheekbestanden die bedoeld zijn voor BIRT 8.x, die niet hetzelfde probleem vertonen.

Deze ervaring is een waardevolle herinnering: ontwikkelomgevingen kunnen aanzienlijk variëren, en die verschillen kunnen later in de pijplijn tot onverwachte problemen leiden. Het onderstreept het belang van het valideren van tools en bibliotheken in de specifieke context van uw implementatieomgeving, zelfs als u de officiële documentatie volgt.

Verouderde tools zoals BIRT hoeven je niet tegen te houden. Met containerisatie kunt u uw ontwikkelomgeving moderniseren zonder alles vanaf nul te herschrijven. Het is een praktische, schaalbare oplossing die beveiliging, consistentie en flexibiliteit biedt in uw Maximo-rapportageworkflows.

Unlock the Ultimate Guide to IBM Maximo Application Suite (MAS)

Discover everything you need to know to modernize your asset management strategy.

Inside, you’ll learn:

  • What’s new in IBM Maximo Application Suite 9.0
  • Key differences between Maximo 7.6 and MAS
  • How AppPoints and OpenShift change the game
  • Industry use cases across energy, manufacturing, and transportation
  • Step-by-step guidance for upgrading and migration readiness
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