中间件技术概述.doc

上传人:灯火****19 文档编号:135038086 上传时间:2020-06-11 格式:DOC 页数:17 大小:240.51KB
返回 下载 相关 举报
中间件技术概述.doc_第1页
第1页 / 共17页
中间件技术概述.doc_第2页
第2页 / 共17页
中间件技术概述.doc_第3页
第3页 / 共17页
中间件技术概述.doc_第4页
第4页 / 共17页
中间件技术概述.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《中间件技术概述.doc》由会员分享,可在线阅读,更多相关《中间件技术概述.doc(17页珍藏版)》请在金锄头文库上搜索。

1、中间件技术概述摘要:中间件是一类连接软件组件和应用的计算机软件,它包括一组服务,以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进。中间件技术屏蔽了底层分布式环境的复杂性和异构性,简化了分布式应用程序的开发,使分布式应用程序的健壮性、可扩展性、可用性更好。该架构通常用于支持分布式应用程序并简化其复杂度,它包括web服务器、事务监控器和消息队列软件。关键词:中间件;应用程序;分布式体系;架构目录1.引言22.中间件分类33.研究现状53.1.技术现状63.2.产品与市场现状103.3.现状分析114.发展趋势125.思考与探讨135.1

2、.关于中间件发展驱动力的思考135.2.关于中间件未来趋势的探讨156.总结171. 引言一般说来,中间件有两层含义。从狭义的角度,中间件意指Middleware,它是表示网络环境下处于操作系统等系统软件和应用软件之间的一种起连接作用的分布式软件,通过API的形式提供一组软件服务,可使得网络环境下的若干进程、程序或应用可以方便的交流信息和有效的进行交互与协同。简言之,中间件主要解决异构网络环境下分布式应用软件的通信、互操作和协同问题,它可屏蔽并发控制、事务管理和网络通信等各种实现细节,提高应用系统的易移植性、适应性和可靠性。从广义的角度,中间件在某种意义上可以理解为中间层软件,通常是指处于系统

3、软件和应用软件之间的中间层次的软件,其主要目的是对应用软件的开发提供更为直接和有效的支撑。中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来,如图1所示。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和

4、网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。本文余下部分组织为:第2章介绍了中间件的分类;第3章介绍中间件研究现状,包括中间件封装的分布应用开发共性问题、主要的中间件技术与产品、现有中间件实现关键技术以及中间件国内外市场;第4章通过中间件研究热点阐述其发展趋势;第5章考察中间件发展驱动力并据此预测中间件的未来趋势;第6章总结全文2. 中间件分类中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。但至今中间

5、件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。中间件大致可以分为六类。1) 终端仿真/屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作。图1. 中间件位置2) 数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,这类中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。3) 远程过程调用中间件:通过这种远程过程调用机制

6、,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程。4) 消息中间件:用来屏蔽掉各种平台及协议之间的特性,实现在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,实现应用程序之间的协同。5) 交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台。在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。在联机事务处理系统 (OLTP) 中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并

7、发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。6) 对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用,在这个方面遵循的标准是 CORBA。对象中间件将是未来的主流, 目前产品如东方通的TONG BROKER,INPRICE 公司的Borland Application Server。在客户/服务器模式向多层结构迁移的过程中,中间件技术得到了迅速发展和广泛的应用。传统中间件通常提供通信和事务处理功能,包括数据访问中间件、远程过程调用、面向对象、组件的

8、中间件,基于消息的中间件等多种类型,相关技术规范也日趋成熟。而目前,随着电子商务的兴起和企业信息化建设的深入,中间件已不再仅仅实现客户机服务器的互连,还实现应用之间的互操作,也就是数据和应用的集成。从系统层次的角度,可以把当前的中间件软件归纳为四类,从下至上依次为传统通信中间件、应用服务器、企业应用集成中间件和业务过程管理工具。其中前两种又合称为基础中间件,因为它们通常支撑单个应用系统或解决单一类问题,与平台软件,如操作系统、数据库管理系统等,结合紧密;后两种属于应用中间件的范畴,更多用于系统整合,与行业应用系统联系紧密。应用中间件通常会与多个应用系统打交道,位于系统中较高的层次,并大多基于底

9、层中间件运行。传统中间件发展时间较长,作为基础平台软件,具有一定的通用性,实现技术也较为复杂。该类别中囊括了多种实现机制,相关标准也比较完备。由于是高层中间件运行的基础,因而仍然占据主体地位。应用服务器在企业信息化建设中得到了广泛应用,是设计、开发、部署、运行和管理Internet 电子商务的平台。企业应用集成中间件帮助企业集成各种新老应用程序,使它们能够跨平台互通,在企业资源规划中扮演着重要角色。正是应用服务器和企业应用集成中间件的出现改变了中间件的作用,使其从一个联结分布式应用各组成部分的通信工具,变成了一个集成工具,从而也提升了中间件的地位和重要性。据预测,未来几年增长率最高的中间件将集

