中间件概述

  • 产生背景
  • 概念定义
  • 基本功能
  • 通信支持
  • 应用支持
  • 公共服务


产生背景

近年来,随着计算机的快速发展,越来越多的应用软件需要在不同的网络协议、不同的硬件生产厂商以及不一样的网络平台和环境上运营。这导致了软件开发者需要面临数据离散、操作困难、系统匹配程度低,以及需要开发多种应用程序来达到运营的目的。中间件技术的产生,在极大程度上减轻了开发者的负担,使得网络的运行更有效率。个人理解,中间件在操作系统、网络和数据库之上,应用软件的之下,是为处于自己上层的应用软件提供运行与开发环境,帮助用户灵活、高效地开发和集成复杂的应用软件的,其出现类似于Java中的JVM存在的意义——即向上提供统一接口,以运行Java编译后的统一的.class文件。

概念定义

介于操作系统和应用程序之间的一类软件,目前还没有严格的定义,百度百科给出的是IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

基本功能

中间件是独立的系统级软件,负责连接操作系统层和应用程序层,使不同操作系统的应用接口标准化,协议统一化,屏蔽具体操作的细节,中间件一般提供如下功能:

通信支持

中间件为其所支持的应用软件提供平台化的统一运行环境,从而屏蔽底层通信之间的接口差异,实现互操作。通信支持是中间件一个最基本的功能。早期应用与分布式的中间件交互的主要通信方式是远程调用和消息两种。通信模块中,远程调用通过网络进行通信,通过支持数据的转换和通信服务,从而屏蔽不同的操作系统和网络协议。远程调用是提供给予过程的服务访问,为上层系统只提供非常简单的编程接口或过程调用模型。消息提供异步交互的机制。

应用支持

中间件的目的就是服务上层应用,提供应用层不同服务之间的互操作机制。它为上层应用开发提供统一的平台和运行环境,封装下层操作系统的不同API接口,来向应用提供统一接口,使应用的开发和运行与操作系统无关,实现其独立性,以简化开发工作的复杂性。中间件松耦合的结构,标准的封装服务和接口,有效的互操作机制,从而给应用结构化和开发方法提供有力的支持。

公共服务

公共服务是对应用软件中用到的?共性功能或约束进行提取。将这些共性的功能或者约束分类实现,并支持复用,作为公共服务提供给应用程序使用。通过提供标准、统一的公共服务,可减少上层应用的开发工作量,缩短应用的开发时间,并有助于提供应用软件的质量。

仍待进一步完善