温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
第3章(1).pdf
第3章软件构件与中间件尽管当前社会的信息化过程对软件需求的增长非常迅速,但目前软件的开发与生产 能力却相对不足,这不仅造成许多急需的软件迟迟不能被开发出来,而且形成了软件脱 节现象。自20世纪60年代人们认识到软件危机,并提出软件工程以来,己经对软件开 发问题进行了不懈的研究。近年来人们认识到,要提高软件开发效率,提高软件产品质 量,必须采用工程化的开发方法与工业化的生产技术。这包括技术与管理两方面的问 题:在技术上,应该采用基于重用(英文单词为“reuse”,有些文献翻译为“复用”)的软件生产技术;在管理上,应该采用多维的工程管理模式。要真正解决软件危机,实现软件的工业化生产是唯一可行的途径。分析传统工业及 计算机硬件产业成功的模式可以发现,这些工业的发展模式均是符合标准的零部件/构 件(英文单词为“component”,有些文献翻译为“组件”或“部件”)生产,以及基 于标准构件的产品生产,其中,构件是核心和基础,重用是必需的手段。实践表明,这 种模式是产业工程化、工业化的成功之路,也将是软件产业发展的必经之路。软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素 的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至 领 域(domain)知识。通常,把这种可重用的元素称为软构件(software component,通常简称为构件),可重用的软件元素越大,我们就说重用的粒度(granularity)越大。使用软件重用技术可以减少软件开发活动中大量的重复性工作,这样就能提高软件 生产率,降低开发成本,缩短开发周期。同时,由于软构件大都经过严格的质量认证,并在实际运行环境中得到检验,因此,重用软构件有助于改善软件质量。此外,大量使 用软构件,软件的灵活性和标准化程度也能得到提高。根据考试大纲,本章要求考生掌握以下知识点:(1)构件及其在信息系统项目中的重要性;(2)常用构件标准(COM/DCOM/COM+、CORBA 和 EJB);(3)软件中间件。3.1构件模型及实现一般认为,构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用 过程中可以明确辨识的系统。结构上,它是语义描述、通讯接口和实现代码的复合体。70 信息系统项目管理师考试辅导教程(第3版)简单地说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的 程序体,构件的使用同它的开发、生产无关。从抽象程度来看,面 向 对 象(Object Orientation)技术已达到了类级重用(代码重用),它以类为封装的单位。这样的重用 粒度还太小,不足以解决异构互操作和效率更高的重用。构件将抽象的程度提到一个更 高的层次,它是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也 为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口对外提供服务。构件模型(Model)是对构件本质特征的抽象描述。目前,国际上已经形成了许多 构件模型,这些模型的目标和作用各不相同,其中部分模型属于参考模型(例如,3C 模型),部分模型属于描述模型(例如,RESOLVE模型和REBOOT模型)。还有一部 分模型属于实现模型。近年来,己形成三个主要流派,分别是OMG(Object Management Group,对象管理集团)的 CORBA(Common Object Request Broker Architecture,通用 对象请求代理结构)、Sun 的 EJB(Enterprise Java Bean)和 Microsoft 的 DCOM(Distributed Component Object Model,分布式构件对象模型)。这些实现模型将构件的接口与实现进 行了有效的分离,提供了构件交互(Interaction)的能力,从而增加了重用的机会,并 适应了目前网络环境下大型软件系统的需要。国内许多学者在构件模型的研究方面做了不少的工作,取得了一定的成绩,其中较 为突出的是北京大学杨芙清院士等人提出的“青鸟构件模型”,下面,我们就以这个模 型为例。青鸟构件模型充分吸收了上述模型的优点,并与它们相容。青鸟构件模型由外部接 口与内部结构两部分组成,如图3-1所示。1.外部接口构件的外部接口是指构件向其重用者提供的基本信息,包括:构件名称、功能描述、对外功能接口、所需的构件、参数化属性等。外部接口是构件与外部世界的一组交互点,第3章 软 件 构 件 与 中 间 件71 说明了构件所提供的那些服务(消息、操作、变量)。2.内部结构构件的内部结构包括两方面内容:内部成员,以及内部成员之间的关系。其中内部 成员包括具体成员与虚拟成员,而成员关系包括内部成员之间的互联,以及内部成员与 外部接口之间的互联。构件实现是指具体实现构件功能的逻辑系统,通常也称为代码构件。构件实现由构 件生产者完成,构件重用者则不必关心构件的实现细节。重用者在重用构件时,可以对 其定制,也可以对其特例化。3.2常用构件标准目前,国际上常用的构件标准主要有三大流派,分 别 是 COM/DCOM/COM+、CORBA 和 EJB。3.2.1 EJB基础知识EJB(Enterprise Java Bean)规范由Sun公司制订,在 EJB2.0规范中对EJB定义如下:EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平 台的构建体系结构。使 用 EJB编写的应用程序具有可扩展性、交互性,以及多用户安 全的特性。这些应用只需要写一次,就可以发布到任何支持EJB规范的服务器平台上。虽然EJB似乎仅仅是Java Bean的企业版,但 EJB绝对不是Java Bean的简单升级。Java Bean是 Java语言中的一种构件模型,其重点是允许开发人员在开发工具中可视化 的操作构件,Java Bean可以被集成到任何Java程序中,尤 其是在Java Applet和 Application中得到了大量的应用。而 EJB是一种非可视化构件,EJB完全运行于服务 器端。EJB可以和远程的客户端程序通讯,并提供一定的功能。如 果 EJB不和客户端 程序交互,则不执行具体的功能。同Java Bean不一样的是,EJB仅仅在网络计算的环 境下才有意义。有三种类型的E JB,分别是会话Bean(Session Bean)、实体Bean(Entity Bean)和消息驱动 Bean(Message-driven Bean)。一 个 Session Bean描述了与客户端的一个短暂的会话。当客户端的执行完成后,Session Bean和它的数据都将消失。Entity Bean对应数据实体,它描述了存储在数据库 的表中的持久数据。如果客户端终止或者服务结束,底层的服务会负责Entity Bean数 据的持久性(也就是将其存储到某个地方,如数据库);Message-driven Bean是 EJB2.0 新增的类型,它结合了一个Session Bean和一个Java信息服务(JMS)信息监听者的功72*信息系统项目管理师考试辅导教程(第3版)能。客户把消息发给JM S 目的地,然 后 JM S提供者和EJB容器协作,把消息发送给 Message-driven Bean。3.2.2 COM/DCOM/COM+基础知识c o m 是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种 新的软件开发技术。在 COM构架下,人们可以开发出各种各样的功能专一的组件,然 后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以 将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统 中重复利用同一个组件;可以方便地将应用系统扩展到网络环境下;COM与语言,平 台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块。在此之后微软公司对COM进行了扩展,使其具备分布式的特性,即 DCOMnDCOM 使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通信。使用 D C O M,应用程序就可以在位置上达到分布性,从而满足客户和应用的需求。因为 DCOM是 COM的无缝扩展,所以可以将对基于COM的应用、构件、工具,以及知识 转移到标准化的分布式计算领域中来。在做分布式计算时,DCOM处理网络协议的低 层次的细节问题,从而使我们能够集中精力解决用户所要求的问题。DCOM是 COM的进一步扩展,COM定义了构件和它们的客户之间互相作用的方 式。它使得构件和客户端无需任何中介构件就能相互联系。客户进程直接调用构件中的 方法。图 3-8显示了 DCOM的整体结构:COM运行库向客户和构件提供了面向对象的 服务,并且使用RPC和安全机制产生符合DCOM线路协议标准的标准网络包。DCOM具有位置独立性。DCOM使得构件的位置对你来说完全透明,无论它是位 于客户的同一进程中或是在地球的另一端。在任何情况下,客户连接构件和调用构件的 方法的方式都是一样的。DCOM不仅无须改变源码,而且无须重新编译程序。一个简 单的再配置动作就改变了构件之间相互连接的方式。DCOM具有语言无关性。任何语言都可以用来创建COM构件,并且这些构件可 以使用更多的语言和工具。Java,Microsoft Visual C+,Microsoft Visual Basic,Delphi,PowerBuilder和 Micro Focus COBOL都能够和DCOM很好地相互作用。SecurityProviderDCE RPCCOMrun-timeProtocol Stack图3-8 DCOM:不同机器上的C O M构件第 3 章 软 件 构 件 与 中 间 件73 COM+并不是COM的新版本,我们可以把它理解为COM的新发展,或者为COM 更高层次上的应用。COM+的底层结构仍然以COM为基础,它几乎包容了 COM的所 有内容。有一种说法这样认为,COM+是 COM、DCOM和 MTS(Microsoft Transaction Server)的集成,这种说法有一定的道理,因 为 COM+确实综合了这些技术要素。但更 重要的一点是,COM+倡导了一种新的概念,它把COM组件软件提升到应用层而不再 是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把 所有组件的底层细节留给操作系统。.3.2.3 CORBA基础知识公共对象请求代理(Common Object Request Broker Architecture,CORBA)是由对象管理组织OMG制订的一个工业标准,其主要目标是提供一种机制,使得对象可以透 明地发出请求和获得应答,从而建立起一个异质的分布式应用环境。由于分布式对象计算技术具有明显优势,OMG提出了 CORBA规范来适应该技术 的进一步发展。1991年,OM G基于面向对象技术,给出了以对象请求代理(Object Request Broker,O R B)为中心的对象管理结构。在 OM G的对象管理结构中,ORB是一个关键的通信机制,它以实现互操作性为 主要目标,处理对象之间的消息分布。对象服务实现基本的对象创建和管理功能,通用 服务则使用对象管理结构所规定的类接口实现一些通用功能。计对ORB,OMG又进一步提出了 CORBA技术规范,主要内容包括接口定义语言(Interface Definition Language,IDL),接 口 池(Interface Repository,IR),动态调用接 口(Dynamic Invocation Interface,D II),对象适配器(Object Adapter,O A)等。(1)接口定义语言。CORBA利用IDL统一地描述服务器对象(向调用者提供服 务的对象)的接口。IDL本身也是面向对象的。它虽然不是编程语言,但它为客户对象(发出服务请求的对象)提供了语言的独立性,因为客户对象只需了解服务器对象的 IDL接口,不必知道其编程语言。IDL语言是CORBA规范中定义的一种中性语言,它 用来描述对象的接口,而不涉及对象的具体实现。在 CORBA中定义了 IDL语言到C、C+、SmallTalk和 Java语言的映射。(2)接口池。CORBA的接口池包括分布计算环境中所有可用的服务器对象的接 口表示。它使动态搜索可用服务器的接口、动态构造请求及参数成为可能。(3)动态调用接口。CORBA的动态调用接口提供了一些标准函数以供客户对象 动态创建请求、动态构造请求参数。客户对象将动态调用接口与接口池配合使用可实现 服务器对象接口的动态搜索、请求及参数的动态构造与动态发送。当然,只要客户对象 在编译之前能够确定服务器对象的IDL接口,CORBA也允许客户对象使用静态调用机 制。显然,静态机制的灵活性虽不及动态机制,但执行效率却胜过动态机制。74 信息系统项目管理师考试辅导教程(第3版)(4)对象适配器。在 CORBA中,对象适配器用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能。这些功能 包括服务器对象的登录与激活、客户请求的认证等。CORBA体系结构模式充分利用了现今软件技术发展的最新成果,在基于网络的分 布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实现可 重用、可移植和互操作。其特点可以总结为如下几个方面:(1)引入中间件作为事务代理,完成客户机向服务对象方(Server)提出的业务请求。(2)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程,以 及具体位置。(3)提供软总线机制,使在任何环境下、采用任何语言开发的软件只要符合接口 规范的定义,均能够集成到分布式系统中。(4)CORBA规范软件系统采用面向对象的软件实现方法开发应用系统,实现对 象内部细节的完整封装,保留对象方法的对外接口定义。3.3 中间件技术随着企业的IT环境日益复杂,企业中可能会拥有多种操作系统、不同的数据库、异构的网络环境,以及若干应用等,那么如何把它们结合成一个有机的协同工作整体,真正实现企业跨平台分布式应用呢?中间件便是解决之道,它用自己的复杂换取了企业 应用的简单。那么,复杂的中间件到底包含哪些种类?分别完成什么功能呢?20世纪90年代初客户-服务器计算模式开始成为主流技术,将数据统一存储在数 据服务器上,而有关的业务逻辑都在客户端实现,即所谓胖终端的解决方案,这种两层 结构的模式大大阻碍着系统的发展,单一的服务器结构紧密地依赖供应商;数据存取受 到限制;难以扩展到大企业广域网或国际互联网;也难以管理客户端的机群。随着用户 业务需求的增长及Intemet/Intranet的普及,将以三层或四层体系结构取代。三层结构就 是把用户端的业务逻辑独立出来,并与数据库服务器中存储过程合并在一起,构成应用 层,以提高计算能力,实现灵活性。在这种结构中用户端仅仅是处理图形用户界面(G U I),而目前趋势是采用具有交互功能的浏览器,即形成瘦终端的工作方式,为此,中间又增加了一层,称为Web服务器层,形成了四层体系结构。这类多层结构的分布系统,各服务器和终端机之间都是通过网络连接起来的,并有 大量信息和数据进行传递。对每个应用系统而言,在设计和实现时需要开发的,仅是在 应用服务器上的业务逻辑部分的软件。除此之外,还必须要设计处理分布系统所特有的 功能的软件,而目前的系统软件(操作系统和支撑软件)都不支持。为此出现了中间件,它是处于系统软件和应用软件之间的一批软件。第 3 章软件构件与中间件 75 使设计者集中设计与应用有关的部分,大大简化了设计和维护工作。目前,中间件 已有一批成熟的产品,并成为设计分布系统时不可缺少的软件。仅仅几年时间,中间件 迅猛发展,并逐步走向成熟。构件是一种前沿的软件设计思想,对整个软件行业的发展起着至关重要的推动作 用。而中间件作为应用软件系统集成的关键技术,保证了构件化思想的实施,并为构件 提供了真正的运行空间。中间件领域工业化标准的制订、统一及实现,使基于构件的应 用开发成为可能。反过来,构件对新一代中间件产品也起到促进作用。3.3.1中间件的定义目前还没有对中间件形成一个统一的定义,我们使用现在比较认可的两种定义:(1)在一个分布式系统环境中处于操作系统和应用程序之间的软件。(该定义源于 http:/middleware.objectweb.org。)(2)中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在 不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和 网络通信。(该定义源于IDG。)我们可以通过图3-9来理解中间件在系统中的地位与应用价值。图3-9分布式系统中间件示意图从这些定义中可以看出:(1)中间件是一类软件,而非一种软件;(2)中间件不仅仅实现互连,还要实现应用之间的互操作;(3)中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。中间件是处于操作系统和应用程序之间的软件,也有人认为它应该是属于操作系统中的一部分。这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把 它与支撑软件和实用软件区分开来。人们在使用中间件时,往往是一组中间件集成在一 起,构成一个平台。随着中间件应用的不断增长,中间件的范围已经覆盖了分布式对象 和组件、消息通信,以及移动应用等软件系统。.76 信息系统项目管理师考试辅导教程(第3版)3.3.2中间件的功能中间件的基本功能应该包括以下几个:负责客户机和服务器间的连接和通信;提供客户机与应用层的高效率通信机制;提供应用层不同服务之间的互操作机制;提供应用层与数据库之间的连接和控制机制;提供一个多层结构应用开发和运行的平台;提供一个应用开发框架,支持模块化的应用开发;屏蔽硬件、操作系统、网络和数据库;提供交易管理机制,保证交易的一致性;提供应用的负载均衡和高可用性;提供应用的安全机制与管理功能;提供一组通用的服务去执行不同的功能,为的是避免重复的工作和使应用之间可 以协作。中间件作为一大类系统软件,与操作系统、数据库管理系统并称“三套车”,其重 要性是不言而喻的,中间件的优点应该说都是有目共睹的。它的优越性体现在以下几个 方面:缩短应用的开发周期;节约应用的开发成本;减少系统初期的建设成本;降低应用开发的失败率;保护已有的投资;简化应用集成;减少维护费用;提高应用的开发质量;保证技术进步的连续性;增强应用的生命力。具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而 统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程 序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。中间件带给应用系统的,不只是开发的简便和开发周期的缩短,也减少了系统的维 护、运行和管理的工作量,还减少了计算机总体费用的投入。Standish的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济和电 子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且 是更有把握的赢家。第 3 章 软 件 构 件 与 中 间 件.77.其次,中间件作为新层次的基础软件,其重要作用是将不同时期,在不同操作系统 上开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统和数 据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往 在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。3.3.3中间件的分类中间件的任务是使应用程序开发变得更容易,通过提供统一的程序抽象,隐藏异构 系统和分布式系统下低级别编程的复杂度。中间件分类有很多方式和很多种类型。在这 里我们由底向上从中间件的层次上来划分,如 图 3-10所示,可分为底层型中间件、通 用型中间件和集成型中间件三个大的层次。集成型中间件(WorkFlow,EAI)o通用型中间件(CORBA,J2EE,MOM):底层型中间件(JVM,CLR、ACE、JDBC、ODBC)图3-1 0中间件层次图(1)底层型中间件的主流技术有JVM、CLR、ACE、JDBC和 ODBC等,代表产 品主要有SUN JVM和 Microsoft CLR等。(2)通用型中间件的主流技术有CORBA、J2EE、MOM和 COM等,代表产品主 要有 IONA Orbix、BEA WebLogic 和 IBM MQSeries 等。(3)集成型中间件的主流技术有WorkFlow和 E A I等,代表产品主要有BEA WebLogic 和 IBM WebSphere 等。当然,在这个大的层次划分下,中间件还可以细化为以下一些种类:(1)通信处理(消息)中间件。在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,称为消息中间件。这是中间件中唯一不可缺少的,是 需求量最大的中间件产品,目前在大部分操作系统中已包含了其部分功能。(2)事务处理(交易)中间件。在分布式事务处理系统中要处理大量事务,常常 在系统中要同时进行上万个事务。在联机事务处理系统(OLTP)中,每笔事务常常要 多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,78 信息系统项目管理师考试辅导教程(第3版)而且要自动切换系统,达到系统永不停机,实现高可靠性运行。同时要使大量事务在多 台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计 算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。一个事务处理平台,根 据 X/OPEN的参数模型规定,应由事务处理中间件、通信处理 中间件,以及数据存取管理中间件三部分组成。(3)数据存储管理中间件。在分布式系统中,重要的数据都集中存放在数据服务 器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过 加密或压缩存放的,该中间件将为在网络上虚拟缓存、格式转换、解压等带来方便。(4)Web服务中间件。浏览器图形用户界面已成为公认规范,然而由于它存在会 话能力差、不能做数据写入、受 HTTP协议的限制等缺陷,因此就必须进行修改和扩充,形成Web服务器中间件(5)安全中间件。一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必须用国产的产品。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。(6)跨平台和构架的中间件。当前开发大型应用软件通常采用基于构架和构件技 术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了构架中间件,功能最强的是CORB A,可以跨任意平台,但是太庞大;Java Bean 较灵活简单,很适合于做浏览器,但运行效率差;DCOM模型主要适合Windows平台,已广泛使用。由于国内新建系统主要是UNIX(包括Linux)和 Windows,因此针对这 两个平台建立相应的中间件要实用得多。(7)专用平台中间件。为特定应用领域设计参考模式,建立相应构架,配置相应 的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站 等)。(8)其他中间件。另外现在出现了一些中间件,比如数据流中间件、门户中间件,以及为某些专业领域如银行、电信等开发的专用中间件。另外还有是一些更高层中间 件,更多用于系统整合,包括企业应用集成中间件(EAI Suites)、工作流中间件(Workflow)、门户中间件(Portal)等是多种中间件的组合。3.3.4中间件技术在集成中的应用中间件技术在集成中扮演着重要的角色,我们可以从不同层次采用不同种类,不同 技术的中间件产品进行应用集成。正如图3-11所示,我们可以从传输、消息、组件、业务流程等各个层面分别加以集成。第3章 软 件 构 件 与 中 间 件79.业务设计人员(Business Process)业务流程业务流程,工作流IT技术人员(Components/Service)组件/服务EJB,CCM,COM(Messaging)消息 MQSeries,TIBCO,JMS基础架构人员|_(Transport)传输 NET,CORBA,Java/RMI图3-1 1不同层次的集成示意图从 图 3-11中我们还可以看出,为了完成不同层次的集成,可以采用不同的技术、产品:(1)为了完成系统底层传输层的集成,可以采用CORBA技术。(2)为了完成不同系统的信息传递,可以采用消息中间件产品。(3)为了完成不同硬件和操作系统的集成,可以采用J2EE中间件产品。同样,目前中间件的竞争焦点也主要集中在集成应用平台上,多中间件公司都己 经或准备将下一步的工作重点放在集成市场上。3.3.5中间件的发展趋势中间件作为构筑企业信息系统和电子商务系统的基石和核心技术,向着标准化和构 件化方向发展。具体来看,有以下三种发展趋势。1.规范化在中间件的发展过程中,做得最好的一件事情就是规范的制订。对于不同类型的中 间件,目前都有一些规范可以遵循,如消息类的JMS,对象类的CORBA和 COM/DCOM,交易类的XA、OTS、JTA/JTS,应用服务器类的J2EE,数据访问类的ODBC和 JDBC,Web服务有SOAP、WSDL、UDDI等。这些规范的建立极大地促进了中间件技术的发 展,同时保证了系统的扩展性、开放性和互操作。2.构件化和松耦合除了已经得到较为普遍应用的CORBA、DCOM等适应Intranet的构件技术外,随 着企业业务流程整合和电子商务应用的发展,中间件技术朝着面向Web、松散耦合的 方式发展。基 于 XM L和 Web服务的中间件技术,使不同系统之间、不同应用之间的 交互建立在非常灵活的基础上。XML是一种可扩展的源标志语言,它提供了一种定义 新的标志语言标准。由于XML技术非常适合于异构系统间的数据交换,因此在国际上 80 信息系统项目管理师考试辅导教程(第3版)已经被普遍采纳为电子商务的数据标准。而 Web服务作为基于Web技术的构件,在流 程中间件的控制和集成下可以灵活、动态地被组织成为跨企业的商务应用。3.平台化目前,一些大的中间件厂商在已有的中间件产品基础上,都提出了完整的面向互联 网的软件平台战略计划和应用解决方案。Sun公司是最早提出“网络就是计算机”的公 司,它一直致力于向企业提供受到广泛欢迎的网络软件,对因特网的应用和发展发挥了 重要作用。:IBM公司提出了面向网络应用的“旧金山计划”,即以WebSphere、DB2、Tivoli、Domino四大品牌组成基础架构平台,提供从中间件、服务器到解决方案的一揽 子组合服务。Oracle公司则推出了以Oracle 9 i为中心的网络软件平台。微软公司从 2000年 6 月开始大力宣传“.NET计划”,并作为未来的基本战略,目标是在因特网的 基础上,实现所有的计算机群、相关设备和服务协同工作,提供广泛而丰富的解决方案。