在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设计、管理,复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全,等等。这些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出能不能将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软件。


中间件特点
满足大量应用的需要 ;
运行于多种硬件和OS平台 ;
支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能 ;
支持标准的协议 ;
支持标准的接口。



中间件分类:
分为数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等

https://blog.51cto.com/infosec/113328