Maximo 管理器 演变为容器原生平台,其许多支持工具和开发工作流程仍与传统技术息息相关。BIRT(商业智能和报告工具)就是这样一种工具,它仍然是Maximo报告功能的核心部分,但它带来了一些沉重的负担。

在这篇文章中,我将探讨在现代环境中使用BIRT所面临的挑战,以及容器化BIRT开发环境如何解决的不仅仅是一个挑战,而是许多挑战。

问题:传统依赖关系和安全风险

Maximo Manage 8.x 和 9.x(以及之前的 7.6.x)依赖于不同版本的 Birt,其中一些版本已有七年以上的历史了。例如,Maximo Manage 8.x 到 9.0 要求的 BIRT 4.8 依赖于 Java 1.8,甲骨文于 2019 年 1 月停止支持 Java 1.8。

这会带来几个问题:

  • 安全漏洞: Java 1.8 不再接收安全补丁,使其成为潜在的攻击载体
  • 合规问题:运行不受支持的软件可能会违反公司安全策略
  • 环境冲突: Java 1.8 可能会干扰同一台计算机上的现代 Java 应用程序

解决方案:容器化

为了解决这些问题,我使用无根容器引擎 Podman 对 BIRT 开发环境进行了容器化。这种方法带来了许多好处:

安全与隔离

  • Java 1.8 只能在容器内运行,从不接触主机系统
  • Podman 的无根模式和命名空间隔离降低了权限升级或系统受损的风险

环境一致性

  • 每个开发人员都使用相同的容器镜像,从而消除了 “在我的机器上运行” 的问题
  • 所有必需的库、字体、JDBC 驱动程序和配置均已预先绑定

开发人员生产力

  • 零设置时间:开发人员可以通过拉动并运行容器来立即开始工作
  • 并行开发:并行运行多个版本的 Java 或 BIRT,不会发生冲突
  • 更快的入门速度:新团队成员无需花费数小时配置环境

云和 CI/CD 集成

  • 容器可以直接部署到 OpenShift 中,与 Maximo 基于容器的架构保持一致
  • BIRT 报告的生成可以集成到 CI/CD 管道中,以实现自动测试和部署

便携性和定制

  • 容器可以在任何支持 Podman 或 Docker 的操作系统上运行
  • 您可以使用预加载的报告和库创建特定于客户的图像,从而缩短设置时间并确保一致性

与 Maximo 的未来保持一致

由于 Maximo Manage 本身现在在容器中运行,因此将 BIRT 开发环境引入同一个生态系统是完全合理的。通过容器化 BIRT:

  • 你可以降低风险
  • 你改善了开发者体验
  • 你符合现代 DevOps 实践

也许最重要的是,你的开发工作流程可以适应未来的发展。

协作和团队可扩展性

容器化 BIRT 开发环境的另一个主要优势是它可以增强团队之间的协作。通过使用共享的、受版本控制的容器镜像,团队可以确保所有人(从开发人员到测试人员再到 DevOps 工程师)都在稳定的环境中工作。这减少了沟通不畅,简化了故障排除,并使跨多个项目或客户扩展开发工作变得更加容易。无论您是要招募新团队成员还是跨时区协作,容器都提供了可靠且可重复的基础,使每个人保持一致。

现实世界的例子

在最近的一个项目中,我们在使用容器化版本的 BIRT 为 IBM Maximo 应用程序套件 (MAS) Manage 9.0 开发报告时遇到了一个意想不到的问题。具体而言,报告预览功能无法正常工作——这是其他开发团队以前从未遇到过的问题。

经过一番调查,我们发现根本原因与容器化 BIRT 环境捆绑在一起的库创建的报告上下文有关。尽管这些库在技术上是正确的,但它们引入了与 MAS Manage 9.0 细微的不兼容性。

解决方案涉及修改报告,手动将缺失的 Maximo 属性添加到报表上下文中。有趣的是,这个问题以前从未浮出水面,因为MAS 9的大多数报告都是根据IBM的BIRT开发指南编写的。这些指南链接到用于 BIRT 8.x 的库文件,这些文件没有同样的问题。

这种经历是一个宝贵的提醒:开发环境可能会有很大差异,这些差异可能会导致以后出现意想不到的问题。它强调了在部署环境的特定环境中验证工具和库的重要性,即使遵循官方文档也是如此。

像 BIRT 这样的传统工具不必阻碍你。通过容器化,您可以对开发环境进行现代化改造,而无需从头开始重写所有内容。这是一种实用、可扩展的解决方案,可为您的 Maximo 报告工作流程带来安全性、一致性和灵活性。

MORE Community Logo
Live from the MORE community

Your Maximo questions probably already have answers

See what Maximo users are asking, answering, and solving right now.

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