中间件的分类
中间件的分类方法繁多,为了便于说明问题,且把中间件分为两大类:一类是底层中间件,用于支撑单个应用系统或解决单一类问题,包括事务处理中间件(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应用服务器的集成,并提供使用浏览器获得工作列表、执行流程实例和监控管理工作流的能力。
总之,中间件是处于操作系统和应用程序之间的软件,在网络架构体系中,起着承上启下的作用。它不仅是快速构建网络应用的利器,而且能够全面提升系统集成能力。现在,中间件已与操作系统和数据库并驾齐驱,成为基础软件领域的三驾马车。
分享到:
相关推荐
中间件分类及标准 中间件是一类特殊的软件,位于操作系统和应用软件之间,负责实现不同系统之间的互操作和数据交换。随着信息技术的发展,中间件的重要性日益凸显,已经成为当前软件技术的热点。鉴于中间件的定义和...
在“中间件分类PPT学习教案”中,主要讲解了多种类型的中间件及其典型应用场景。 首先,数据库访问中间件是连接应用程序和数据库的关键组件,它允许通过单一的接口访问多种异构数据库。例如,在电子政务平台或学生...
中间件的种类多样,可以根据其功能和应用场景进行分类。 在电信行业中,例如10000号客服系统,中间件可能用于处理大量的并发通话和数据交互,确保服务的高效和稳定。航空订票呼叫中心控制电话呼入呼出,这里的...
1. **中间件的基本概念**:了解中间件的作用、分类和特性。 2. **中间件架构**:分析中间件的内部结构和工作原理。 3. **中间件的选择与评估**:根据业务需求选择合适的中间件产品,并进行性能评估。 4. **中间件的...
1. **中间件分类**: - **消息中间件**:如IBM的MQSeries,负责在不同的应用间传递消息,实现异步通信。 - **数据库中间件**:如Oracle Data Access Component (ODAC),允许应用程序访问多种数据库系统。 - **...
中间件分类基于目的和实现机制的不同,我们将平台分为终端仿真中间件、数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。每种类型的中间件都有其特点和应用场景。 中间件的应用场景非常...
2. **中间件分类**: - **消息中间件(MOM)**:如IBM的MQSeries,用于异步通信,确保消息的可靠传输。 - **数据库中间件**:提供数据库访问的抽象层,简化数据访问。 - **远程过程调用中间件(RPC)**:允许跨...
Java中间件是构建大型分布式应用程序的关键组成部分,它们提供服务、管理资源、处理并发以及实现其他高级功能。在Java开发环境中,正确配置中间件是确保系统性能、稳定性和可扩展性的基础。以下是一些关于"JAVA...
什么是中间件? 中间件分类,及说明举例什么是中间件? 中间件分类,及说明举例
#### 三、中间件分类 中间件可以根据其主要功能分为不同的类型: - **应用服务器**:主要用于运行Web应用,如Oracle WebLogic Server。 - **事务处理平台**:专门用于处理高并发、高性能的事务,如Oracle Tuxedo。...
【物联网中间件分类】主要包括远程过程调用中间件(RPC)、面向消息中间件(MOM)和对象请求代理中间件(ORB)。这些中间件各有侧重,例如RPC用于远程调用,MOM通过消息传递实现解耦,ORB则用于对象间的交互。 ...
2. 中间件分类: 根据IDC的分类,中间件可以分为以下六类: - 终端仿真/屏幕转换中间件,用于实现图形用户界面与字符接口服务器应用的互操作。 - 数据访问中间件,允许应用直接访问和更新服务器数据源,基于SQL,...
#### 三、Express中间件分类 Express中间件主要分为以下几类: ##### 1. 内置中间件 Express提供了几个内置中间件来简化常见的任务,如静态文件服务(`express.static`)等。例如: ```javascript app.use(express....
#### 三、中间件分类 ##### 1. 内置中间件 Express 提供了一些内置中间件来处理常见的任务。其中最常用的内置中间件是 `express.static`,用于提供静态文件服务。它能够自动处理静态文件(如 HTML、CSS、...
中间件的分类有很多种, IDC 对中间件的分类包括:终端仿真 / 屏幕转换、数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。此外,还有新的分类方法,如底层中间件、高层中间件等。不同的...
#### 主要中间件分类 中间件根据其目的和实现机制的不同,可以大致分为以下几类: 1. **远程过程调用 (RPC)**:提供了一种简单的远程执行函数的方法,允许开发者像调用本地函数一样调用远程机器上的函数。 2. **...
移动中间件的分类则主要分为客户端移动中间件和企业级移动中间件。客户端移动中间件主要解决手机应用开发中跨终端问题和快速开发问题,而企业级移动中间件立足于企业信息化的困扰,提供跨业务的中间化支撑平台,不仅...
中间件的类型按照IDC的分类方法,可以分为六类:终端仿真/屏幕转换、数据访问中间件(UDA)、远程过程调用中间件(RPC)、消息中间件(MOM)、交易中间件(TPM)和对象中间件。这些分类体现了中间件在不同应用场景中...
"中间件技术相关产品分类及其发展趋势" 中间件技术已经成为应用系统的支撑,相对于操作系统与数据库而言,中间件与应用系统的关系更为密切,因此,应用系统的发展与中间件技术的发展互为因果。应用系统的需求就是...
火龙果软件工程技术中心 一、为什么要中间件计算机技术迅速发展。从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是Internet及WWW的出现,使计算机的应用范围更为...