在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。IDC对中间件的定义表明,中间件是一类软件
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
中科院软件所研究员仲萃豪形象地把中间件定义为:平台+通信。这个定义限定了只有用于分布式系统中的此类软件才能被称为中间件,同时此定义还可以把中间件与支撑软件和实用软件区分开来。
目前,中间件发展很快,已经与操作系统、数据库并列为三大基础软件。中间件主要分为以下几类:
1.通信处理(消息)中间件
此类中间件能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输(如Apusic MQ、IBM的MQ Series等)。这是中间件中唯一不可缺少的,是销售额最大的中间件产品。
2.交易中间件
在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。例如在北京市就要设置各种运载汽车,完成日常的运载,同时要随时监视汽车运行,出现故障时,要有排除措施,发生堵塞时要进行调度。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。BEA的Tuxedo由此而著名,它成为增长率最高的厂商。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件以及数据存取管理中间件三部分组成。
3.数据存取管理中间件
在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。
中间件简史
最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的 BEA公司收购。
尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。国内在中间件领域的起步阶段正是整个世界范围内中间件的初创时期。东方通科技早在1992年就开始中间件的研究与开发,1993年推出第一个产品TongLINK/Q。而中科院软件所、国防科技大学等研究机构也对中间件技术进行了同步研究。可以说,在中间件领域,国内的起步时间并不比国外晚多少。
在j2ee中就是tomcat 和 weblogic 等服务器软件
计算机技术迅速发展。从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是Internet及WWW的出现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题。
分享到:
相关推荐
这一节我们主要来学习一下什么是中间件,为什么使用中间件和主要中间件的分类。 中间件是什么 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ ...
一、什么是中间件? 中间件是一种独立的系统软件或服务程序,位于操作系统和应用软件之间,负责实现不同系统之间的互操作和数据交换。中间件的定义可以概括为:中间件是一类软件,负责实现不同系统之间的互操作和...
首先,让我们理解什么是中间件。中间件是一种软件,它位于操作系统和应用程序之间,提供一种抽象层,使开发人员可以更容易地访问系统资源和服务。例如,Apache HTTP Server是一种常用的Web服务器中间件,用于托管和...
首先,我们要理解什么是中间件。中间件是位于操作系统和应用程序之间的软件层,它提供了通用服务,使应用程序能够跨不同平台进行通信和数据交换。咏南DataSnap中间件就是这样的一个工具,它简化了服务端与客户端之间...
首先,我们来了解一下什么是中间件。中间件可以看作是位于操作系统和应用程序之间的软件层,它提供了一组服务,使开发人员能够跨越不同硬件和软件环境构建分布式应用。通过中间件,应用程序可以实现跨网络、跨平台的...
首先,我们要理解什么是中间件。中间件可以被看作是操作系统和应用程序之间的软件层,它提供服务,如数据通信、事务处理、安全性等。在数据库操作中,中间件可以简化与数据库的交互,处理连接管理、事务控制、错误...
首先,我们来理解什么是中间件。中间件可以被定义为一种软件,它位于操作系统和应用程序之间,提供共享服务和通信机制。它允许不同的组件或者服务之间相互通信,从而简化了复杂系统的集成和管理。在Web系统中,...
什么是中间件? 中间件分类,及说明举例什么是中间件? 中间件分类,及说明举例
中间件可以分为数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。 WebSphere 是 IBM 的一套软件产品,包括 WebSphere 应用服务器、WebSphere Studio 和 WebSphere Performance Pack。它...
首先,让我们理解什么是中间件。在Koa中,中间件是一个具有`async function`的函数,它接收两个参数:`ctx`(上下文)和`next`。`ctx`对象封装了请求和响应对象,而`next`函数则用于调用下一个中间件。中间件按照...
首先,我们要理解什么是中间件。中间件,顾名思义,是位于硬件和操作系统之间,为上层应用提供服务的一种软件。它起到了承上启下的作用,屏蔽了底层基础设施的复杂性,使得应用开发者可以更专注于业务逻辑,而不是...
中间件的分类有很多种, IDC 对中间件的分类包括:终端仿真 / 屏幕转换、数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。此外,还有新的分类方法,如底层中间件、高层中间件等。不同的...
无线移动中间件是中间件技术的一个重要分支,它主要应用于无线通信和移动计算环境中,起到连接手机操作系统与企业业务系统之间的桥梁作用。中间件技术的核心目标在于实现不同软件组件之间的通信和协同工作,而无线...
中创中间件是中国自主研发的一款重要软件产品,它在信息技术领域扮演着关键角色,尤其是在构建企业级应用系统中。中间件是一种软件服务,它提供了一种方式来连接不同的应用程序或者系统,使得它们能够相互通信、共享...
消息中间件是软件系统中的一种重要组件,它主要用于在分布式环境中传输数据,提供解耦、异步处理和可扩展性。在本主题中,我们将详细探讨消息中间件、其常见用例、涉及到的关键技术以及提供的功能。 首先,我们来看...
首先,我们要理解什么是中间件。中间件是一种位于操作系统和应用程序之间的软件,它提供服务给上层应用,同时抽象化了底层硬件和操作系统的复杂性,使得开发人员可以更专注于业务逻辑,提高开发效率和系统的可移植性...
#### 1.2 什么是中间件? 中间件(Middleware)是一种位于操作系统之上、应用程序之下的软件层,主要目的是解决不同操作系统或应用程序之间的兼容性和通信问题。它提供了一种标准化的方法来连接不同的应用程序,...
中间件部署手册 本手册详细介绍了中间件的部署过程,从服务器配置到中间件安装、节点配置、实例创建、应用部署等方面进行了详细的讲解。 一、服务器配置 在部署中间件之前,需要先配置服务器,包括设置主机名、...
国产化中间件行业深度分析 中间件概念: 中间件是连接底层基础软件与上层应用服务的枢纽,目的在于效率提升,面向的使用对象是上层应用开发者。狭义的中间件就是应用服务器软件,广义的中间件包括打包各类企业 IT ...
中间件是一种位于操作系统和应用程序之间的软件,它提供了一种服务,使得不同的应用程序可以在分布式环境中相互通信和协作。中间件可以被看作是构建大型、复杂系统的关键组件,它简化了开发过程,允许开发者专注于...