中间件是什么(中间件的定义)
中间件是一种连接软件组件和应用程序的计算机软件,它包括一组服务。以便在一台或多台机器上运行的多个软件可以通过网络进行交互。该技术提供的互操作性促进了一致分布式架构的演进,通常用于支持和简化复杂的分布式应用,包括web服务器、事务监视器和消息队列软件。
中间件是一种基础软件,属于可重用软件的范畴。顾名思义,中间件处于操作系统软件和用户应用软件的中间。
中间件在操作系统、网络和数据库之上,在应用软件的底层。其总体功能是为上层运行开发应用软件提供环境,帮助用户灵活高效地开发集成复杂的应用软件。在众多中间件的定义中,IDC的说法被普遍接受:中间件是一种独立的系统软件或服务程序,分布式应用软件以此在不同技术之间共享资源,中间件位于客户端服务器的操作系统上,管理计算资源和网络通信。
IDC对中间件的定义表明,中间件是一种软件,而不是一种软件;中间件不仅实现了互连,还实现了应用之间的互操作;中间件是基于分布式处理的软件,其最突出的特点是网络通信功能。
中间件是平台(硬件和操作系统)和应用之间的通用服务。如图1所示,这些服务有标准的程序接口和协议。根据不同的操作系统和硬件平台,它们可以有多种符合接口和协议规范的实现。
图1中间件的概念模型图
可能很难给中间件下一个严格的定义,但是中间件应该具有以下特征:
(1)满足大量应用的需求;
②运行在各种硬件和OS平台上;
③支持分布式计算,提供跨网络、硬件、OS平台的透明应用或服务交互;
④支持标准协议;
⑤支持标准接口。
由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已经成为许多标准化工作的主要部分。对于应用软件开发来说,中间件远比操作系统和网络服务重要。中间件提供的程序接口定义了一个相对稳定的高层应用环境。无论底层计算机硬件和系统软件如何更新,只要中间件升级,中间件的外部接口定义不变,应用软件几乎不需要任何修改,保护了企业在应用软件开发和维护上的重大投资。