Conteneurisation de l'environnement de développement BIRT pour Maximo Manage

Chris Brown

July 14, 2025

Comme Maximo Manage évolue vers une plateforme native de conteneurs, dont bon nombre de ses outils de support et de ses flux de développement sont toujours liés à des technologies existantes. L'un de ces outils est le BIRT (Business Intelligence and Reporting Tools), qui reste au cœur des capacités de reporting de Maximo, mais il comporte de sérieux bagages.

Dans cet article, je vais passer en revue les défis liés à la collaboration avec BIRT dans des environnements modernes et la manière dont la conteneurisation de l'environnement de développement BIRT permet de résoudre non pas un mais plusieurs de ces défis.

Le problème : dépendances héritées et risques de sécurité

Maximo Manage 8.x et 9.x (et précédemment 7.6.x) s'appuient sur différentes versions de BIRT, dont certaines datent de plus de sept ans. Par exemple, BIRT 4.8, requis par Maximo Manage 8.x à 9.0, dépend de Java 1.8, qu'Oracle a cessé de prendre en charge en janvier 2019.

Cela pose plusieurs problèmes :

  • Failles de sécurité: Java 1.8 ne reçoit plus de correctifs de sécurité, ce qui en fait un vecteur d'attaque potentiel
  • Problèmes de conformité: L'exécution de logiciels non pris en charge peut enfreindre les politiques de sécurité de l'entreprise
  • Conflits environnementaux: Java 1.8 peut interférer avec les applications Java modernes sur la même machine

La solution : la conteneurisation

Pour résoudre ces problèmes, j'ai conteneurisé l'environnement de développement BIRT à l'aide de Podman, un moteur de conteneur sans racine. Cette approche apporte de nombreux avantages :

Sécurité et isolation

  • Java 1.8 s'exécute uniquement à l'intérieur du conteneur, sans jamais toucher le système hôte
  • Le mode rootless et l'isolation de l'espace de noms de Podman réduisent le risque d'augmentation des privilèges ou de compromission du système

Cohérence environnementale

  • Chaque développeur utilise la même image de conteneur, ce qui élimine les problèmes « fonctionne sur ma machine »
  • Toutes les bibliothèques, polices, pilotes JDBC et configurations requis sont pré-groupés

Productivité des développeurs

  • Temps de configuration nul : les développeurs peuvent commencer à travailler immédiatement en tirant et en faisant fonctionner le conteneur
  • Développement parallèle : exécutez plusieurs versions de Java ou BIRT côte à côte sans conflit
  • Intégration plus rapide : les nouveaux membres de l'équipe n'ont pas besoin de passer des heures à configurer leur environnement

Intégration au cloud et au CI/CD

  • Les conteneurs peuvent être déployés directement dans OpenShift, conformément à l'architecture basée sur les conteneurs de Maximo
  • La génération de rapports BIRT peut être intégrée aux pipelines CI/CD pour des tests et un déploiement automatisés

Portabilité et personnalisation

  • Les conteneurs s'exécutent sur n'importe quel système d'exploitation prenant en charge Podman ou Docker
  • Vous pouvez créer des images spécifiques au client à l'aide de rapports et de bibliothèques préchargés, ce qui réduit le temps de configuration et garantit la cohérence

S'aligner sur l'avenir de Maximo

Maximo Manage fonctionnant désormais dans des conteneurs, il est parfaitement logique d'intégrer l'environnement de développement BIRT dans le même écosystème. En conteneurisant BIRT :

  • Vous réduisez les risques
  • Vous améliorez l'expérience des développeurs
  • Vous vous alignez sur les pratiques DevOps modernes

Et surtout, vous assurez la pérennité de votre flux de développement.

Collaboration et évolutivité des équipes

Un autre avantage majeur de la conteneurisation de l'environnement de développement BIRT est la manière dont elle améliore la collaboration entre les équipes. En utilisant une image de conteneur partagée et contrôlée par version, les équipes peuvent s'assurer que tout le monde, des développeurs aux testeurs en passant par les ingénieurs DevOps, travaille dans un environnement cohérent. Cela réduit les problèmes de communication, simplifie le dépannage et facilite l'extension des efforts de développement à plusieurs projets ou clients. Qu'il s'agisse d'intégrer de nouveaux membres d'équipe ou de collaborer entre différents fuseaux horaires, les conteneurs constituent une base fiable et reproductible qui permet à tout le monde de rester en ligne.

Exemple du monde réel

Au cours d'un projet récent, nous avons rencontré un problème inattendu lors du développement de rapports pour IBM Maximo Application Suite (MAS) Manage 9.0 à l'aide de la version conteneurisée de BIRT. Plus précisément, la fonctionnalité de prévisualisation des rapports n'a pas fonctionné, un problème qu'aucune autre équipe de développement n'avait rencontré auparavant.

Après quelques recherches, nous avons découvert que la cause première était liée au contexte du rapport créé par les bibliothèques intégrées à l'environnement BIRT conteneurisé. Bien que ces bibliothèques soient techniquement correctes, elles ont introduit une subtile incompatibilité avec MAS Manage 9.0.

La solution consistait à modifier le rapport pour ajouter manuellement une propriété Maximo manquante au contexte du rapport. Il est intéressant de noter que ce problème n'était pas apparu auparavant car la plupart des rapports pour MAS 9 avaient été développés conformément aux guides de développement BIRT d'IBM. Ces guides renvoient à des fichiers de bibliothèque destinés à BIRT 8.x, qui ne présentent pas le même problème.

Cette expérience constitue un précieux rappel : les environnements de développement peuvent varier considérablement, et ces différences peuvent entraîner des problèmes inattendus plus tard dans le processus. Cela souligne l'importance de valider les outils et les bibliothèques dans le contexte spécifique de votre environnement de déploiement, même en suivant la documentation officielle.

Les outils traditionnels tels que BIRT ne doivent pas vous empêcher de progresser. Grâce à la conteneurisation, vous pouvez moderniser votre environnement de développement sans tout réécrire à zéro. Il s'agit d'une solution pratique et évolutive qui apporte sécurité, cohérence et flexibilité à vos flux de production de rapports Maximo.

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