中间件为上层应用程序提供运行和开发环境,处于操作系统、网络和数据库之上。对中间件比较受认同的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
有以上定义可知,中间件是一类软件而不是某一种软件。中间件的作用不仅仅要实现软件组件之间的互联,还要能实现应用之间互操作(interoperability),在分布式处理的软件中广泛应用,其突出的功能是网络通信。
中间件按类型主要分为:消息中间件和交易中间件。
对象请求代理负责Client和Server对象之间通信的中间件。