什么是中间件?中间件指什么?

中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。 在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。

基于目的和实现机制的不同,我们将平台分为以下主要几类:

远程过程调用(Remote Procedure Call)---分布式计算环境(DCE)的基础标准成分之一,提供了Client(调用程序)和Server(被调用过程)间的同步数据交换.

面向消息的中间件(Message-Oriented Middleware)--构造分布式应用的松耦合方法,最大的特点心异步。

对象请求代理(Object Request Brokers)--基于CORBA的面向对象工业标准与事务处理(TP)监控技术的组合,在CORBA规范中定义了:使用面向对象技术和方法的体系结构;公共的Client/Server程序设计接口;多平台间传输和翻译数据的指导方针;开发分布式应用接口的语言(IDL)等,并为构造分布的Client/Server应用提供了广泛及一致的模式.

在技术方面,中间件产品趋于成熟和稳定,越发符合相关技术规范。经过多年的发展和演进,中间件产品的分类和层次也日益清晰。

如果按照功能或应用的领域,大约可以分为:分布式对象中间件、应用服务器、消息中间件、事务/交易处理中间件(如IBM的CICS)、应用集成中间件、

数据库中间件、财务中间件、无线移动中间件等,从产品结构方面来看,目前应用服务器和消息服务器中间件产品占有量居前2位.

应用服务器主要包括我们IBM WebSphere,BEA Weblogic以及JBOSS,TOMCAT等.

消息中间件主要有IBM MQ,开源有ActiveMQ,openJMS等。

国内也有好几家中间件公司,比如金蝶等。