文章目录
- 一、什么是中间件/li>
- 二、中间件的特征
-
- 1、平台化
- 2、应用支撑
- 3、软件复用
- 4、耦合关系
- 三、中间件的分类
-
- 1、底层中间件
- 2、高层中间件
一、什么是中间件/h1>
我们多少都会听到中间件的概念,但是到底什么是中间件对这个问题,应该说还没有一个标准的定义,或者说还没有完全取得学术界和产业界的共识。
顾名思义,中间件就是处于中间的软件。但这种不是从功能、或者特性来定义的概念,而是用位置来定义的名字,就容易被不同的人从不同角度赋予其不同的含义。
我国学术界一般认可的定义是:
中间件是指 络环境下处于操作系统、数据库等系统软件和应用软件之间的一种起连接作用的分布式软件,主要解决异构 络环境下分布式应用软件的互连与互操作问题,提供标准接口、协议,屏蔽实现细节,提高应用系统易移植性。
-
中间件处于操作系统软件与用户的应用软件的中间,处于操作系统、 络和数据库之上,应用软件的下层。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。形象地说就是上下之间的中间。
-
此外,中间件主要为 络分布式计算环境提供通信服务、交换服务、语义互操作服务等系统之间的协同集成服务,解决系统之间的互连互通问题。形象地说就是所谓左右之间的中间。
-
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
-
中间件已经与操作系统、数据库软件一样,成为计算机基础软件的重要组成部分。

二、中间件的特征
总结分析,中间件有几个非常重要的特征是必须具备的:
1、平台化
所谓平台就是能够独立运行并自主存在,为其所支撑的上层系统和应用提供运行所依赖的环境。
因此,目前许多的开发语言、组件库和各种 表设计之类的软件,很难满足平台性,将这类软件叫中间件,是很不合适的。
例如,JAVA是一种语言,这种语言的开发工具和开发框架,如 Eclipse、JBuilder、Struts,Hibernate 等等就不能称为中间件,充其量叫中间件开发工具,而不能叫中间件本身。而J2EE应用服务器提供JAVA应用的运行环境,就是经典的中间件。
2、应用支撑
中间件的最终目的是解决上层应用系统的问题,而且也是软件技术发展到今天对应用软件提供最完善彻底的解决方案。
3、软件复用
即软件的重用,也叫再用,是指同一事物不作修改或稍加改动就多次重复使用。从软件复用技术的发展来看,就是不断提升抽象级别,扩大复用范围。
现代中间件的发展重要趋势就是以服务为核心,如 WebService, SCA/SDO等。通过服务或服务组件来实现更高层次的复用、解耦和互操作,即SOA架构中间件。
4、耦合关系
基于SOA(Service-Oriented Architecture)架构的中间件,在松耦合解耦过程也发展到了最后的境界。SOA架构,通过服务的封装,实现了业务逻辑与 络连接、数据转换等进行完全的解耦。
三、中间件的分类
现在,中间件已经成为 络应用系统开发、集成、部署、运行和管理必不可少的工具。
中间件分为两大类:底层中间件、高层中间件。
1、底层中间件
用于支撑单个应用系统或解决单一类问题,包括交易中间件(TPM)、应用服务器(WAS)、消息中间件(MOM)、 数据访问中间件(UDA)等;
2、高层中间件
更多用于系统整合,包括企业应用集成中间件(EAI Suites)、工作流中间件(Workflow)、门户中间件(Portal)等。
它们通常会与多个应用系统打交道,在系统中的层次较高,并大多基于底层中间件运行。
种类 | 作用 | 典型产品 |
---|---|---|
数据访问中间件 | 数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。一个最典型的例子就是ODBC(开放数据库互连)。 只要在ODBC中添加一个数据源,然后就可以直接在自己的应用程序中使用这个数据源,而不必关心目标数据库的实现原理、实现机制,甚至不必了解ODBC向应用程序提供了哪些应用程序接口API。 |
ODBC、JDBC等 |
远程过程调用中间件(RPC) | 远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。 | |
消息中间件 MOM | 适用于任何需要进行 络通信的系统,负责建立 络通信的通道,进行数据或文件发送。 消息中间件的一个重要作用是可以实现跨平台操作,为不同操作系统上的应用软件集成提供服务。 |
IBM的MQSeries、BEA的MessageQ等 |
交易中间件 | 适用于联机交易处理系统,主要功能是管理分布于不同计算机上的数据的一致性,保障系统处理能力的效率与均衡负载。交易中间件所遵循的主要标准是x/open dtp模型。 | IBM的CISC、BEA的Tuxedo等 |
应用服务器 | 用来构造internet/intranet应用和其它分布式构件应用,是企业实施电子商务的基础设施。应用服务器一般是基于j2ee工业标准的。 | IBM的Websphere 、BEA的Weblogic等 |
安全中间件 | 以公钥基础设施(pki)为核心的、建立在一系列相关国际安全标准之上的一个开放式应用开发平台,向上为应用系统提供开发接口,向下提供统一的密码算法接口及各种ic卡、安全芯片等设备的驱动接口。 | Entrust、Tongsec等 |
应用集成服务器 | 把工作流和应用开发技术如消息及分布式构件结合在一起,使处理能方便自动地和构件、应用、工作流行为结合在一起,同时集成文档和电子邮件。 | LSS Flowman、 IBM Flowmark、Vitria businessagiliti 等 |
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8596 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!