发信人: wangf()
整理人: zjxyz(2001-06-16 10:31:33), 站内信件
|
DCOM/EJB/CORBA实际上是一类分布式计算规范,本质上仍然基于Client/Server结 构,既然基于C/S结构,CORBA是由ORB系统构成一个服务器系统
,EJB由EJB容器(或服务器)组成EJB的服务系统,而DCOM和Windows系统紧密结合 ,通过Windows NT的服务来实现。
由OMG推出的CORBA于20世纪90年代初诞生,Microsoft和Sun都是其成员。Micros oft从1994年开始酝酿COM计划,最初的COM由OLE演变而来,和分
布式计算没有太大的联系,只是一个组件重用的规范。随着INTERNET和计算机网 络的迅速发展,分布式计算在企业应用中逐渐扮演重要角色,MS
于是将COM升级为DCOM,DCOM的Client/Server遵循RPC协议,RPC是ANSI DCE的子 集,但是由于种种原因,DCE并没有很好的普及。
CORBA规范目前已经发展成为2.2版本,最初的版本并没有包含IDL到java的映射, 直到2.1版本才实现。即将推出的3.0版本,考虑了和EJB的互操
作问题。CORBA的客户和服务遵循的是IIOP协议,该协议基于TCP/IP。
EJB是Sun于20实际90年代末推出的Java企业级解决方案和分布式计算的重要组成 部分,EJB的服务和客户则是建立在RMI之上的。
DCOM由COM发展而来,而后为了支持电子商务,增加了事务处理特性,这在Windo ws NT下是通过MTS实现的,随着Windows 2000的发布,这一特性
已经集成到COM+当中,而COM+是Windows 2000 DNA的基础设施。COM+和Widnows 2000操作系统紧密结合,不仅是一个分布式计算系统,还是一个
适合于事务处理的系统,并且集成了许多新的特性,如内存数据库、消息订阅、 异步消息队列等,有兴趣者可参考<<深入理解COM+>>一书。
DCOM和CORBA实际上有较大的类似之处,DCOM继承了CORBA的接口定义语言,但是 DCOM主要使用C++语言编写(Microsoft称可以使用VB/VJ++编写,
但这些工具写出的COM/DCOM,效率低,处理能力有限),而且植根于Windows操作 系统,所以不能成为跨平台的解决方案。
CORBA的本质是基于组件模型的分布式系统,其核心是ORB。CORBA可以使用多种语 言实现,如C/C++/COBOL等,但是直到2.1版,OMG才发布了用J
ava实现CORBA的规范。CORBA的好处在于跨语言和跨平台,得到业界广泛的支持。 作为大陆仅有的OMG成员东南大学,在这方面的研究走在全国
前列,并且实现了国产的ORB系统,它是免费发送的。另外,CORBA国内的电信和 金融领域,已经有成功使用的案例。这证明国内的CORBA研究也
正在进行中。
EJB这个东西是Sun为了推行Java的企业级解决方案而推出的,主要得到Sun极其盟 友阵营的支持,另外,Sun也有意使它成为UNIX系统的分布式
解决方案,但是到目前为止,EJB只能用Java实现,并且运行在JVM当中,而DCOM /CORBA对象均以编译好的二进制代码存在,所以EJB对象在执行
速度上就比不上DCOM/CORBA,但是EJB依托Java这个利器,似乎前景看好。
EJB服务器端的运行需要一个EJB容器,它实现了Sun的EJB规范,每个EJB对象由E JB容器响应客户请求并实例化,在这里EJB容器实际上起到一个
代理作用,EJB对象暴露的接口之一是home,客户通过请求home的create方法,从 而获得一个EJB对象实例。
DCOM/EJB/CORBA都是一脉相承的东西,至少他们处于同一个层面,都封装了逻辑 处理,使得开发这可以集中精力开发他们的商业逻辑,而无需要
担心诸如安全之类的问题,从这个意义上讲,DCOM/EJB/CORBA都是电子商务时代 的基础设施,当然COM+/EJB就更接近于以上的比喻了。
以上为本人的一点看法,谬误之处,请各位指正。
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.117.75]
|
|