我正在和一位同事争论 ESB。我提到 Glassfish 是一个 ESB,因为它通过 JMS 管理数据库事务、提供 SOAP 消息和消息传递系统。他不同意并说 Oracle Enterprise Service Bus 是 ESB,而 Glassfish 不是。我问他 ESB 的特点是什么,他无法回答。
Glassfish 缺少什么会阻止它成为 ESB?
Glassfish 有一堆 ESB 的组件,但它在编排组件中特别缺乏。编排正在管理各种服务之间的“连接”。GF 具有管理端点的所有能力,但不具备从端点到端点的消息路由和转换。
也就是说,它曾经捆绑了一个 ESB。它曾经在 GF 2.x 中随 OpenESB 一起发布,但已从 GF 3.x 中删除。
Glassfish 是一个应用服务器。您当然可以在其上运行 ESB,但是通常认为 ESB 缺少一些开箱即用的功能。您在这里将苹果与橙子进行比较——应用服务器提供支持 Web 应用程序的结构,而 ESB 的主要目标是帮助将信息分发到可能的多个应用程序或从多个应用程序分发信息。