扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
中间件这一概念是在应用架构(Application Architecture)的发展历程中,伴随着三层(3-Tiers)或多层(n-Tiers)结构应运而生的。在三层或多层结构出现之前,应用通常采用两层结构,即客户/表示层和服务器/数据层。为了解决交易问题、应用逻辑共用问题和松偶合问题,在客户/表示层和服务器/数据层之间引进了中间层,这就是中间件。通常,中间件分为交易中间件、应用中间件和消息中间件:
* 交易中间件:交易中间件的出现是为了解决交易(Transaction)的问题,特别是包含多个资源系统时的交易问题。交易中间件的典型例子就是Tuxedo和CICS。
* 应用中间件:应用中间件是三层(3-Tiers)或多层(n-Tiers)应用架构的核心部分,最典型的应用中间件是以CORBA和J2EE为基础的应用中间件。今天以J2EE为基础的应用中间件逐渐为业界广泛采用。
* 消息中间件:消息中间件是应运松偶合的概念而产生的中间件,主要以队列(Queue)和发布定阅(PUB/SUB)为消息传输机制。典型的产品有Vitria的Communicator和IBM的MQ等。
中间件定义:
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯。
中间件特点:
满足大量应用的需要 ;
运行于多种硬件和OS平台 ;
支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能 ;
支持标准的协议 ;
支持标准的接口。
中间件分类:
分为数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。
中间件保证了系统的异构性、扩展性和分布运行的可行性,但它们所解决的问题主要是具体应用的实现。
最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。国内在中间件领域的起步阶段正是整个世界范围内中间件的初创时期。东方通科技早在1992年就开始中间件的研究与开发,1993年推出第一个产品TongLINK/Q。可以说,在中间件领域国内的起步时间并不比国外晚多少。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者