什么是中间件
软件可以分为应用软件和系统软件两类,像QQ、微信这种直接给用户提供服务的就是应用软件,而系统软件则是为应用软件提供系统服务
中间件是一类构件,也是一类系统软件
主要作用:简化结构,屏蔽差异,利于复用
中间件的技术优点
- 面向需求。让开发人员集中精力于业务逻辑本身。
- 业务的分隔和包容性。应用开发人员可以按照不同的业务进行功能的划分,体现为不同的接口或交互模式。
- 设计与实现隔离。构件对外发生作用或构件间的交互,都是通过接口进行的,构件使用者只需要知道构件的接口,而不必关心其内部实现,这是设计与实现分离的关键。
- 隔离复杂的系统资源。架构很重要的一个功能就是将系统资源与应用构件隔离,这是保证构件可复用甚至“即插即用”的基础,与中间件的意图也是一致的。
- 符合标准的交互模型。中间件则实现了架构的模型,实现了标准的协议。
- 软件复用。中间件提供了构件封装、交互规则、与环境的隔离等机制,这些都为软件复用提供了方便的解决方案。
- 提供对应用构件的管理。基于中间件的软件可以方便地进行管理,因为构件总可以通过标识机制进行划分。
中间件分类
| 中间件分类 | 特点 |
|---|---|
| 通信处理(消息)中间件 | 可靠、高效、实时跨平台通信,eLink,MQSeries |
| 事务处理(交易)中间件 | 事务分发,负载均衡,Tuxedo |
| 数据存取管理中间件 | 为虚拟缓冲存取、格式转换、解压等带来方便 |
| Web服务器中间件 | 有负载均衡、缓存、安全性等功能 |
| 安全中间件 | 加密,认证等 |
| 跨平台和架构的中间件 | 解决跨平台问题,如:CORBA |
| 专用平台中间件 | 为特定应用领域设计领域参考模式,建立相应架构 |
| 网络中间件 | 功能包括网管、接入、网络测试、虚拟社区和虚拟缓冲等 |