首页 理论教育分布式数据库技术:分布计算环境和中间件技术

分布式数据库技术:分布计算环境和中间件技术

【摘要】:在网格计算中,DCE指的是一种工业技术标准,用于建立和管理分布式计算机系统中的计算和数据交换。在第一代分布计算技术的推动下,90年代初出现了从集中计算模式向分布式客户/服务器计算模式转移的热潮。与第一代的分布计算技术相比,分布对象技术的实质性进步使面向对象技术能够在异构的网格计算环境中得以全面、彻底和方便实施,从而有效地控制系统的开发、管理和维护的复杂性。

分布计算环境(distributed computing environment,DCE)是随着网络的发展而发展起来的。在网格计算中,DCE指的是一种工业技术标准,用于建立和管理分布式计算机系统中的计算和数据交换。

最初,标准DCE使用的是Client/Server模型。使用DCE,用户可以在远端服务器上实施应用。应用程序员不需要知道他们的程序在哪里运行以及使用的数据究竟放在哪里。DCE也提供安全支持,提供对访问诸如IBM CICS、IMS和DB2等公共数据库的支持。

分布计算是几十年来影响计算技术发展的最活跃因素之一,它的发展经历了两种不同的技术路线

第一种是所谓理想的技术路线,试图在互联的计算机硬件上部署全新的分布式操作系统,全面管理系统中各自独立的计算机,并呈现给用户单一的系统视图。20世纪80年代,学术界普遍追求这一目标,尽管出现过许多技术成果和实验系统,但仍没有被用户和市场广泛接受。

第二种是现实的技术路线,即在网格计算平台上部署分布式计算环境(也称中间件)、提供开发工具和公共服务、支持分布式应用、实现资源共享和协同工作。20世纪90年代,工业界普遍遵循这一技术路线,出现了一系列行之有效的技术和广为用户接受的产品。

20世纪80年代中后期,以支持信息共享的应用需求为核心,形成了面向过程的第一代分布计算技术。在第一代分布计算技术的推动下,90年代初出现了从集中计算模式向分布式客户/服务器计算模式转移的热潮。在分布式客户/服务器计算机系统的建立及其应用系统的开发过程中,人们逐渐体会到分布式系统比想象的要复杂得多。例如,存在着异构环境下的应用互操作问题、系统管理问题、系统安全问题等,这些问题在集中计算模式下是不曾出现的或不突出的。传统的面向过程的技术在开发大型软件系统时已经暴露出很大的局限性,再要求它们应付复杂的分布式应用系统则更加力不从心。

20世纪90年代初,以面向对象技术为主要特征的第二代分布计算技术逐步突显出来,经过几年的蓬勃发展,进入了成熟阶段。人们将这一代技术称为分布式对象技术。(www.chuimin.cn)

常规的OOA(object-oriented analysis)和OOD(object-oriented design)方法可以直接应用于分布式系统的分析与设计,然而,传统的OOP(object-oriented programming)环境在直接用于分布式应用系统的程序设计时却遇到了问题。传统的对象与访问该对象的程序只能存在于同一进程中,且只有相关程序设计语言的编译器才能创建这些对象并感知这些对象的存在,而外部进程无法了解和访问这些对象。这样,在常规的分布式客户/服务器应用中,客户进程不可能直接访问异地服务进程中的常规对象。为了解决这个问题,人们提出了分布式对象的概念。

分布式对象可以存在于网络的任何地方,远程客户应用可以采用方法调用的形式访问它。至于分布式对象是使用何种程序设计语言/编译器所创建,对客户对象而言是透明的。客户应用不必知道它所访问的分布式对象在网络中的具体位置以及它们运行在何种操作系统上,该分布式对象与客户应用可能在同一台计算机上,也可能分布在由广域网相连的不同计算机上。分布式对象具有动态性,可以在网络上到处移动。

独立于特定的程序设计语言和应用系统的、可重用的以及自包含的软件成分称为软构件(software component)。分布式对象是一种典型的软构件。基于分布式对象技术的分布式应用开发就是分布对象的开发和组装。

分布式对象技术采用面向对象的多层客户/服务器计算模型,该模型把分布在网络上的全部资源(无论是系统层还是应用层)都按照对象的概念来组织,每个对象都有定义明晰的访问接口。创建和维护分布式对象实体的应用称为服务器,按照接口访问该对象的应用称为客户。服务器中的分布式对象不仅能够被访问,而且自身也可能作为其他对象的客户。因此在分布式对象技术中,客户与服务器的角色划分是相对的或多层次的。

与第一代的分布计算技术相比,分布对象技术的实质性进步使面向对象技术能够在异构的网格计算环境中得以全面、彻底和方便实施,从而有效地控制系统的开发、管理和维护的复杂性。当然,分布式应用系统比台式应用系统要复杂得多,这种客观存在的复杂性无法(至少很难)通过技术手段来降低。

目前,分布式对象技术已经成为建立应用框架(application framework)和软构件的核心技术,在开发大型分布式应用系统中表现出了强大的生命力,并形成了具有代表性的主流技术,即OMG的CORBA[1]、Microsoft公司的ActiveX DCOM(distributed compound object model,分布式复合对象模型)、Sun公司的Java/RMI和Web Service(SOA)等。