同一个Web应用程序中的Web容器和EJB容器可以在不同的Java EE服务器中吗?
比如,Web容器是Tomcat,而EJB容器是JBoss?
如果Web服务器和应用服务器位于不同的机器上,这是否可行?
同一个Web应用程序中的Web容器和EJB容器可以在不同的Java EE服务器中吗?
比如,Web容器是Tomcat,而EJB容器是JBoss?
如果Web服务器和应用服务器位于不同的机器上,这是否可行?
是的,所有这些都是可能的,这种设置在企业环境中并不罕见。毕竟,EJB被设计为业务服务,可供多个客户端使用,不一定是Web应用程序。
可以。
EJB最初是基于CORBA的分布式架构,后来(在EJB 2.0中)引入了本地接口以避免昂贵的分布式通信成本,但仍然可以为您的EJB提供远程接口以启用从远程Java VM访问。
EJB使用RMI/IDL CORBA子集作为其分布式对象模型,并使用Java事务服务(JTS)作为其分布式事务模型。当使用RMI-IIOP协议实现企业JavaBean以在异构服务器环境中进行EJB互操作性时,EJB架构的标准映射使以下互操作性成为可能:
使用一个供应商提供的ORB的客户端可以访问由另一个供应商提供的EJB服务器上驻留的企业Bean。
一个EJB服务器中的企业Bean可以访问另一个EJB服务器中的企业Bean。
非Java平台CORBA客户端可以访问任何企业Bean对象。