中间件(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用户同样是赢家,并且是更有把握的赢家。
其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。
分享到:
相关推荐
远程过程调用中间件及数据访问中间件定义 本资源摘要信息是关于远程过程调用中间件和数据访问中间件的定义和实践。远程过程调用中间件是指在分布式系统中,允许不同的应用程序之间进行通信和交互的中间件。数据访问...
本文实例讲述了Django框架中间件定义与使用方法。分享给大家供大家参考,具体如下: 1. 定义 Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件...
这篇讨论主要聚焦于"尝试为HttpInterface和中间件定义标准",这意味着我们正在探索一种通用的方法来设计和实现HTTP客户端和服务器之间的交互。这个话题由@claudio-dalicandro提出,可能涉及到如何在PHP环境中规范化...
中间件定义 中间件是指位于操作系统和应用软件之间的一种软件层,提供了各种通用功能和服务,帮助应用软件更好地与操作系统和其他应用软件进行交互和集成。中间件的出现使得应用软件开发变得更简单、更快捷和更灵活...
2. 中间件定义:中间件是指位于操作系统和应用程序之间的软件层次,提供了多种功能性服务,例如消息队列、身份验证、事务管理等。中间件起到重要支撑作用,云原生时代中间件的发展对加速云原生技术落地有着积极作用...
首先,中间件定义了对象及其接口。在分布式系统中,每个独立的对象由数据类型和相关操作组成。中间件负责定义这些数据类型和操作,并进行持久性数据管理。对象管理和对象数据管理组件使得数据对象在传输和存储时具有...
中间件定义为独立的系统程序,它位于感知设备和应用之间,起到数据处理、通信协调的作用,确保不同接口的系统能够相互沟通。 中间件在物联网中的作用至关重要,它为物联网的感知层提供了硬件和网络平台的抽象,使得...
中间件定义为一种软件,它位于操作系统之上,应用程序之下,提供了标准服务来支持跨平台的分布式应用。中间件的分类包括:消息中间件、交易中间件、对象中间件、数据库中间件、Web中间件等。 3. **中间件优点** ...
中间件定义** 中间件是一种位于操作系统和应用软件之间的软件层,它提供了不同应用之间进行通信的能力。这种通信可以是进程间通信、网络通信或者是数据库访问等。中间件的主要作用在于简化应用程序的开发和部署过程...
中间件在学术界和产业界均得到长期、广泛的研究与实践,尽管目前尚没有统一的中间件定义,但对于中间件的意义与内涵已有基本共识。如,IEEE的分布系统专家组认为“中间件通过提供简单、一致、集成的分布编程环境,...
1. 中间件定义:它是一种独立的软件,连接两个不同的应用程序或系统,使得不同接口的应用能通过中间件进行信息交换,主要通过信息传递实现功能。 2. 中间件示意图:通常表现为一个位于客户端和服务器之间的层,处理...
1. **中间件定义**: - 中间件是一种独立的系统软件,它管理和协调计算机资源和网络通信。 - 它的主要功能是连接两个不同的应用程序或系统,即使它们的接口各异,也能实现信息的交互。 - 中间件的核心在于提供...
1. **中间件定义**:中间件是位于系统软件(如操作系统和网络软件)与应用软件之间的一种软件层。它的主要功能是使不同的应用软件能够跨越网络进行协作工作,即使这些应用软件所依赖的操作系统、通信协议、数据库等...
#### 1.1 消息中间件定义 消息中间件是一种用于实现不同应用程序之间通信的软件,它能够确保数据在不同系统之间的可靠传输。消息中间件通常提供了一种异步处理机制,使得发送者无需等待接收者的响应即可继续执行...
【中间件定义】中间件是一种独立的系统软件,它位于操作系统和应用程序之间,负责管理和协调计算资源与网络通信。通过中间件,不同接口的系统和应用能够互相通信,主要依赖于信息传递这一核心机制。 【物联网中间件...
#### 一、中间件定义及作用 中间件是一种设计用于帮助管理和解决分布式系统中的复杂性和异构性问题的软件技术。它被定义为位于操作系统之上、应用程序之下的软件层,为分布式系统提供一个通用的编程抽象层,如图1所...
1. **中间件定义**: 中间件是一种平台独立的软件,它为开发和运行分布式应用程序提供了标准接口和环境。通过中间件,开发者可以专注于业务逻辑,而不用过于关心底层系统的复杂性。 2. **中间件类型**: - **消息...