中间件技术及其应用


中间件技术及其应用 一、概述 1、中间件的概念 随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管 理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。 这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应 孕而生。 由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定义。 比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。 中间件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯。 从中间件的定义可以看出,中间件是一类软件,而非一种软件 ;中间件不仅仅实现互连,还要实现应用之间的互操作 ;中 间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。 2、中间件特点及优势 通常意义下,中间件应具有以下的一些特点 :满足大量应用的需要 ;运行于多种硬件和 OS 平台 ;支持分布式计算,提供 跨网络、硬件和 OS 平台的透明性的应用或服务的交互功能 ;支持标准的协议 ;支持标准的接口。 程序员通过调用中间件提供的大量 API,实现异构环境的通讯,从而屏蔽异构系统中复杂的操作系统和网络协议。 中间件提供客户机与服务器之间的连接服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们 可以有符合接口和协议规范的多种实现。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开 发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机 硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而 保护了企业在应用软件开发和维护中的重大投资。 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件软件管理着客 户端程序和数据库或者早期应用软件之间的通讯。 中间件在分布式的客户和服务之间扮演着承上启下的角色,如事务管理、负载均衡以及基于 Web 的计算等。 利用这些技术有助于减轻应用软件开发者的负担,使他们利用现有的硬件设备、操作系统、网络、数据库管理系统以及对象 模型创建分布式应用软件时更加得心应手。由于中间件能够保护企业的投资,保证应用软件的相对稳定,实现应用软件的功能扩 展 ;同时中间件产品在很大程度上简化了一个由不同硬件构成的分布式处理环境的复杂性,所以它的出现正日益引起用户的关注。 世界著名的咨询机构 The Standish Group 在一份研究报告中归纳了中间件的十大优越性: (1) 应用开发:The Standish Group 分析了 100 个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例; 业务逻辑程序和应用逻辑程序仅占总程序量的 30%,而基础程序占了 70%,使用传统意义上的中间件一项就可以节省 25%~60%的应 用开发费用。如是以新一代的中间件系列产品来组合应用,同时配合以可复用的商务对象构件,则应用开发费用可节省至 80%。 (2) 系统运行:没有使用中间件的应用系统,其初期的资金及运行费用的投入要比同规模的使用中间件的应用系统多一倍。 (3) 开发周期:基础软件的开发是一件耗时的工作,若使用标准商业中间件则可缩短开发周期 50%~75%。 (4) 减少项目开发风险:研究表明,没有使用标准商业中间件的关键应用系统开发项目的失败率高于 90%。企业自己开发 内置的基础(中间件)软件是得不偿失的,项目总的开支至少要翻一倍,甚至会十几倍。 (5) 合理运用资金:借助标准的商业中间件,企业可以很容易地在现有或遗留系统之上或之外增加新的功能模块,并将它 们与原有统无缝集合。依靠标准的中间件,可以将老的系统改头换面成新潮的 Internet/Intranet 应用系统。 (6) 应用集合:依靠标准的中间件可以将现有的应用、新的应用和购买的商务构件融合在一起进行应用集合。 (7) 系统维护:需要一提的是,基础(中间件)软件的自我开发是要付出很高代价的,此外,每年维护自我开发的基础(中 间件)软件的开支则需要当初开发费用的 15%~25%,每年应用程序的维护开支也还需要当初项目总费用的 10%~20%左右。而在一般 情况下,购买标准商业中间件每年只需付出产品价格的 15%~20%的维护费,当然,中间件产品的具体价格要依据产品购买数量及 哪一家厂商而定。 (8) 质量:基于企业自我建造的基础(中间件)软件平台上的应用系统,每增加一个新的模块,就要相应地在基础(中间 件)软件之上进行改动。而标准的中间件在接口方面都是清晰和规范的。标准中间件的规范化模块可以有效地保证应用系统质量 及减少新旧系统维护开支。 (9) 技术革新:企业对自我建造的基础(中间件)软件平台的频繁革新是极不容易实现的(不实际的)。而购买标准的商 业中间件,则对技术的发展与变化可以放心,中间件厂商会责无旁贷地把握技术方向和进行技术革新。 (10) 增加产品吸引力:不同的商业中间件提供不同的功能模型,合理使用,可以让你的应用更容易增添新的表现形式与新 的服务项目。从另一个角度看,可靠的商业中间件也使得企业的应用系统更完善,更出众。 具体地说,中间件屏蔽了低层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性, 将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 中间件带给应用系统的不只是开发的简单、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机 总体费用的投入。The Standish Group 的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少 50%左右。在 网络经济大发展、电子商务大发展的今天,从中间件获得利益的不只是 IT 厂商,IT 用户同样是赢家,并且是更有把握的赢家。 中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来,彼此像一个天衣无缝 的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,在技术不断发展之后,使以往在应用软件 上的劳动成果仍然物有所用,节约了大量的人力、财力投入。 3、中间件的应用领域与分类 随着计算机软件技术的发展,中间件技术也已经日渐成熟,并且出现了不同层次、不同类型的中间件产品。按照 IDC 的分类 方法,中间件可分为六类。分别是数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。 数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件; 远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程; - 2 - 消息中间件:用来屏蔽掉各种平台及协议之间的特性,进行相互通信,实现应用程序之间的协同; 交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台; 对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重 用。 目前国内外有不少厂商都开发出自己的中间件产品,其中有全球最大的独立中间件厂商 BEA 公司,还有像 IBM、Oracle 和 Microsoft、HP、Sun 等大厂商也早已涉足电子商务中间件。 面向对象的中间件是对象技术和分布式计算发展的产物,业界普遍认为面向对象是今后中间件发展的主流方向,它提供一种 通讯机制,透明地在异构的分布计算环境中传递对象请求,而这些对象可以位于本地或者远程机器。 面向对象标准原本只有一个,即 CORBA(公共对象请求代理体系结构),该标准由包括 BEA、IBM、Oracle、Sun 和 Sybase 等公 司在内的众多厂商一起制定,从而形成了一个庞大的 CORBA 联盟势力。后来,Sun 推出了企业级 JavaBeans(EJB),用自己易使用 的程序模型来对 CORBA 做出了改进。微软 COM(Component Object Model,组件对象模型)的出现,使面向对象中间件市场里又多 了一个标准,这样,面向对象中间件产品实际上形成了两大标准,一是微软的 COM,一是 JavaBeans。 从宏观上看,中间件可以分为 3 大类: 数据类:用于数据的存取、利用和增值,此类中间件用于构建以数据为中心的应用 处理类:把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的分布式应用。 分布式构件类:支持构件式应用,未来应用的发展方向,目前竞争激烈。 为了更加清晰起见,我们把中间件细分为 12 种,如下表: 序 号 种类 优劣 产品 1 数据库系统的产品 管理数据库连接,抽 象网络协议。一般由数据库厂商或支持多 数据库的中间件提供 数据库厂商的产品功能较强、性能较好。 而独立于数据库厂商的产品在用于多数 据库环境时效率有所降低 Oracle Net8Sybase Netlib,Protocol services Intersolv SequeLink client 2 数据库存取 APIs 支持对数据库存取的编 程,可以使用存储过程。OO 数据库常为 OO 编程语言,如 Java/C++提供适应 ODMG 的接口 数据库厂商的 APIs 可支持对数据库所有 功能的存取,因而适合编写 OLTP 的应用。 而 ODBC 或 JDBC 更适合多数据库的环境 IBM DB2 CLIOracle Net8,Call InterfaceMicrosoft ODBC,OLE DBODI’s PSE 3 数据迁移、转换 用于数据部署、转换、 信息增值。常作为数据仓库解决方案的一 部分 使完全不同的数据包和遗留的应用能协 同工作,但需要建立诸如时间、数据优选 和整合、以及资源等要素 IBM Data PropagatorSybase Replication ServerPlatinum InfoPumpD2K Tapestry 4 底层的同步服务(RPC) 使调用远端的过 程和在本地一样。在被调用的处理未完以 前,调用进程处于阻塞状态 点但的代码抽象,只有在所有的 Server 都是在线的情形才能工作。不适合移动或 Internet 应用 DCE-RPC (微软把它用在 DOM 中)Borland EnteraNoblenet RPC 5 简单的异步消息 简单是消息发送和接 收,有时扩展到可靠投递、智能路由和名 字服务 对需要高性能的异步通讯的应用非常有 用。但需要所有的 Server 都在线 Peerlogic PipesMomentum XIPC 东方通科 技 TongLINK 6 应用级的消息队列 是简单的消息中间件 的扩展,增加了队列、脱机处理能力、可 靠投递和发布订阅等功能 使分布式处理可以在脱机、事件驱动等的 方式,适合与电子商务、移动用户、工作 流或其他的环境中 TIBCO RendenousIBM MQ SeriesMS Message QueueLevel8 FalconMQ 东方通科技 TongLINK/Q 清华北美 TH - MT 7 应用协调器 通常是应用级消息队列的扩 展,增加了许多工具用于建立适合事件服 务的集成应用 有效地节约集成的时间特别是针对应用 包或工作流产品 Vitria VelocitiActive Software, ActiveWebOberon ProsperpNEON NEONetTSI Mercator 8 COM+/DNA 微软的分布式构件平台,使企 业应用更加可扩充和可管理 从 COM 发展而来,是构件市场上的主流产 品。尚需要增加针对企业应用的可靠性 MS,COM,DCOM,COM+MS MTSMessage Queue ServerActiveDirectory(future) 9 CORBA 平台 OMG 标准,通过 ORB 把分布 的对象连接成一个逻辑上统一的整体 工业组织的标准,可用不同的方式实现, 以提高互操作能力 Iona OrbixBorland/Visigenic, VisibrokerIBM ComponentBrokerBEA Iceberg 东方通科技 TongBroker 10 交易监控器 用于开发实时的 OLTP 应用的 服务器和 API,用于管理交易,共享资源 已证明是建造 OLTP 应用的有效手段。通 常是非面向对象的,带有特有和复杂的 API BEA TUXEDOIBM TX 系列东方通科技 TongEASY 清华北美 JavaST 11 应用服务器 针对 Internet、Intranet和 其他分布式构件应用,提供服务方构件的 完整环境 与交易监控器类似,只不过是面向对象 的、支持构件、具有标准 API NetDynamicsIBM Compont – BrokerNetscape KivaOracle App. Ser 东 方通科技 TongWEB 清华北美 WebFirst 12 工作流/应用集成 大杂烩,把工作流和应 用开发技术如消息及分布式构件结合在 一起 使处理能方便自动地和构件、Script 应 用、工作流行为结合在一起,同时集成文 档和电子邮件 LSS FlowmanIBM FlowmarkAction, Technologies,ActionWorksVitria Business Agiliti 二、中间件的技术规范 1、 DCE 体系 DCE 是 Distrbuted Computing Environment 分布式计算环境的缩写,它由 Open Software Fondation 制定,现在这个组织 被称为 Open Group。 DCE 由多个共同在一起工作的组件组成,它们是:远程过程调用(RPC)、本地和全局目录服务(CDS 和 GDS)、安全服务、 DCE 线程、分布式时钟服务(DTS)和分布式文件服务(DFC)。线程、RPC、CDS、安全服务和 DTS 组件通常被成为安全核心,并 - 3 - 且是组成任何 DCE 环境所必须的组件,DTS 是可选件。在 DCE 环境中,还包括用于管理这些组件的管理工具。 DCE 被称做中间件或使其具有能力的技术,它不是独立存在的,而是被捆绑在供应商操作系统中,或者由第三方供应商进行 集成。 2、 DTP 模型 DTP 模型是 X/OPEN 组织提出的一种软件结构,这种结构允许多个应用程序去共享多个资源管理器提供的资源,并且具有协调 全局事物的能力。 X/OPEN 是一个独立的、具有全球影响力的开放系统组织,它得到了世界大多数的最大的信息系统供应商的支持,其根本任何 是通过规范开放系统的具体实现,从计算的观点考虑如何让用户获得更大的利益。 X/OPEN 的 DTP 模型由 5 个基本模块组成: 应用程序(AP):用于定义事物的边界,并确定组成事物操作的动作。 资源管理器(RM):如数据库或文件系统用于存取文件。 事物管理器(TP):给事物分配标识,监督事物的处理过程并负责事物的完成以及协调事物失败的恢复。 通信资源管理器(CRM):在一个事物管理器内或两个事物管理器之间对通信进行控制。 在这 5 个模块之间 X/OPEN 模型定义了这样一些模块与模块之间的接口规范: 应用程序——资源管理器之间已经存在了一些 X/OPEN 的规范,如 SQL 和 ISAM;在应用程序——事物管理器之间定义了 TX 接 口;在交易管理器——资源管理器之间定义了 XA 接口;在交易管理器——通信资源管理器之间定义了 XA+接口;在应用程序—— 通信资源管理器之间有 3 种接口:TXRPC、XATMI和 CPI-C;在通信资源管理器——操作系统提供的底层通信协议之间提供了XAP-TP 接口。 3、 CORBA CORBA 是 Common Object Request Broker Architecture 的缩写,简称公共对象请求代理结构,它由国际对象管理组织 OMG 制定,这个组织是一个国际性组织,始建于 1989 年,现已拥有包括生产厂商与软件开发商 800 多个会员,其目的是在分布和已构 计算机环境下为应用软件的开发提供一个公共框架,使开发出来的软件即面向对象又具有可重用性、可移植性以及可操作性等特 点。有关 CORBA 的其他功能情况参见下面的第三部分说明。 4、 J2EE J2EE 是 Java 2 Platform Enterprise Edition 的缩写,是一种多层应用模式的结构体系。整个规范由 SUN 公司提出,它将 业务逻辑从系统服务功能和用户界面中分离出去,放置在客户层和应用基础设施这两层之间的中间层,是目前应用的最为广泛的 面向 Web 的应用系统结构规范。有关 J2EE 的其他功能情况参见下面的第三部分说明。 5、 互联网相关技术规范 Web(World Wide Web)是一种网络化的信息资源,它依赖于 3 个机制,使这些信息资源可以面对广大的使用者。 1) 一种唯一的命名机制,为网上的资源进行定位,如:URI。 2) 一种通信规程,以便在网上可以存取这些被命名的资源,如:HTTP。 3) 混合文本,以便更好地驾御这些信息资源,如:HTML。 URI(Universal Resource Identifier)全局资源标识,一种命名机制,它将在网上的一个资源的定位分为 3 个部分:用于 存取资源的通信方式的名称,如 HTTP、FTP;保存有资源的机器的名称,如:www.sohu.com;资源本身的名称,也就是存取这些 资源的路径。 HTTP(HyperText Transfer Protocol)是一种用于分布式、相互协作、混合型媒体的信息系统的应用层的通信规程。使用这 一规程,除了可以在信息系统中取得资料外,还可以进行资料查询,对前端进行更新以及进行信息发布等操作。 HTML(HyperText Markup Language)是一种网上使用的出版语言,它可以为作者提供这样的功能:在在线出版的文档中包括 标题、文本、表格、列表和照片等;按下鼠标后,通过混合文本链路查找文本;与远端的服务为进行联机事物处理建立表格,以 便进行信息查找、预定和订购产品等操作;在文档中直接包含独立页面、影像资料与声音资料等。 这些规范都是 web 技术的基础,除了这些技术规范以外,还有一些规范也非常重要,它的用途是实现企业与企业间通过 Web 实现数据交换。这些规范是 XML、SOAP、UDDI 和 WSDL。 XML(Extensible Markup Language)通过提供更灵活和更容易被接收的信息标识方法来改进 Web 的功能。XML 被称为可扩展 的标注语言,它不像 HTML 是一种单一的、预先定义的语言,XML 是一种用于描述其他语言的语言,使用 XML,你可以定义你自己 的、不受到类型限制的、其他类型的文档。 SOAP(Simple Object Access Protocol)是一种轻量级规程,用于在没有控制中心、分布式的环境中交换信息。它以 XML 为基础,由 4 个部分组成:一个信封,定义了是什么信息和如何对它进行处理的框架;一组编码规则,用于描述应用定义的数据 类型的表示示例;一组表示远程过程调用和应答的规则方式,以及一组捆绑方式,这种方式用于使用低层通信规程交换信息。SOAP 具有与其他规则相结合的可能性。 UDDI(Universal Description,Discovery and Integration)是一个规范,这个规范用于 Web 服务以分布式、以 Web 为基 础的信息的注册。UDDI 同时也是一个这样的规范的实现的公用的可接入的集合,这个规范是是某个企业的 Web 服务所能提供的内 容用登记信息的方式提供出来,以便其他企业可以发现这些服务。Web 服务是 Web 技术的下一步发展方向,它可以允许可编程的 被放置在 Web 上,其他方可以使用分布式的方式进行存取。 WSDL(Web Service Description Language)是一组包含面向文档或面向过程消息的端点操作信息的 xml 格式网络服务描述; 操作和消息首先被抽象的描述,然后捆绑到具体的网络规程和消息格式中,以便定义端点,相关的具体端点被组合进抽象的端点 中(服务)。WSDL 可以捆绑描述与 SOAP、HTTP GET/POST 和 MIME 相关。 三、主流中间件技术平台 下面重点阐述和比较了三大主流中间件技术平台,使读者加深对中间件技术理解。 1、当前支持服务器端中间件技术的平台 考察当前主流的分布计算技术平台,主要有 OMG 的 CORBA、Sun 的 J2EE 和 Microsoft DNA 2000。它们都是支持服务器端中间 件技术开发的平台,但都有其各自的特点,将分别阐述如下。 (1)OMG 的 CORBA - 4 - CORBA 分布计算技术是 OMG 组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体 系规范。 CORBA 分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平 台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。COBRA 标准主要分为 3 个层次:对象请求代理、公共 对象服务和公共设施。最底层是对象请求代理 ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作, 是分布对象系统中的"软总线";在 ORB 之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服 务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的 协定规则。目前,CORBA 兼容的分布计算产品层出不穷,其中有中间件厂商的 ORB 产品,如 BEAM3,IBM Component Broker,有分 布对象厂商推出的产品,如 IONAObix 和 OOCObacus 等. CORBA 规范的近期发展,增加了面向 Internet 的特性,服务质量控制和 CORBA 构件模型(CORBA Component Model)。 Internet 集成特性包括了针对 IIOP 传输的防火墙(Firewall)和可内部操作的定义了 URL 命名格式的命名服务(Naming Service)。 服务质量控制包括能够具有质量控制的异步消息服务,一组针对嵌入系统的 CORBA 定义,一组关于实时 CORBA 与容错 CORBA 的请求方案。 CORBA CCM(CORBA Component Model)技术,是在支持 POA 的 CORBA 规范(版本 2.3 以后)基础上,结合 EJB 当前规范的基础上 发展起来的。CORBA 构件模型,是 OMG 组织制定的一个用于开发和配置分布式应用的服务器端中间件模型规范,它主要包括如下 三项内容: a、抽象构件模型,用以描述服务器端构件结构及构件间互操作的结构; b、构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成; c、构件的配置和打包规范,CCM 使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包 的具体内容和基于 XML 的文档内容标准。 总之,CORBA的特点是大而全,互操作性和开放性非常好。CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢,COBRA 规范从 1.0 升级到 2.0 所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。在具体的应用中使用不是很多。 (2)Sun 的 J2EE 为了推动基于 Java 的服务器端应用开发, Sun 于是在 1999 年底推出了 Java2 技术及相关的 J2EE 规范,J2EE 的目标是:提 供平台无关的、可移植的、支持并发访问和安全的,完全基于 Java 的开发服务器端中间件的标准。 在 J2EE 中,Sun 给出了完整的基于 Java 语言开发面向企业分布应用规范,其中,在分布式互操作协议上,J2EE 同时支持 RMI 和 IIOP,而在服务器端分布式应用的构造形式,则包括了 Java Servlet、JSP(Java Server Page)、EJB 等多种形式,以支持不 同的业务需求,而且 Java 应用程序具有"Write once,run anywhere"的特性,使得 J2EE 技术在发布计算领域得到了快速发展。 J2EE 简化了构件可伸缩的、其于构件服务器端应用的复杂度,虽然 DNA 2000也一样,但最大的区别是 DNA 2000是一个产品, J2EE 是一个规范,不同的厂家可以实现自己的符合 J2EE 规范的产品,J2EE 规范,是众多厂家参与制定的,它不为 Sun 所独有, 而且其支持跨平台的开发,目前许多大的分布计算平台厂商都公开支持与 J2EE 兼容技术。 EJB 是 Sun 推出的基于 Java 的服务器端构件规范 J2EE 的一部分,自从 J2EE 推出之后,得到了广泛的发展,已经成为应用服 务器端的标准技术。SunEJB 技术是在 Java Bean 本地构件基础上,发展的面向服务器端分布应用构件技术。它基于 Java 语言, 提供了基于 Java 二进制字节代码的重用方式。EJB 给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以 及构件打包、构件配置等的标准规范内容。EJB 技术的推出,使得用 Java 基于构件方法开发服务器端分布式应用成为可能。从企 业应用多层结构的角度,EJB 是业务逻辑层的中间件技术,与 JavaBeans 不同,它提供了事务处理的能力,自从三层结构提出以 后,中间层,也就是业务逻辑层,是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。从分布式计算的角度, EJB 像 CORBA 一样,提供了分布式技术的基础。提供了对象之间的通讯手段。从 Internet 技术应用的角度,EJB 和 Servlet,JSP 一起成为新一代应用服务器的技术标准,EJB 中的 Bean 可以分为会话 Bean 和实体 Bean,前者维护会话,后者处理事务, 现在 Servlet 负责与客户端通信,访问 EJB,并把结果通过 JSP 产生页面传回客户端。 J2EE 的优点是,服务器市场的主流还是大型机和UNIX 平台,这意味着以Java 开发构件,能够做到"Write once,run anywhere", 开发的应用可以配置到包括 Windows 平台在内的任何服务器端环境中去。 (3)Microsoft DNA 2000 Microsoft DNA 2000(Distributed interNet Applications)是 Microsoft 在推出 Windows2000 系列操作系统平台基础上,在 扩展了分布计算模型,以及改造 Back Office 系列服务器端分布计算产品后发布的新的分布计算体系结构和规范。 在服务器端,DNA 2000提供了 ASP、COM、Cluster 等的应用支持。目前,DNA2000 在技术结构上有着巨大的优越性。一方面, 由于 Microsoft 是操作系统平台厂商,因此 DNA 2000技术得到了底层操作系统平台的强大支持;另一方面,由于 Microsoft 的操 作系统平台应用广泛,支持该系统平台的应用开发厂商数目众多,因此在实际应用中,DNA 2000 得到了众多应用开发商的采用和 支持。 DNA 2000 融合了当今最先进的分布计算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容。DNA 使得开发可 以基于 Microsoft 平台的服务器构件应用,其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布对象系统提 供。 以 Microsoft 为首的 DCOM/COM/COM+阵营,从 DDE,OLE 到 ActiveX 等,提供了中间件开发的基础,如 VC,VB,Delphi 等都 支持 DCOM,包括 OLE DB 在内新的数据库存取技术,随着 Windows2000 的发布,Microsoft 的 DCOM/COM/COM+技术,在 DNA2000 分 布计算结构基础上,展现了一个全新的分布构件应用模型。首先,DCOM/COM/COM+的构件仍然采用普通的 COM(Component Object Model)模型。COM 最初作为 Microsoft 桌面系统的构件技术,主要为本地的 OLE 应用服务,但是随着 Microsoft 服务器操作系统 NT 和 DCOM 的发布, COM通过底层的远程支持使得构件技术延伸到了分布应用领域。DCOM/COM/COM+更将其扩充为面向服务器端分 布应用的业务逻辑中间件。通过 COM+的相关服务设施,如负载均衡、内存数据库、对象池、构件管理与配置等等,DCOM/COM/COM+ 将 COM、DCOM、MTS 的功能有机地统一在一起,形成了一个概念、功能强的构件应用体系结构。而且,DNA2000 是单一厂家提供的 分布对象构件模型,开发者使用的是同一厂家提供的系列开发工具,这比组合多家开发工具更有吸引力。 但是它的不足是依赖于 Microsoft 的操作系统平台,因而在其它开发系统平台(如 Unix、Linux)上不能发挥作用。 2、相关性比较分析 目前,针对上述的各种分布计算平台技术,都出现了相似且具有可比性的分布式构件,即 CORBA CCM(CORBA Component Model) 技术、SUN 的 EJB(Enterprise JavaBean)技术和 DNA 2000 中的 COM/DCOM/COM+技术。 对于以上三个分布计算平台,本文采用业界常用的做法从以下三个方面进行分析: 集成性:集成性主要反映在基础平台对应用程序互操作能力的支持上。它要求分布在不同机器平台和操作系统上、采用不同 的语言或者开发工具生成的各类商业应用必须能集成在一起,构成一个统一的企业计算框架。这一集成框架必须建立在网络的基 础之上,并且具备对于遗留应用的集成能力; 可用性:要求所采用的软件构件技术必须是成熟的技术,相应的产品也必须是成熟的产品,在至关重要的企业应用中能够稳 定、安全、可靠地运行。另外,由于数据库在企业计算中扮演着重要角色,软件构件技术应能与数据库技术紧密集成; 可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和实现策略,可以根据企业计算的需求进行裁剪,并能迅速 反应市场的变化和技术的发展趋势。通过保证当前应用的可重用性,最大程度地保护企业的投资。 下表从集成性,可用性,可扩展性三个方面,给出了上述三种主流分布计算平台的比较结果。 虽然这三种平台因为其形成的历史背景和商业背景有所不同,各自有自己的侧重和特点,其实在它们之间也有很大的相通性 和互补性。 四、中间件是实现电子商务的基础软件 电子商务的本质就是对处于分布环境中的各种计算机系统进行交流协调,从而开创新的商业运作模式。网络通信,尤其是互 联网技术,是电子商务的通信基础,而管理和传输系统之间的业务信息、协调各个系统的处理模块的中间管理服务系统,是保证 电子商务应用成功的关键。电子商务应用服务器、通用业务网关、支付网关、通信平台和安全平台,统一纳入电子商务中间件构 架的范畴。 从技术角度看,电子商务将由 Internet/Intranet 技术、传统 IT 技术以及具体的业务处理所构成。但是,系统的建立将会面 临许多新的问题,包括应用系统能不能快速地建立,能不能适应大用户数、高处理量要求,能不能提供高效率、高可靠性、高可 用性等等关键任务的要求,能不能满足安全需要等等。 以上这些问题,只是依靠简单的 Web 技术是不够的。目前常用的 Web 技术由于早期更多的是面向信息发布,因此存在并发访 问瓶颈、难扩展、效率低、安全等诸多问题,不能满足电子商务的需要。为了很好地解决这些问题,需要以 Web 的低层技术为基 础,规划出一个整体的应用框架,并提供一个支持平台,用于 Internet 应用的开发、部署和管理,并能籍此解决上述各种问题。 这已经发展成为一个能广泛适应的标准的支撑层,成为 Internet 应用的基础设施(Infrastructure),这一支撑层实际上是基于 Internet 的中间件,也就是应用服务器。 同时,由于企业并不能把业务一不跨到 Internet 上,而必须同传统的应用系统结合,因此也必须通过中间件来集成 Web 应用 和传统应用,实现完整的电子商务。 在这种情况下,电子商务应用应包含以下层次: ●浏览器:这是进入电子商务的通道。 ●电子商务应用平台:提供电子商务不同应用类型的生成工具软件,如网上商店、网络支付、虚拟社区等等。 ●电子商务交换平台:对内集成企业内部的各种与电子商务相关的业务系统,对外连接商业合作伙伴,如银行、供应商、客 户、配送结构,完成各种不同业务系统之间数据转换和整和。 ●电子商务基础平台:用来支持大量 Internet 客户的并发访问,使应用开发商快速开发出灵活多变的电子商务应用,尽快把 信息系统和商务活动放到 Internet 中。 在电子商务交换平台和电子商务基础平台中都不能没有中间件的存在。可以说,没有中间件就不能支撑今天的网络应用。 电子商务中间件构架是一种电子商务应用集成的关键件,不管电子商务应用分布在什么硬件平台上,使用了什么数据库系统, 透过了什么复杂的网络,电子商务应用的互连和互操作是电子商务中间件构架首先要解决的问题。在通信方面,电子商务中间件 - 5 - - 6 - 构架要支持各种通信协议和通信服务模式,传输各种数据内容,数据格式翻译、流量控制、数据加密、数据压缩等等;在电子商 务中间件构架核心,要解决名字服务、安全控制、并发控制、可靠性和效率保证等;在电子商务应用开发方面,要能提供基于不 同平台的丰富的开发接口,支持流行的开发工具和异构互连接口标准等;在管理方面,解决电子商务中间件构架本身的配置、监 控、调谐,为电子商务应用的易用易管理提供保证。 其次,针对不同的 Web 应用环境,对电子商务中间件构架有各种不同的要求。对工作流应用,需要根据条件以及条件满足状 态,将信息、响应状态从一个应用传递到另一个应用;对联机事务处理,需要保证分布式的数据一致性、不停机作业、大量并发 的高效率;对于一个数据采集系统需要保证可靠传输等等。 五、中间件符合软件发展的潮流 软件构件化(Software Component)技术是在大工业生产启发下应运而生的,是软件技术跨世纪的一个发展趋势,其目的是 彻底改变软件生产方式,从根本上提高软件生产的效率和质量,提高开发大型软件系统尤其是商用系统的成功率。有了软件构件 之后,应用开发人员就可以利用现成的软件构件装配成适用于不同领域、功能各异的应用软件。 复用软件一直是整个世界软件业所追求的梦想,软件构件化为实现这一梦想指出了一条切实可行的道路,而中间件正是构件 化软件的一种形式。中间件抽象了典型的应用模式,应用软件制造者可以基于标准的形式进行开发,使软件构件化成为可能,加 速了软件复用的进程。因此,中间件是符合软件发展的内在规律的。 中间件是软件技术发展的一种潮流,被誉为发展最快的软件品种,近年来势头强劲,当然,这也是源于市场在全球范围内对 中间件的支持。毫无疑问,中间件正在成为软件行业新的技术与经济增长点。
还剩5页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

glassprog

贡献于2010-12-19

下载需要 15 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf