不同的应用程序服务器实现是否可以共享远程 EJB



在阅读了官方的Java EE文档并使用OpenEJB之后,我想知道不同应用程序服务器Remote EJB进行交叉通信的能力。现在,在我看来,尽管API是标准化的,但进程间通信并没有标准化,例如使用似乎只有OpenEJB支持的ejbd协议。

我特别想知道用于实现基于 EJB 的 RPC 的协议。到目前为止,我相信这种通信主要是通过HTTP完成的。通过查看 WebSphere、JBoss 和 TomEE 的文档,似乎每个应用程序服务器都在煮自己的汤。

因此,我的问题是:不同的应用程序服务器通常是否可以通过远程 EJB 进行通信,这通常是通过什么协议实现的。为什么像TomEE这样的应用程序服务器首先会提供派生解决方案?

是的,这是可能的。EJB-Spec 需要 CORBA/IIOP 的支持。来自 EJB 3.1 规范(第 2.5 章):

帮助包含系统的 EJB 环境的互操作性 来自多个供应商,EJB 规范要求符合 支持基于 CORBA/IIOP,用于从 Java EE 客户端进行远程调用。 实现可能支持 IIOP的补充。

最新更新