在分布异构环境中,通常存在多种硬件系统平台,而在这些硬件平台上往往存在各种各样的系统软件以及多种风格各异的用户界面,这些硬件系统平台有可能采用不同的网络协议和网络体系结构连接。怎样才能够把这些系统集成起来并开发新的应用?这是中间件要解决的问题。
上个世纪的“新”品
如果要追根溯源的话,最早具有中间件技术思想及功能的软件应该是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。
Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。近10年中,不少软件厂商纷纷涉足中间件领域,Oracle、IBM、BEA可以说是这一行业的巨头。
而如果从真正的概念上来讲,中间件(middleware)应该是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC表述的: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
要的就是灵活
根据定义,中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
其特点是满足大量应用的需要,运行于多种硬件和OS平台,支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互,支持标准的协议,支持标准的接口。由于标准接口对于可移植性和标准协议的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
文章来源于领测软件测试网 https://www.ltesting.net/