中间件的分类方法繁多,为了便于说明问题,且把中间件分为两大类:一类是底层中间件,用于支撑单个应用系统或解决单一类问题,包括事务处理中间件(TPM)、应用服务器(WAS)、消息中间件(MOM)、数据访问中间件(UDA)等;另一类是高层中间件,更多的用于系统整合,包括企业应用集成中间件(EAI Suites)、工作流中间件(Workflow)、门户中间件(Portal)等,它们通常会与多个应用系统打交道,在系统中的层次较高,并大多基于底层中间件运行。
◆ 数据访问中间件
数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。一个最典型的例子就是ODBC(开放数据库互连)。编写过数据库的网管朋友都知道,只要在ODBC中添加一个数据源,然后就可以直接在自己的应用程序中使用这个数据源,而不必关心目标数据库的实现原理、实现机制,甚至不必了解ODBC向应用程序提供了哪些应用程序接口API。
不过在数据库中间件处理模型中,数据库是信息存贮的核心单元,中间件完成通信的功能,这种方式虽然灵活,但并不适合于一些要求高性能处理的场合,因为它需要大量的数据通信,而且当网络发生故障时,系统将不能正常工作。
◆ 远程过程调用中间件(RPC)
远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。一个RPC应用分为两个部分:server和Client。server提供一个或多个远程过程;client向server发出远程调用。server和client可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的stub和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。RPC的灵活性使得它可以应用在更复杂的客户/服务器计算环境中。
但由于RPC一般用于应用程序之间的通信,而且采用的是同步通信方式,因此比较适合于不要求异步通信方式的小型、简单的应用系统,而对于一些大型的应用,往往需要考虑网络或者系统故障,处理并发操作、缓冲、流量控制以及进程同步等一系列复杂问题,这种方式就很难发挥其优势。
◆ 面向消息中间件(MOM)
面向消息中间件不象RPC机制那样流行,但越来越多的分布式应用采用消息中间件来构建,通过消息中间件来把应用扩展到不同的操作系统和不同的网络环境。
消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。另外消息中间件不会占用大量的网络带宽,可以跟踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。但是与远程过程调用相比,消息中间件不支持程序控制的传递。比较适用于需要在多个进程之间进行可靠的数据传送的分布式环境。
◆ 基于对象请求代理(ORB,Object Request Broker)的中间件
对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程语言无关的面向对象的RPC应用。从管理和封装的模式上看,对象请求代理和远过程调用有些类似,不过对象请求代理可以包含比远过程调用和消息中间件更复杂的信息,并且可以适用于非结构化的或者非关系型的数据。
目前有两种对象请求代理的标准,分别是CORBA和DCOM,这两种标准是相互竞争的,而且两者之间有很大的区别,这在一定程度上阻碍了对象请求代理中间件的标准化进程。
◆ 事务处理中间件(TPM)
事物处理中间件最初是作为联机事务处理应用的支撑环境。它提供联机事务处理所需要的通信、并发访问控制、事务控制、资源管理、安全管理和其它必要的服务,是针对复杂环境下分布式应用的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的API,程序员可以使用这个程序接口编写高速而且可靠的分布式应用程序。
事务处理中间件向用户提供一系列的服务,如应用管理,管理控制以及应用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等。
◆ 工作流中间件
工作流软件定位于支持商务流程的自动化,即能够方便地进行处理集成。这些工作流软件以消息中间件或Web应用服务器为底层支撑。建立在消息中间件之上的工作流软件一般都有Windows或Unix上的客户端,支持与Web应用服务器的集成,并提供使用浏览器获得工作列表、执行流程实例和监控管理工作流的能力。
总之,中间件是处于操作系统和应用程序之间的软件,在网络架构体系中,起着承上启下的作用。它不仅是快速构建网络应用的利器,而且能够全面提升系统集成能力。现在,中间件已与操作系统和数据库并驾齐驱,成为基础软件领域的三驾马车。
分享到:
相关推荐
中间件分类及标准.pdf
中间件分类PPT学习教案.pptx
中间件的分类.ppt 不错的
JAVA中间件配置标准
什么是中间件? 中间件分类,及说明举例什么是中间件? 中间件分类,及说明举例
火龙果软件工程技术中心 一、为什么要中间件计算机技术迅速发展。从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是Internet及WWW的出现,使计算机的应用范围更为...
本文介绍了中间件的定义、分类、主流中间件技术平台,分析了中间件技术面临的挑战,提出了中间件技术研究的几个发展趋势,即网格技术、面向移动计算、面向服务质量等。 关键词:中间件 分类 技术平台 发展趋势计算机...
两层结构与三层结构 中间件技术简介 什么是中间件 中间件的作用 中间件的分类 使用中间件带来的好处
中间件技术已经成为应用系统的支撑。相对于操作系统与数据库而言,中间件与应用系统的关系更为密切,因此,应用系统的发展与中间件技术的发展互为因果。应用系统的需求就是中间件技术发展的风向标。
中间件基础概述,作业的不错选择!希望对你有用!
本资源是对中间件的一个概述。包括 一、发展历史 二、中间件的概念 三、中间件的工作机制 四、中间件的功能及作用 五、中间件的特点 六、中间件的分类 七、中间件面临的问题 八、中间件的发展趋势
对中间件技术的综述:中间件的定义、功能和分类进行说明,概述中间件技术的现状和发展趋势
无线传感器网络作为一种新兴的技术,受到了学术界和工业界的广泛关注....面临的问题,对有关设计方法进行了分类评述,并对几种典型中间件进行了比较,最后从通信范式、QoS 支持和安全等方面提出了一些改进思路.
这一节我们主要来学习一下什么是中间件,为什么使用中间件和主要中间件的分类。 中间件是什么 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ ...
行业分类-设备装置-完整网络中间件运行支撑平台及异构中间件的集成方法.zip
行业分类-设备装置-分解中间件以供防盗版.zip
行业分类-设备装置-多媒体中间件中的安全管理方法和设备及其存储介质.zip
行业分类-设备装置-基于云平台的智能物流终端集成中间件.zip
看到目前各式各样RFID的应用,企业最想问的第一个问题是:“我要如何将我现有的系统与这些新的RFIDReader连接?”这个问题的本质是企业应用系统与硬件接口的问题。因此,通透性是整个应用的关键,正确抓取数据、确保...