5.2 分布式应用开发技术概述
目前分布对象技术已经成为建立应用框架(Application Framework)和软构件(Software Component)的核心技术,在开发大型分布式应用系统中表现出强大的生命力,并形成了三项具有代表性的主流技术,即OMG的CORBA(Common Object Request Broker Architecture)、Microsoft的ActiveX/DCOM (Distributed Compound Object Model)和SUN公司的Java/RMI。
5.2.1 CORBA、DCOM、RMI
1.CORBA
----OMG是一个非盈利性国际组织,致力于使CORBA成为"无所不在的中间件"。1989年成立时仅有8家公司参与,而今天已经是拥有900多个机构成员的"议会式"标准化组织,世界上几乎所有最有影响的计算机公司(如IBM、Microsoft和HP等)、著名的工商企业(如Boeing、Citibank和FordMotor等)和大学研究机构都是这个组织的成员。OMG所制定的分布对象计算标准规范包括CORBA/IIOP 、对象服务、公共实施和领域接口规范。遵照这些规范开发出的分布计算软件环境可以在几乎所有的主流硬件平台和操作系统上运行。现在,CORBA/IIOP已成为Internet上实现对象互访的技术标准,OMG的IIOP也已成为许多公司(如Oracle、Netscape、Sun和IBM等)进行系统集成的基本协议。1995年以来,基于CORBA软件的企业级应用发展迅猛,大有覆盖DCE之势。目前世界上有一定影响的CORBA软件制造商已有10多家。
2.DCOM
ActiveX/DCOM是由Microsoft推出的对象构件模型,最初用于集成Microsoft的办公软件,目前已发展成为Microsoft世界的应用系统集成标准,并集中反映在其产品ActiveX中。在分布计算技术上,OMG的优势比Microsoft至少领先2~3年。目前,只有OMG的技术能够支持异构环境中大型分布式应用的开发,而Microsoft的DCOM技术尚不能胜任。Microsoft的优势主要表现在应用和市场能力上。从未来市场策略考虑,Microsoft决定支持OMG提出的OLE/COM与CORBA的互操作标准,从而使COM的对象能够与CORBA的对象进行通信。今后3~5年内,OMG和Microsoft的分布对象技术将共存,并在许多方面相互渗透。
3.RMI
--- -按照Sun和Javasoft对Java的界定,Java是一个应用程序开发平台,它提供了可移植、可解释、高性能和面向对象的编程语言及运行环境。RMI(RemoteMethodInvocation)是分布在网络中的各类Java对象之间进行方法调用的ORB机制。CORBA技术与Java技术存在天然的联系,因为Sun是OMG的创始成员,CORBA标准中的许多内容(例如IDL标准、IIOP标准)是以SUN公司提交的方案为核心制定的。CORBA与Java/RMI的主要区别在于以下两个方面:
· 程序设计语言无关性是CORBA的重要设计原则,而Java/RMI依赖于Java语言和Java虚拟机;
· Java/RMI技术的最大成就是使对象能够在Internet上迁移和执行,而CORBA2.0标准中只考虑对象的远程访问,没有对象作为"值"传递的承诺。
----由于这两个技术的天然联系和各自的优势,CORBA技术与Java技术的融合已成为必然。
5.2.2 发展趋势
----与Internet技术结合是分布对象技术值得重视的发展趋势。Internet技术的发展,特别是90年代中期WWW技术的广泛应用,给分布对象技术的应用开辟了更广阔的空间,Object Web成为人们关注的新热点。从技术的角度看,WWW应用已经经历了Hypertext Web和Interactive Web两种形态,但都存在很大的局限性,突出地表现为应用接入能力受到限制。Java的出现为在浏览器上运行程序提供了新的途径,标志着ObjectWeb时代的开始。就以网络为中心的分布式应用的发展而言,这种把对象下载到浏览器中执行的机制也有局限。主要表现在大量的遗留应用不是用Java写的,自然无法下载到浏览器中运行;同时,某些重要的应用,包括信息共享与管理类的应用(如数据库系统)以及信息采集与信号监测应用(如实施网络管理的Agent)在逻辑上不能下载到客户端运行;另外,需要"减肥"的客户机可能难以承受越来越庞大的应用系统。尽管Java的RMI解决了访问异地Java对象的问题,但如何管理和访问异地其他大量非Java对象的问题并没有解决。另外,JavaRMI没有提供分布对象事务管理等服务。1996年下半年,Java与CORBA开始携手,共同奠定ObjectWeb时代的技术基础。
----何谓ObjectWeb?对此目前并没有公认的定义,但可以从应用和技术两个角度给出一定意义上的解释。
----1.应用内涵
----ObjectWeb是继HypertextWeb和InteractiveWeb之后新的Web应用,包括"保守的"和"理想的"两类应用形态。
· 保守的应用形态
用户能够按照对象设计者的思路自由、便捷地在Internet上操纵感兴趣的对象;
· 理想的应用形态
用户能够按照自己的需要自由、便捷地在Internet上操纵感兴趣的对象。
----与HypertextWeb和InteractiveWeb比较,Objec tWeb应用给用户的突出感受是操纵的实体不再局限于含有"超链"的文档,作用于实体的操作行为不再局限于"下载"一类的文件传输行为。下面给出两个应用(虽然目前还没有成熟的应用,但实现该应用的技术途径已经成熟)的简单陈述,以帮助对bjectWeb的理解。
--- -(1)开放的Internet/Intranet管理
---- 典型的分布式系统管理采用Agent/Manager体系结构,Agent运行在被管理的设备(如服务器、路由器和智能交换机等)上,Manager通过与Agent的交互实施分布式系统管理。但问题是Manager不能管理采用新标准的新设备,这对于Internet管理是不合适的。开放的Internet/Intranet管理有两方面的含义:第一是指Agent能够在Internet上公布其管理功能的接口,并接受任何合法的Manager按照标准的远程
目前分布对象技术已经成为建立应用框架(Application Framework)和软构件(Software Component)的核心技术,在开发大型分布式应用系统中表现出强大的生命力,并形成了三项具有代表性的主流技术,即OMG的CORBA(Common Object Request Broker Architecture)、Microsoft的ActiveX/DCOM (Distributed Compound Object Model)和SUN公司的Java/RMI。
5.2.1 CORBA、DCOM、RMI
1.CORBA
----OMG是一个非盈利性国际组织,致力于使CORBA成为"无所不在的中间件"。1989年成立时仅有8家公司参与,而今天已经是拥有900多个机构成员的"议会式"标准化组织,世界上几乎所有最有影响的计算机公司(如IBM、Microsoft和HP等)、著名的工商企业(如Boeing、Citibank和FordMotor等)和大学研究机构都是这个组织的成员。OMG所制定的分布对象计算标准规范包括CORBA/IIOP 、对象服务、公共实施和领域接口规范。遵照这些规范开发出的分布计算软件环境可以在几乎所有的主流硬件平台和操作系统上运行。现在,CORBA/IIOP已成为Internet上实现对象互访的技术标准,OMG的IIOP也已成为许多公司(如Oracle、Netscape、Sun和IBM等)进行系统集成的基本协议。1995年以来,基于CORBA软件的企业级应用发展迅猛,大有覆盖DCE之势。目前世界上有一定影响的CORBA软件制造商已有10多家。
2.DCOM
ActiveX/DCOM是由Microsoft推出的对象构件模型,最初用于集成Microsoft的办公软件,目前已发展成为Microsoft世界的应用系统集成标准,并集中反映在其产品ActiveX中。在分布计算技术上,OMG的优势比Microsoft至少领先2~3年。目前,只有OMG的技术能够支持异构环境中大型分布式应用的开发,而Microsoft的DCOM技术尚不能胜任。Microsoft的优势主要表现在应用和市场能力上。从未来市场策略考虑,Microsoft决定支持OMG提出的OLE/COM与CORBA的互操作标准,从而使COM的对象能够与CORBA的对象进行通信。今后3~5年内,OMG和Microsoft的分布对象技术将共存,并在许多方面相互渗透。
3.RMI
--- -按照Sun和Javasoft对Java的界定,Java是一个应用程序开发平台,它提供了可移植、可解释、高性能和面向对象的编程语言及运行环境。RMI(RemoteMethodInvocation)是分布在网络中的各类Java对象之间进行方法调用的ORB机制。CORBA技术与Java技术存在天然的联系,因为Sun是OMG的创始成员,CORBA标准中的许多内容(例如IDL标准、IIOP标准)是以SUN公司提交的方案为核心制定的。CORBA与Java/RMI的主要区别在于以下两个方面:
· 程序设计语言无关性是CORBA的重要设计原则,而Java/RMI依赖于Java语言和Java虚拟机;
· Java/RMI技术的最大成就是使对象能够在Internet上迁移和执行,而CORBA2.0标准中只考虑对象的远程访问,没有对象作为"值"传递的承诺。
----由于这两个技术的天然联系和各自的优势,CORBA技术与Java技术的融合已成为必然。
5.2.2 发展趋势
----与Internet技术结合是分布对象技术值得重视的发展趋势。Internet技术的发展,特别是90年代中期WWW技术的广泛应用,给分布对象技术的应用开辟了更广阔的空间,Object Web成为人们关注的新热点。从技术的角度看,WWW应用已经经历了Hypertext Web和Interactive Web两种形态,但都存在很大的局限性,突出地表现为应用接入能力受到限制。Java的出现为在浏览器上运行程序提供了新的途径,标志着ObjectWeb时代的开始。就以网络为中心的分布式应用的发展而言,这种把对象下载到浏览器中执行的机制也有局限。主要表现在大量的遗留应用不是用Java写的,自然无法下载到浏览器中运行;同时,某些重要的应用,包括信息共享与管理类的应用(如数据库系统)以及信息采集与信号监测应用(如实施网络管理的Agent)在逻辑上不能下载到客户端运行;另外,需要"减肥"的客户机可能难以承受越来越庞大的应用系统。尽管Java的RMI解决了访问异地Java对象的问题,但如何管理和访问异地其他大量非Java对象的问题并没有解决。另外,JavaRMI没有提供分布对象事务管理等服务。1996年下半年,Java与CORBA开始携手,共同奠定ObjectWeb时代的技术基础。
----何谓ObjectWeb?对此目前并没有公认的定义,但可以从应用和技术两个角度给出一定意义上的解释。
----1.应用内涵
----ObjectWeb是继HypertextWeb和InteractiveWeb之后新的Web应用,包括"保守的"和"理想的"两类应用形态。
· 保守的应用形态
用户能够按照对象设计者的思路自由、便捷地在Internet上操纵感兴趣的对象;
· 理想的应用形态
用户能够按照自己的需要自由、便捷地在Internet上操纵感兴趣的对象。
----与HypertextWeb和InteractiveWeb比较,Objec tWeb应用给用户的突出感受是操纵的实体不再局限于含有"超链"的文档,作用于实体的操作行为不再局限于"下载"一类的文件传输行为。下面给出两个应用(虽然目前还没有成熟的应用,但实现该应用的技术途径已经成熟)的简单陈述,以帮助对bjectWeb的理解。
--- -(1)开放的Internet/Intranet管理
---- 典型的分布式系统管理采用Agent/Manager体系结构,Agent运行在被管理的设备(如服务器、路由器和智能交换机等)上,Manager通过与Agent的交互实施分布式系统管理。但问题是Manager不能管理采用新标准的新设备,这对于Internet管理是不合适的。开放的Internet/Intranet管理有两方面的含义:第一是指Agent能够在Internet上公布其管理功能的接口,并接受任何合法的Manager按照标准的远程
| 对此文章发表了评论 |
