中间件

有时会听到“中间件”这个词,不懂,隐约地觉得很高大上。我直觉那是个跟小型机、UNIX/LINUX、JAVA等牵扯在一起的东东。

一、究竟啥是中间件?

网络上竟然找不到一个确切的定义。总结起来,中间件是一种独立的软件,位于两个或多个系统之间,起联结通信、数据处理作用。(在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

二、中间件有以下特征或优点:
1、独立性。
中间件独立存在。是运行时刻的系统软件,为上层的网络应用系统提供一个运行环境,并通过标准的接口和API来隔离其支撑的系统,实现独立性。

例如j2ee应用服务器,提供JAVA应用的运行环境,是经典的中间件。

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

3、复用
这个好理解。

4、松耦合
利于整个系统结构逻辑分离,解耦。

5、互操作性
中间件通过标准化API和接口,实现了不同系统(同类或异构)之间的调用互操作。
这里写图片描述

三、中间件与SOA的关系
基于中间件的定义和作用,让人觉得它很像SOA。那么二者是啥关系?

SOA与中间件的关系最为紧密,可以理解为鱼与水的关系。这种关系包括两层意思:一是说采用中间件产品可以很好的构建SOA的应用;再就是采用中间件产品开发出来的应用,将很容易被整合进SOA架构。

据说,中间件将成为SOA的主要实现平台。

参考文章:
未来中间件 操作系统 数据库走向融合

中间件与SOA的关系

原文地址:https://www.cnblogs.com/leftfist/p/6808723.html