使用带有新用户界面的 IBM Maximo
我们正在将 IBM Maximo 用于我们的一个项目。
现在我们决定改进用户界面(目前它使用 Maximo 系统提供的标准 UI 组件),但我们希望继续前进并使用 Maximo 引擎作为其背后的业务层来创建我们自己的网页(界面)。
有人有使用 Maximo 作为业务层,然后使用其他内容(例如 ASP.Net 页面或...)作为表示层的经验吗?
We are using IBM Maximo for one of our projects.
Now we decided to improve the user interface (currently it's using the standard UI components provided by the Maximo system), but we want to move forward and create our own web pages (interface) using the Maximo engine as the business layer behind it .
Does anybody have experience using Maximo as the business layer and then other stuffs (like ASP.Net pages or ...) as the presentation layer ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
主要有两个选项可供您使用:
通过 RMI 访问 Maximo 业务层 (MBO)
将您感兴趣的功能公开为 Maximo 中的 Web 服务
RMI 路线为您提供了最大的灵活性,因为您可以访问(几乎)Maximo UI 有权访问的所有功能。您可以打开 MboSets,在其中操作 Mbos,更改 Mbos 中的属性值,将更改保存在一个事务中,等等。这里需要考虑一些注意事项: a) RMI 接口非常繁琐,您需要确保您的自定义 UI 与 Maximo 位于同一网络上,b) 如果在 Maximo 中启用了应用程序安全性,您将必须跳过障碍才能连接到 Maximo,c) 如果 Maximo 位于集群上,您可能无法实现负载平衡(因为您可能有连接到特定的应用程序服务器),d)您将需要在自定义 UI 中使用 RMI 存根,因此您需要使 Businessobjects.jar 与 Maximo 保持同步(如果它发生更改)。
Web 服务 路由可让您克服大部分 RMI 限制(如果做得正确,它将比 RMI 更省事,应用程序安全性不是问题,自动受益于集群平衡负载和从故障中恢复的能力,没有需要保持 RMI 存根同步,不需要打开额外的 FTP 端口),但它需要更多的前期工作,因为您不能像使用 RMI 那样简单地在服务器上打开 MboSet 并将其传递给客户端。
我发现采用 Web 服务方式比 RMI 提供更多好处,但您的情况可能有所不同。我构建的 Maximo 连接应用程序之一是按照 MVC(模型-视图-控制器)设计准则设计的 Web 应用程序,其中 Maximo 充当模型,并公开带有一系列方法的标准 Web 服务,每个事务类型一个方法。视图是隐藏的 JSP 页面,利用 JSTL 和 servlet 作为控制器在模型 (Maximo) 和 JSP(视图)之间传递数据。
我还基于 Apache HTTP 客户端 (Apache HTTP 客户端) 实现了自己的 Web 服务客户端。
There are mainly two options available to you:
Access Maximo business layer (MBOs) via RMI
Expose functionality that you are interested in as a web service in Maximo
The RMI route gives you the most flexibility as you get access to (almost) all functionality that Maximo UI has access to. You can open MboSets, manipulate Mbos in them, change attribute values in the Mbos, save you changes in one transaction, etc. There are a few notes to consider here: a) RMI interface is very chatty, you need to make sure that your custom UI is on the same network with Maximo, b) if application security is enabled in Maximo you will have to jump through hoops to connect to Maximo, c) if Maximo is on a cluster you may not achieve load balancing (as you may have to connect to specific application servers), d) you will need RMI stubs in your custom UI and therefore you will need to keep businessobjects.jar in sync with Maximo's if it changes.
Web services route lets you overcome most of RMI limitations (if done right it will be less chatty than RMI, application security is not an issue, automatic benefit from cluster's ability to balance load and recover from failures, no need to maintain RMI stubs in sync, no need to open additional FTP ports) but it requires more upfront work as you cannot simply open an MboSet on the server and pass it to the client as you could with RMI.
I found going web services way offers more benefits then RMI, but your case maybe different. One of the Maximo connected applications that I built is a web application designed along the MVC (model-view-controller) design guidelines where Maximo acts as a model and exposes a Standard Web Service with a bunch of methods, one per transaction type. Views are hidden JSP pages utilizing JSTL and servlets acting as Controllers passing data between Model (Maximo) and JSPs (Views).
I also implemented my own web service client based on Apache HTTP Client (Apache HTTP Client).
借助 Maximo 7.5,您可以使用 REST 界面与 Maximo 进行交互。
信息中心上的 REST API
开发人员作品文章
With Maximo 7.5 you can use a REST interface to interact with Maximo.
REST API on Info Center
Developer Works Article
您可以设置 Maximo 的外部接口并在其上构建 Web 应用程序。除非您只想构建一个专注于单个区域的小型 Web 应用程序,否则这看起来需要大量工作。
You could set up the Maximo's external interfaces and have your web application built on top. It looks like a lot of work unless you want to build only a small web app that focuses on a single area.
除了 ilcavero 的建议之外,在我们的组织中,我们还创建了一些专注于特定功能的较小的独立应用程序。它们是在 .NET 中构建的并使用 Maximo Web 服务。
通常我们已经构建了“查询”类型的 Web 服务来填充下拉列表和表单验证,然后我们有“通知”服务来更新系统。
您可能还可以使用一些 .NET 到 Java 的桥接器并进行 RMI 调用,这可能会使访问更多本机 Maximo 功能变得更加容易。
Adding to what ilcavero suggested, in our organization we have created a few smaller, standalone apps focused on specific functionality. These are built in .NET and consume Maximo web services.
Typically we have built 'query' type web services for populating drop down lists and form validation, then we have 'Notify' services to update the system.
You could probably also use some .NET to Java bridge and make RMI calls which may make it easier to access more of the native Maximo functionality.