中间件
(middleware)
定义:
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或os环境。
中间件特点:
满足大量应用的需要;
运行于多种硬件和os平台;
支持分布式计算,提供跨网络、硬件和os平台的透明性的应用或服务的交互功能;
支持标准的协议;
支持标准的接口。
中间件可以应用于以下情形,如连接公司lan和早期系统、交换两个邮件系统间的信息、支持web客户机与数据库服务器交换信息等。通用中间件类型包括:
·企业服务总线(esb:enterpriseservicebus):esb是一种开放的、基于标准的分布式同步或异步信息传递中间件。通过xml、web服务接口以及标准化基于规则的路由选择文档等支持,esb为企业应用程序提供安全互用性。
·事务处理(tp:transactionprocessing)监控器:为发生在对象间的事务处理提供监控功能,以确保操作成功实现。
·分布式计算环境(dce:distributedcomputingenvironment):指创建运行在不同平台上的分布式应用程序所需的一组技术服务。
·远程过程调用(rpc:remoteprocedurecall):指客户机向服务器发送关于运行某程序的请求时所需的标准。
·对象请求代理(orb:objectrequestbroker):为用户提供与其他分布式网络环境中对象通信的接口。
·数据库访问中间件(databaseaccessmiddleware):支持用户访问各种操作系统或应用程序中的数据库。sql是该类中间件的其中一种。
·信息传递(messagepassing):电子邮件系统是该类中间件的其中一种。
·基于xml的中间件(xml-basedmiddleware):xml允许开发人员为实现在internet中交换结构化信息而创建文档。
最早具有中间件技术思想及功能的软件是ibm的cics,但由于cics不是分布式环境的产物,因此人们一般把tuxedo作为第一个严格意义上的中间件产品。tuxedo是1984年在当时属于at&&t的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,tuxedo在很长一段时期里只是实验室产品,后来被novell收购,在经过novell并不成功的商业推广之后,1995年被现在的bea公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。bea公司1995年成立后收购tuxedo才成为一个真正的中间件厂商,ibm的中间件mqseries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。国内在中间件领域的起步阶段正是整个世界范围内中间件的初创时期。东方通科技早在1992年就开始中间件的研究与开发,1993年推出第一个产品tonglink/q。而中科院软件所、国防科技大学等研究机构也对中间件技术进行了同步研究。可以说,在中间件领域,国内的起步时间并不比国外晚多少。