首页 百科知识 分布式对象计算技术

分布式对象计算技术

时间:2022-10-18 百科知识 版权反馈
【摘要】:随着面向对象技术的进一步发展,出现了分布式对象技术。可以这么说,分布式对象技术是随着网络和面向对象技术的发展而不断地完善起来的。20世纪90年代初CORBA 1.0标准的颁布,揭开了分布式对象计算的序幕。分布式对象计算中,通常参与计算的计算体是对称的。目前,国际上分布式对象技术有三大流派——COBRA、COM/DCOM和Java。在地理信息系统领域,分布式对象技术有着广泛的应用。
分布式对象计算技术_网络地理信息系统

1.5.4 分布式对象计算技术

20世纪90年代出现的分布式对象技术为网络计算平台上软件的开发提供了强有力的解决方案。目前,分布式对象技术已经成为建立服务应用框架和软件构件的核心技术,在开发大型分布式应用系统中表现出强大的生命力,逐渐形成了3种具有代表性的主流技术,即Microsoft的COM/DCOM技术、Sun公司的Java技术和OMG的COBRA技术。

分布式对象技术是伴随网络而发展起来的一种面向对象的技术。以前的计算机系统多是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网络出现后,产生了Client/Server的计算服务模式,多个客户端可以共享数据库服务器和打印服务器,等等。随着网络的进一步发展,许多软件需要在不同厂家的网络产品、硬件平台、网络协议异构环境下运行,应用的规模也从局域网发展到广域网。在这种情况下,Client/Server模式的局限性也就暴露出来了,于是中间件应运而生。中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求。但是在这个阶段,客户端是请求服务的,服务器端是提供服务的,它们的关系是不对称的。随着面向对象技术的进一步发展,出现了分布式对象技术。可以这么说,分布式对象技术是随着网络和面向对象技术的发展而不断地完善起来的。20世纪90年代初CORBA 1.0标准的颁布,揭开了分布式对象计算的序幕。

分布式对象计算中,通常参与计算的计算体(分布对象)是对称的。分布式对象往往又被称为组件(component)。组件是一些独立代码的封装体,在分布计算环境下可以是一个简单的对象,但大多数情况下是一组相关的对象复合体,提供一定的服务。分布环境下,组件是一些灵敏的软件模块,它们可以位置透明、语言独立和平台独立地互相发送消息,实现请求服务。

目前,国际上分布式对象技术有三大流派——COBRA、COM/DCOM和Java。CORBA技术是最早出现的,1991年OMG颁布了COBRA 1.0标准,在当时来说做得非常漂亮;再就是Microsoft的COM系列,从最初的COM发展成现在的DCOM,形成了Microsoft一套分布式对象的计算平台;而Sun公司的Java平台,在其最早推出的时候,只提供了远程的方法调用,在当时并不能被称为分布式对象计算,只是属于网络计算里的一种,接着推出的JavaBean,也还不足以和上述两大流派抗衡,而其目前的版本是J2EE,推出了EJB,除了语言外还有组件的标准以及组件之间协同工作通信的框架。于是,也就形成了目前的三大流派。

应该说,这三者之中,COBRA标准是做得最漂亮的。COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布式对象的定义(接口)和语言映射,实现对象间的通信和互操作,是分布式对象系统中的“软总线”;在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。总之,CORBA的特点是大而全,互操作性和开放性非常好。目前CORBA的最新版本是2.3。CORBA 3.0也已基本完成,增加了有关Internet集成和QoS控制等内容。CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。

相比之下,Java标准的制订就快得多,Java是Sun公司自己制定的,演变得很快。Java的优势是纯语言的,跨平台性非常好。Java分布对象技术通常指远程方法调用(RMI)和企业级JavaBean(EJB)。RMI提供了一个Java对象远程调用另一Java对象的方法和能力,与传统RPC类似,只能支持初级的分布对象互操作。Sun公司于是基于RMI,提出了EJB。基于Java服务器端组件模型,EJB框架提供了像远程访问、安全、交易、持久和生命期管理等多种支持分布对象计算的服务。目前,Java技术和CORBA技术有融合的趋势。COM技术是Microsoft独家做的,是在Windows 3.1中最初为支持复合文档而使用OLE技术上发展而来,经历了OLE 2/COM、ActiveX、DCOM和COM+等几个阶段。目前,COM+把消息通信模块MSMQ和解决关键业务的交易模块MTS都加进去了,是分布对象计算的一个比较完整的平台。Microsoft的COM平台效率比较高,同时它有一系列相应的开发工具支持,应用开发相对简单。但它一个致命的弱点是COM的跨平台性较差,如何实现与第三方厂商的互操作性始终是它的一大问题。

在地理信息系统领域,分布式对象技术有着广泛的应用。地理信息系统网络分布式应用的第一代模式叫Client/Server模式(如基于COM的GIS系统),第二代叫3层Client/Server模式(例如基于浏览器/服务器架构的Web GIS),第三代叫分布式对象模式的GIS系统(例如基于J2EE/.net的企业级GIS),目前基本上已经从第二代向第三代过渡。目前国外的一种进展就是将分布对象计算与Web以及嵌入式移动计算结合在一起,另外就是和中间件(如通信中间件等)的结合。例如CORBA新的标准里加入了Internet服务和消息服务,消息服务可以支持异步方法调用,可以提高程序吞吐量,并行能力加强,提高了系统整体性能,并增加了系统灵活性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