一、章节概述
中间件是处于操作系统、网络、数据库之上,应用软件之下的基础软件,用于解决分布异构环境下系统集成与互操作问题。本章围绕中间件技术展开,介绍其概念、分类、典型产品(MQSeries、Tuxedo),以及 J2EE、.NET 两大企业级开发平台、企业应用集成 EAI,并对比 Struts+Spring+Hibernate 轻量级架构与 EJB 重量级架构。理解本章有助于在分布式系统中合理选型与分层。
二、知识结构框架
15.1 中间件技术
概念 / 分类(8类) / 产品(MQSeries、Tuxedo)
概念 / 分类(8类) / 产品(MQSeries、Tuxedo)
15.2 应用服务器技术
概念 / 主要应用服务器
概念 / 主要应用服务器
15.3 J2EE
表示层 / 应用服务层
表示层 / 应用服务层
15.4 .NET
.NET 平台 / .NET 框架(CLR、CTS)
.NET 平台 / .NET 框架(CLR、CTS)
15.5 企业应用集成 EAI
数据集成 / 应用集成 / 业务过程集成
数据集成 / 应用集成 / 业务过程集成
15.6 轻量级 vs 重量级
Struts / Spring / Hibernate / SSH 架构
Struts / Spring / Hibernate / SSH 架构
三、核心概念
1. 中间件定义
中间件是独立系统软件/服务程序,位于操作系统之上、应用之下,屏蔽底层异构性,提供标准接口与协议,支持跨网络、跨平台透明交互。Standish Group 归纳其十大优越性,其中总建设费用可减少约 50%。
2. 中间件八大分类
| 类别 | 说明/代表产品 |
|---|---|
| 通信处理(消息)中间件 | 跨平台可靠传输;MQSeries、TongLINK |
| 事务处理(交易)中间件 | OLTP、负载均衡、永不停机;BEA Tuxedo |
| 数据存取管理中间件 | 虚拟缓冲、格式转换、解压 |
| Web 服务器中间件 | 扩展 HTTP 会话能力;SilverStream |
| 安全中间件 | 加密、认证、防火墙国产化 |
| 跨平台和架构的中间件 | CORBA / JavaBeans / COM+ |
| 专用平台中间件 | 特定领域(电商、网站)构件库 |
| 网络中间件 | 网管、接入、虚拟社区 |
3. J2EE 与 .NET 对比
- J2EE:跨平台、语言单一(Java),表示层用 Servlet/JSP,应用服务层用 EJB,体现"一次编写到处运行"。
- .NET:平台绑定 Windows,但支持多语言(C#、VB.NET);核心是 .NET 框架,包含 CLR(公共语言运行时)和 FCL,采用 CTS 实现语言互操作。
4. 企业应用集成 EAI
集成层次由低到高:数据集成 → 应用集成 → 业务过程集成。代表有 ESB、EJB、Web Service。
5. 轻量级架构 SSH
- Struts:表示层 MVC 框架,ActionServlet 控制器解析 struts-config.xml。
- Spring:业务层,IoC 延时注入 + AOP 切面,封装 Hibernate 会话工厂与事务。
- Hibernate:持久层 ORM,使用 HQL 查询对象,支持主流数据库。
四、关键要点(无公式章节)
本章以概念识记与对比为主,核心关系如下:
- 中间件三层位置:OS/网络/DB ← 中间件 ← 应用软件
- MQSeries 保证异步可靠传输,Tuxedo 保证事务完整性。
- SSH 架构分层:表示层 Struts + 业务层 Spring + 持久层 Hibernate。
- J2EE = 跨平台 + 单语言;.NET = 单平台 + 多语言。
五、图示引用
图15-1 中间件的位置
图15-12 SSH 轻量级架构
中间件八大分类及代表产品是高频考点;J2EE 与 .NET 的特点对比(跨平台/多语言)需准确区分;SSH 架构中三个框架的分层职责(Struts 表示层、Spring 业务层、Hibernate 持久层)务必记牢;轻量级 vs 重量级架构的优劣势对比易出选择题。