中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。国内在中间件领域的起步阶段正是整个世界范围内中间件的初创时期。东方通科技早在1992年就开始中间件的研究与开发,1993年推出第一个产品TongLINK/Q。可以说,在中间件领域国内的起步时间并不比国外晚多少。
世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性:
· 缩短应用的开发周期
· 节约应用的开发成本
· 减少系统初期的建设成本
· 降低应用开发的失败率
· 保护已有的投资
· 简化应用集成
· 减少维护费用
· 提高应用的开发质量
· 保证技术进步的连续性
· 增强应用的生命力
具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。Standish的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济大发展、电子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。
其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。
分享到:
相关推荐
实习一远程过程调用中间件及数据访问中间件定义.pdf
本文实例讲述了Django框架中间件定义与使用方法。分享给大家供大家参考,具体如下: 1. 定义 Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件...
中间件是一种独立的服务程序,分布式应用软件借助中间件在不同的技术之间共享资源。由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的...中科院软件所研究员仲萃豪形象地把中间件定义为:平台+通信。
中间件在学术界和产业界均得到长期、广泛的研究与实践,尽管目前尚没有统一的中间件定义,但对于中间件的意义与内涵已有基本共识。如,IEEE的分布系统专家组认为“中间件通过提供简单、一致、集成的分布编程环境,...
HttpInterface 尝试为HttpInterface和中间件定义标准。 @ claudio-dalicandro的贡献。
把内存缓存中间件和log4net日志中间件定义到当前程序中以实现对SqlsugarSetup类和SeedDataMiddleware类的完整定义所需要的依赖。
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件...本文介绍了中间件技术的主要关注点,理论上预计带来的益处,对中间件定义的探讨,以及机顶盒中间件研讨等等。
中间件的定义是一个独立的系统软件或服务程序,应用于客户机、服务器的操作系统,管理计算机资源和网络通信。 物联网中间件的关键技术包括远程过程调用中间件、面向消息的中间件、对象请求代理中间件等。这些中间件...
中间件的定义是独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件的作用是保证网络中各部件(软件和硬件)之间透明地连接,即隐藏网络部件的异构性,尤其保证不同网络、不同...
MHP的技术特点是定义了机顶盒中间件的整体结构、传送协议、内容格式、Java虚拟机和DVB-J APIs、安全性、各层的细节、应用状态和表现、应用的自动启动等,还定义了专用的应用信令。MHP的架构分为三层:资源层、系统...
中标麒麟高级服务器操作系统V6.5安装东方通5.0中间件操作及配置手册定义.pdf
长期以来,中间件是一个专业化非常强的细分产业。因为中间件的技术门槛比较高,玩家也不多,无论是国外...另一方面,因为中间件软件还处于发展阶段,还没有完全成熟,因此对中间件的定义也就没有深究,或者权威的说法
对中间件技术的综述:中间件的定义、功能和分类进行说明,概述中间件技术的现状和发展趋势
为此中间件定义一个规则作为第一个参数。 如果http请求的参数与此规则不匹配,http将以400状态代码和详细的错误消息进行响应。 安装 npm install koa-paramcheck 例 const Koa = require ( 'koa' ) ; const { ...
koa给前端发送请求,定义中间件处理请求并使用
nopCommerce_4.4功能实现详解第6个示例程序
通上述定义可以直接看出EntityFrameworkCore中间件是对Microsoft.Data.SqlClient中间件的进一步的定义和封装,实际上SqlSugar/FluentMigrator中间件也是对Microsoft.Data.SqlClient中间件的进一步的定义和封装,所以...
(1)异构数据库集成中间件的定义 (2)异构数据库集成中间件的理论意义 (3)异构数据库集成中间件的工程意义 三、XML、JAVA以及在异构数据库集成中的应用 1.XML技术 (1)XML概述 (2)XML的结构 (3)XML的语法 (4)为何...