10、中在应用服务器和应用集成中间件上。业务过程管理工具帮助企业管理业务活动,为过程的产出增值,这一类工具中最突出的是工作流管理中间件。3. 研究现状中间件的主旨是简化分布系统的构造,其基本思想是:抽取分布系统构造中的共性问题,封装这些共性问题的解决机制,对外提供简单统一的接口,从而减少开发人员在解决这些共性问题时的难度和工作量。在构造分布系统的过程中,开发人员经常会遇到网络通信、同步、激活/去活、并发、可靠性、事务性、容错性、安全性、伸缩性、异构性等问题。中间件正是辅助应用开发者解决这些问题的软件系统,一般提供如下功能:1) 通信支持大多数基于中间件的系统包含有分布式操作,也就是说,系统需要于其它

11、分布式服务或系统进行交互。现代操作系统一般提供一组网络操作的编程接口(如套接字),中间件则提供通信支持以屏蔽这组底层、复杂的接口。基于中间件的应用分布式交互主要包括远程过程调用(Remote Procedure Call,RPC)和消息两种方式。2) 并发支持分布式应用系统一般需要具有较强的处理能力,也就是说,系统可以处理很多的客户请求。为尽量利用硬件的计算能力,一般系统实现时采用并发技术(如多进程或多线程),对多个客户请求同时进行处理。但并发技术的使用是一个复杂而且容易出错的过程:并发执行的程序单元之间可能会互相影响、竞争资源,也可能会产生系统内部状态的不一致。因此,应用程序使用并发技术后,

12、其自身复杂度会有很大提高。中间件为应用系统提供并发支持,是指提供一种“单线程”或“单进程”的编程模型,开发者在开发系统时,无需考虑并发对程序的影响,可以假设程序是串行执行的,从而极大的简化了程序开发和维护的复杂度,也减少了程序出错的可能性。3) 公共服务公共服务是对应用中共性功能或约束的抽取。中间件提供一个或一组公共服务,供系统使用,这组公共服务不特定于某一种或某一类系统;应用系统在实现和运行时直接使用这些公共服务。公共服务的好处在于一方面将应用中的共性抽取出来由中间件实现,减少了系统开发的工作量;另一方面使得应用开发者更能关注业务功能的需求、设计和实现,有助于提高软件质量。不同中间件中提供的

13、公共服务有可能存在差别,其中主要的公共服务包括:名字和目录服务,提供动态的查找功能,应用系统可以在运行时刻按照名字或目录查找需要使用或进行交互的其它系统或系统组成部分。事务服务,提供对应用操作事务性的保证,包括声明型的自动完成事务的启动、提交或回滚,和编程型的事务接口由应用程序控制事务流程。另外,很多中间件还提供分布式的事务支持。安全服务,从通信、访问控制等多个层次上保证应用系统的安全特性。持久化服务,提供一种管理机制,应用系统可以管理其持久化的数据。例如,在基于面向对象方法设计和实现的系统中完成对象关系映射,将对象存储到关系型数据库中。3.1. 技术现状中间件技术是在克服复杂网络应用的共性问

14、题中不断发展和壮大起来的,这些问题可以归纳为四个方面:a) 从计算环境来看:中间件面对的是一个复杂、不断变化的计算环境,要求中间件技术具有足够的灵活性和可成长性;b) 从资源管理的角度来看:操作系统和数据库管理系统管理的是有限资源,资源种类有限,资源量也有限,而中间件需要管理的资源类型(数据、服务、应用)更丰富,且资源扩展的边界是发散的;c) 从应用支撑角度来看:中间件需要提供分布应用开发、集成、部署和运行管理的整个生命周期的总体运行模型;d) 从应用的角度来看:利用中间件完成的往往是复杂、大范围的企业级应用,其关系错综复杂,流程交织。例如客户关系管理系统需要集成多个企业内部应用,而供应链管理

15、则涉及企业之间的应用集成。因此,由于网络应用的复杂性,特别是分布、异构和自治等特点,决定了中间件技术和产品的形态多样性。目前的中间件技术已经形成一个丰富的谱系(图1),并正在向上(应用框架和普适服务)和向下(融合操作系统、数据库管理系统的功能)两个方向不断延伸,并在向更宽广的应用领域拓展。随着分布式应用的快速发展,各种中间件技术和产品不断涌现。由于中间件技术和产品正在快速的发展,要精确的给出其完整的分类目前尚有一定的困难。因此下文主要对一些典型的中间件技术和产品加以介绍。1. 事务式中间件(Transactional Middleware)事务式中间件又称事务处理管理程序(Transactio

16、n Processing Monitor)。其主要功能是提供联机事务处理所需要的通信、并发访问控制、事务控制、资源管理、安全管理和其他必要的服务。事务式中间件由于其可靠性高、性能优越等特点而得到了广泛的应用,是一类比较成熟的中间件,其主要产品包括IBM的CICS,BEA的Tuxedo,和Transarc的Encina等。2. 过程式中间件(Procedural Middleware)过程式中间件又称远程过程调用(Remote Procedure Calls, RPCs)中间件。远程过程调用模型是经典的过程调用思想在网络环境下自然拓广。过程式中间件使得一个主机上的应用可以在网络环境下用过程调用的方式来调用部署在另一个主机上的应用中的过程。新近发展起来的一项技术是XML RPC,它使得在Internet异构环境下应用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号