购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

试题15(2010年上半年试题8)

中间件是位于硬件、操作系统等平台和应用之间的通用服务。 (8) 位于客户和服务器之间,负责负载均衡、失效恢复等任务,以提高系统的整体性能。

(8)A.数据库访问中间件

B.面向消息中间件

C.分布式对象中间件

D.事务中间件

试题15分析

为了解决分布系统异构数据一致性的问题,人们提出了中间件的概念,中间件是位于硬件、操作系统等平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源,它位于客户机/服务器的操作系统之上,管理计算资源和网络通信。

中间件是位于硬件、操作系统等平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。不同的硬件及操作系统平台,可以有符合接口和协议规范的多种实现。中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源,它位于客户机/服务器的操作系统之上,管理计算机资源和网络通信。其主要目的是实现应用与平台的无关性。满足大量应用的需要、运行于多种硬件和操作系统平台、支持分布计算、提供跨网络/硬件/操作系统平台的应用或服务的透明交互、支持标准的协议、支持标准的接口,这些都是任何一类中间件所具备的特点。

中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通信机制满足不同领域的应用需要。因此,中间件为应用程序提供了一个相对稳定的高层应用环境。但是,中间件服务所应遵循的原则离实际还有很大距离。多数流行的中间件使用专有的API和专有的协议,使应用只能构建在单一厂家的产品之上,来自不同厂家的实现很难互操作。有些中间件只提供某些平台的实现,限制了应用在异构系统之间的移植。开发人员在这些中间件之上建立自己的应用还要承担相当大的风险,往往要面临许多设计选择,同时随着技术的发展还可能需要重写系统。

中间件包括的范围十分广泛,针对不同的应用需求有各种不同的中间件产品。从不同的角度对中间件的分类也会有所不同。通常将中间件分为数据库访问中间件、远程过程调用中间件、面向消息中间件、事务中间件、分布式对象中间件等几类。

(1)数据库访问中间件。数据库访问中间件通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。典型的技术如Windows平台的ODBC和Java平台的JDBC等。

(2)远程过程调用。远程过程调用(RPC)是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。事实上,一个RPC应用分为两个部分:服务器和客户。服务器提供一个或多个远程过程;客户向服务器发出远程调用。服务器和客户可以位于同一台计算机,也可以位于不同的计算机,甚至可以运行在不同的操作系统之上。客户和服务器之间的网络通信和数据转换通过代理程序(stub与skeleton)完成,从而屏蔽了不同的操作系统和网络协议。RPC为客户/服务器的分布计算提供了有力的支持。但是,RPC所提供的是基于过程的服务访问,客户与服务器进行直接连接,没有中间机构来处理请求,因此也具有一定的局限性。

(3)面向消息中间件。面向消息中间件(MOM)利用高效可靠的消息传递机制进行与平台无关的数据交流,并可基于数据通信进行分布系统的集成。通过提供消息传递和消息排队模型,可在分布环境下扩展进程间的通信,并支持多种通信协议、语言、应用程序、硬件和软件平台。典型的产品有IBM的MQSeries等。通过使用MOM,通信双方的程序(称其为消息客户程序)可以在不同的时间运行,程序不在网络上直接通话,而是间接地将消息放入MOM服务器的消息机制中。因为程序间没有直接的联系,所以它们不必同时运行:消息放入适当的队列时,目标程序不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。消息客户程序之间通过将消息放入消息队列或从消息队列中取出消息来进行通信。客户程序不直接与其他程序通信,避免了网络通信的复杂性。消息队列和网络通信的维护工作由MOM完成。

(4)分布式对象中间件。随着对象技术与分布式计算技术的发展,两者相互结合形成了分布式对象技术,并发展成为当今软件技术的主流方向。典型的产品如OMG的CORBA、Sun的RMI/EJB、Microsoft的DCOM等。OMG提出的对象请求代理(Object Request Broker,ORB)模型提供了一个通信框架,可以在异构分布计算环境中透明地传递对象请求。ORB是一种对象总线,定义了异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间客户/服务器关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地机器也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。客户对象并不知道同服务器对象通信、激活或存储服务器对象的机制,也不必知道服务器对象位于何处、是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统组成部分。

(5)事务中间件。也称事务处理监控器(Transaction Processing Monitor,TPM)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理也提出了需求。事务处理监控程序位于客户和服务器之间,完成事务管理与协调、负载平衡、失效恢复等任务,以提高系统的整体性能。典型产品有BEA的Tuxedo等。随着对象技术与事务技术的结合,近年还出现了一类新产品,即对象事务监控器(OTM),可以保证分布式对象的事务完整性,支持EJB的J2EE应用服务器就属于该类产品。事务处理监控器在操作系统之上提供了一组服务,可以对客户请求进行管理并为其分配相应的服务进程,使服务器在有限的系统资源下能够高效地为大量客户提供服务。

试题15参考答案

(8)D HVc3AvZHgze7empyUZr1qOtmRvCX5z8dPSVfpsFHsOlM453PTLKwxPcwRgm2TXAL

点击中间区域
呼出菜单
上一章
目录
下一章
×