当前位置: 技术问答>java相关
不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
来源: 互联网 发布时间:2015-01-05
本文导语: | rmi是种协议,J2EE用rmi over iiop,iiop是corba用的协议,是OMG定义的,是标准,非常健壮,用rmi/iiop就可以使ejb to corba ,或者corba to ejb,iiop并且被很多firewall支持,rmi/iiop,rmi与iiop的关系相当与IP over ATM中,IP与ATM的...
|
rmi是种协议,J2EE用rmi over iiop,iiop是corba用的协议,是OMG定义的,是标准,非常健壮,用rmi/iiop就可以使ejb to corba ,或者corba to ejb,iiop并且被很多firewall支持,rmi/iiop,rmi与iiop的关系相当与IP over ATM中,IP与ATM的关系。ATM是低层的,IP似乎高层的。
|
RMI只是一种技术而已。
EJB是一个框架。EJB可以用到CORBA,RMI等一系列技术。
EJB是一个框架。EJB可以用到CORBA,RMI等一系列技术。
|
EJB就是个远程接口调用,比较单一,属于较低层的技术,TCP/IP之上就是RMI,且RMI在
服务器端的调度和优化不如EJB,事务控制要你自己做,没有状态持续。简单的应用可以
用RMI,比较简单。EJB是服务器端的逻辑事务组件,有事务控制、调度、优化、状态等
高级属性,都由EJB服务器统一控制,不用你编程去管理,属于企业计算范围,属于真正
的服务器组件技术,客户端的调用接口用的是RMI。
服务器端的调度和优化不如EJB,事务控制要你自己做,没有状态持续。简单的应用可以
用RMI,比较简单。EJB是服务器端的逻辑事务组件,有事务控制、调度、优化、状态等
高级属性,都由EJB服务器统一控制,不用你编程去管理,属于企业计算范围,属于真正
的服务器组件技术,客户端的调用接口用的是RMI。
|
RMI 不能提供事务处理,所以 EJB 使用 RMI/IIOP(在 IIOP 之上的 RMI)来解决这个问题。当然,执行的效率比纯 RMI 要差些了。所以 BEA 自己修改了 Sun 的 RMI 实现,推出了 T3 协议。由于 T3 不符合 J2EE 标准,所以 Sun 好像取消了 BEA 的 J2EE 资格。但是 BEA 升级到 RMI/IIOP(JDK1.3 内嵌)就没问题了。
|
EJB是规范可以用rmi实现。
|
ejb有个容器管理,rmi可没有,
ejb的基础是rmi和iiop,
可不能将他们比较
ejb的基础是rmi和iiop,
可不能将他们比较