当前位置:文档之家› 中间件技术

中间件技术

中间件技术
定义:
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件。

相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。

执行中间件的一个关键途径是信息传递。

通过中间件,应用程序可以工作于多平台或 OS 环境。

中间件处于操作系统软件与用户的应用软件的中间。

中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

中间件特点:
•满足大量应用的需要;
•运行于多种硬件和OS平台;
•支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能;
•支持标准的协议;
•支持标准的接口。

由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。

基于目的和实现机
制的不同,我们将平台分为以下主要几类:
•远程过程调用中间件(Remote Procedure Call)
•面向消息的中间件(MesSAge-Oriented Middleware)
•对象请求代理中间件(object RequeST Brokers)
•事务处理监控(Transaction processing monitors)
1、远程过程调用
远程过程调用是一种广泛使用的分布式应用程序处理方法。

一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。

事实上,一个RPC应用分为两个部分:server和client。

server 提供一个或多个远程过程;client向server发出远程调用。

server和client 可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。

它们通过网络进行通讯。

2、面向消息的中间件
MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。

目前流行的MOM中间件产品有IBM的MQSeries、BEA的MessageQ等。

3、对象请求代理
对象请求代理(ORB)是对象总线,它在CORBA规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。

ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地也可以位于远程机器。

ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。

client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。

4、事务处理监控
事务处理监控(TPM)最早出现在大型机上,为其提供支持大规模事务处理
的可靠运行环境。

随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。

事务处理监控界于client 和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。

它可以被看作是事务处理应用程序的“操作系统”。

总体上来说,事务处理监控有以下功能:
•进程管理,包括启动server进程、为其分配任务、监控其执行并对负载进行平衡。

•事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。

•通讯管理,为client和server之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。

中间件分为两大类:
一类是底层中间件,用于支撑单个应用系统或解决单一类问题,包括交易中间件(TPM)、应用服务器(WAS)、消息中间件(MOM)、数据访问中间件(UDA)等。

另一类是高层中间件,更多用于系统整合,包括企业应用集成中间件(EAI Suites)、工作流中间件(Workflow)、门户中间件(Portal)等,它们通常会与多个应用系统打交道,在系统中的层次较高,并大多基于底层中间件运行。

面临的一些问题:
中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。

因此,中间件为应用程序了一个相对稳定的高层应用环境。

然而,中间件服务也并非“万能药”。

中间件所应遵循的一些原则离实际还有很大距离。

多数流行的中间件服务使用专有的API和专有的协议,使得应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。

有些中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。

中间件技术是在克服复杂网络应用的共性问题中不断发展和壮大起来的,这些问题可以归纳为四个方面:
1、从计算环境来看:中间件面对的是一个复杂、不断变化的计算环境,要求中间件技术具有足够的灵活性和可成长性。

2、从资源管理的角度来看:操作系统和数据库管理系统管理的是有限资源,资源种类有限,资源量也有限,而中间件需要管理的资源类型(数据、服务、应用)更丰富,且资源扩展的边界是发散的。

3、从应用支撑角度来看:中间件需要提供分布应用开发、集成、部署和运行管理的整个生命周期的总体运行模型。

4、从应用的角度来看:利用中间件完成的往往是复杂、大范围的企业级应用,其关系错综复杂,流程交织。

例如客户关系管理系统需要集成多个企业内部应用,而供应链管理则涉及企业之间的应用集成。

我国中间件产业在2004年呈现出如下发展特点:
技术多样化:由于中间件技术涉及网络应用的各个层面,涵盖从基础通讯、数据访问、业务流程集成到应用展现等众多的环节,因此,中间件技术呈现出多样化的发展特点。

产品平台化:中间件产品从解决网络计算中的关键问题开始向一体化平台方向发展,以提高中间件产品的使用便利性,更全面地满足各种网络应用软件所要求的可靠性、可伸缩性和安全性的需要。

应用普及化:中间件技术已经是成熟的技术。

我国大型信息化建设项目采纳中间件已经成为一种自然、例行的举措。

中间件的广泛使用,也进一步促进了应用框架技术的丰富和发展,并为建立企业信息化业务基础架构奠定了基础。

发展方向:
中间件技术的发展方向,将聚焦于消除信息孤岛,推动无边界信息流,支撑开放、动态、多变的互联网环境中的复杂应用系统,实现对分布于互联网之上的各种自治信息资源(计算资源、数据资源、服务资源、软件资源)的简单、标准、快速、灵活、可信、高效能及低成本的集成、协同和综合利用,提高组织的IT 基础设施的业务敏捷性,降低总体运维成本,促进IT与业务之间的匹配。

中间件技术正在呈现出业务化、服务化、一体化、虚拟化等诸多新的重要发展趋势。

WEB服务器
WEB服务器也称为WWW服务器,主要功能是提供网上信息浏览服务。

Web 服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。

确切一点,Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。

(1)应用层使用HTTP协议。

(2)HTML文档格式。

(3)浏览器统一资源定位器(URL)。

Web服务器可以解析(handles)HTTP协议:
当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应
(response),例如送回一个HTML页面。

为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI 脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。

无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。

Web服务器的代理模型
Web服务器的代理模型(delegation model)非常简单。

当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(译者注:服务器端脚本)。

Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。

服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。

相关主题