Appearance
考点清单
- [x] COP(面向构件编程)基本支持 ✅ 2026-05-15
- [x] CORBA 体系结构 ✅ 2026-05-15
- [x] EJB 三种 Bean 类型 ✅ 2026-05-15
- [x] J2EE 五种构件模型 ✅ 2026-05-15
- [x] 中间件基本功能 ✅ 2026-05-15
- [x] 中间件分类与位置 ✅ 2026-05-15
- [x] 构件核心特性与标准 ✅ 2026-05-15
笔记
COP 基本支持
🎯 一句话结论:COP 的四个基本支持是多态性、模块封装性、后期绑定和装载、安全性。
面向构件编程关注如何构建面向构件的解决方案,需要语言级和运行环境级的支持,核心是让构件能够独立开发、独立部署、动态组装。
CORBA 体系结构
🎯 一句话结论:CORBA 的"软总线"是 ORB(对象请求代理),真正干活的是 Servant(伺服对象),协调底层传输的是 POA(可移植对象适配器)。
| 组件 | 职责 | 记忆口诀 |
|---|---|---|
| ORB | 对象请求代理,软总线,负责传递请求 | 总调度 |
| Servant | CORBA 对象的真正实现,完成客户端请求 | 干活的 |
| POA | 在底层传输平台与接收调用并返回结果的对象实现之间协调 | 中间协调员 |
| 适配器激活器 | 管理 POA 的生命周期 | 管 POA 的 |
CORBA 由 OMG 组织制定,支持跨语言、跨平台分布式对象集成。
EJB 三种 Bean
🎯 一句话结论:Session Bean(会话交互)→ Entity Bean(数据持久化)→ Message-Driven Bean(异步消息)。
| 类型 | 功能 | 关键特征 |
|---|---|---|
| 会话型 Bean (Session Bean) | 完成服务端与客户端的交互 | 维护短暂会话,会话结束数据消失 |
| 实体型 Bean (Entity Bean) | 数据持久化,简化数据库开发 | 持久化数据 |
| 消息驱动 Bean (Message-Driven Bean) | 处理并发和异步访问操作 | ⚠️ 异步接收消息(不是同步!) |
J2EE 五种构件模型
🎯 一句话结论:J2EE 的五种构件模型是 Applet、Servlet、JSP、EJB、Application Client。
| 构件 | 运行位置 |
|---|---|
| Applet | 客户端浏览器 |
| Application Client | 客户端 |
| Servlet | 服务端 |
| JSP | 服务端 |
| EJB | 服务端业务逻辑 |
⚠️ 常见混淆:JNDI、IIOP、RMI 是通信协议/API,不是构件模型;JDBC 是数据库 API;JCA 是连接器架构。
中间件基本功能
🎯 一句话结论:中间件的三大基本功能 — 连接和通信、交易管理机制(事务一致性)、负载均衡和高可用性。
| 功能 | 说明 |
|---|---|
| 连接和通信 | 为客户端和服务器之间提供连接和通信 |
| 交易管理机制 | 保证交易的一致性 |
| 负载均衡和高可用性 | 提供应用的负载均衡和高可用性 |
中间件位置:操作系统之上、应用软件之下(OS → 中间件 → 应用)。
中间件分类
🎯 一句话结论:通信中间件实现跨平台通信,事务中间件实现并发事务处理,Web 服务器中间件提供 Web 运行时容器(非数据加密)。
| 类型 | 主要功能 | 示例 |
|---|---|---|
| 通信(消息)中间件 | 保证系统在不同平台之间通信 | — |
| 事务中间件 | 并发事务处理 | — |
| Web 服务器中间件 | 提供 Web 应用的运行时环境 | Tomcat |
| 安全中间件 | 加密和认证 | — |
⚠️ 易错:Tomcat 是 Web 服务器中间件(提供运行时容器),不是做数据加密的。
构件核心特性
🎯 一句话结论:构件是自包容的程序集,必须通过接口访问,不能直接操作内部,包含一组需要同时部署的原子构件。
| 特性 | 说明 |
|---|---|
| 自包容 | 构件是自包容的程序集 |
| 接口访问 | 构件必须通过接口访问,封装内部实现 |
| 可重用 | 构件具有可重用性 |
| 部署 | 构件可单独部署,原子构件不能单独部署 |
| 不可直接操作内部 | ❌ 不能直接操作构件内部实现 |
构件三大标准对比
| 标准 | 制定组织 | 特点 |
|---|---|---|
| CORBA | OMG | 跨语言、跨平台分布式对象集成 |
| COM/DCOM | Microsoft | Windows 平台构件标准 |
| EJB | Sun/Oracle | Java 企业级构件 |
拓展理解
场景类比
想象盖楼:
- 没有构件 → 每块砖现场烧制,尺寸不一,没法复用
- 有了构件 → 标准砖块,买来直接拼,换一块不影响整面墙
- 没有中间件 → 水管电线焊死,一楼改水路二楼全停
- 有了中间件 → 统一管道井,各层接进去互不干扰
| 类比 | → | 软件概念 |
|---|---|---|
| 标准砖块 | → | 构件(带接口的黑盒子,可复用可独立部署) |
| 管道井 | → | 中间件(OS之上应用之下,屏蔽底层差异) |
速记卡
| 概念 | 一句话记 | 稍微展开 |
|---|---|---|
| COP 四支持 | 多态 + 封装 + 动态绑定 + 安全 | 同一接口不同实现 / 内部隐藏 / 运行时加载 / 权限控制 |
| CORBA | ORB(总线)+Servant(干活)+POA(协调) | OMG制定,跨语言跨平台;ORB收请求路由,Servant实现业务,POA协调传输 |
| EJB 三种 | Session(会话)+Entity(持久化)+Message(异步) | Session挂电话消失 / Entity重启还在 / Message异步不等回信 |
| J2EE 构件 | Applet / Servlet / JSP / EJB / Application Client | Applet和Client跑客户端,Servlet/JSP/EJB跑服务端;JNDI/IIOP/RMI/JDBC是API不是构件 |
| 中间件功能 | 连接通信 + 交易管理 + 负载均衡 | 跨平台传数据 / 事务全做或全回滚 / 分摊请求防单点 |
| 中间件分类 | 通信 / 事务 / Web / 安全 | ⚠️ Tomcat是Web中间件(提供运行时容器),不是做加密的 |
练习题
[Q4] COP基本支持
面向构件的编程(COP)关注于如何支持建立面向构件的解决方案。面向构件的编程所需要的基本支持包括( )。
- A. 继承性、构件管理和绑定、构件标识、访问控制
- B. 封装性、信息隐藏、独立部署、模块安全性
- C. 多态性、模块封装性、后期绑定和装载、安全性
- D. 构件抽象、可替代性、类型安全性、事务管理
答案与解析
答案:C
解析:COP四个基本支持=多态性+模块封装性+后期绑定和装载+安全性。B选项的封装性没错,但缺少多态性和后期绑定和装载,且混入了"独立部署"(这是构件特性,不是COP语言级支持)。
[Q6] 构件描述
关于构件的描述,正确的是( )。
- A. 构件包含了一组需要同时部署的原子构件
- B. 构件可以单独部署,原子构件不能被单独部署
- C. 一个原子构件可以同时在多个构件家族中共享
- D. 一个模块可以看作带有单独资源的原子构件
答案与解析
答案:A
解析:构件(Component)和原子构件(Atomic Component)的关系:
- 构件 = 包含一组需同时部署的原子构件,可单独部署
- 原子构件 = 构件内部的组成单元,不能单独部署(必须和同组其他原子构件一起部署)
- ❌ B说法本身没错但不够精确——如果构件只含一个原子构件,该原子构件本身也就是构件,可单独部署
- ❌ C原子构件不能同时在多个构件家族中共享(共享应通过接口实现)
- ❌ D"模块"是代码组织单位,"原子构件"是部署单位,两者维度不同
记忆:构件=整包快递(可单独寄),原子构件=包裹里的物品(不能单独寄,要整包走)
理解两个概念
┌──────────────────────────┐
│ 构件 │
│ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │原子 │ │原子 │ │原子 │ │ ← 一组原子构件打包在一起
│ │构件A │ │构件B │ │构件C │ │ 必须同时部署
│ └─────┘ └─────┘ └─────┘ │
└──────────────────────────┘
可以单独部署 ✓ 不可单独部署 ❌- 构件(Component):自包容的程序集,可以单独部署
- 原子构件(Atomic Component):构件内部的组成单元,不能单独部署,必须和同组的其他原子构件一起部署
[Q80] 构件特性
关于软件构件的特性,下列说法错误的是( )。
- A. 构件是自包容的程序集
- B. 构件必须通过接口访问
- C. 可以直接操作构件内部
- D. 构件具有可重用性
答案与解析
答案:C
解析:构件封装内部实现,不能直接操作内部,必须通过接口访问。
[Q12] CORBA伺服对象
CORBA服务端构件模型中,( )是CORBA对象的真正实现,负责完成客户端请求。
- A. 伺服对象(Servant)
- B. 对象适配器(Object Adapter)
- C. 对象请求代理(Object Request Broker)
- D. 适配器激活器(Adapter Activator)
答案与解析
答案:A
解析:Servant=真正干活的(工人),负责完成客户端请求。三者分工:ORB(快递总站)=接收请求并路由;POA(调度员)=协调底层传输与Servant对接;Servant(工人)=最终执行业务逻辑。
[Q5] CORBA POA
CORBA构件模型中,( )的作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调。
- A. 伺服对象激活器
- B. 适配器激活器
- C. 伺服对象定位器
- D. 可移植对象适配器POA
答案与解析
答案:D
解析:POA(可移植对象适配器)=在底层传输平台与接收调用并返回结果的对象实现(Servant)之间进行协调。打个比方:ORB=快递总站,Servant=工人,POA=调度员,协调网络传输和工人之间的对接。
[Q79] CORBA软总线
CORBA架构中,作为"软总线"的是( )。
- A. 公共设施
- B. 公共对象服务
- C. 对象请求代理
- D. 对象适配器
答案与解析
答案:C
解析:ORB(对象请求代理)=CORBA核心,相当于"软总线",负责透明传递请求,将客户端调用路由到服务端的Servant。
[Q108] CORBA标准
在软件构件标准中,由OMG组织制定,支持跨语言、跨平台分布式对象集成的标准是( )。
- A. COM/DCOM
- B. CORBA
- C. EJB
- D. Spring Bean
答案与解析
答案:B
解析:CORBA(OMG制定)=跨语言跨平台;COM/DCOM(Microsoft)=Windows平台;EJB(Sun)=Java平台。
[Q11] EJB会话构件
EJB是企业级Java构件。其中,( )负责完成服务端与客户端的交互;( )用于数据持久化;( )主要用来处理并发和异步访问操作。
- A. 会话型构件
- B. 实体型构件
- C. COM构件
- D. 消息驱动构件
答案与解析
答案:A
解析:三空对应:(1)会话型Bean=完成服务端与客户端的交互;(2)实体型Bean=数据持久化;(3)消息驱动Bean=处理并发和异步访问操作。
比喻:Session=客服(挂电话消失),Entity=档案柜(持久化),Message=信箱(异步不等回信)。
[Q58] 消息驱动Bean
J2EE中的"消息驱动Bean"用于处理( )。
- A. 数据库事务
- B. HTTP请求
- C. 异步消息
- D. 用户界面事件
答案与解析
答案:C
解析:消息驱动Bean(Message-Driven Bean)=处理异步消息(JMS)。
[Q78] EJB Bean类型
关于EJB中Bean的类型,下列说法错误的是( )。
- A. Session Bean维护短暂会话
- B. Entity Bean负责持久化数据
- C. Message-Driven Bean只能同步接收消息
- D. Session Bean在会话结束后数据消失
答案与解析
答案:C
解析:Message-Driven Bean(消息驱动Bean)是异步接收消息的,发信人不用等回信。C说"只能同步接收"正好说反了。Session=同步交互(挂电话消失),Entity=持久化(重启还在),Message=异步(不等回信)。
[Q13] J2EE构件模型
J2EE应用系统支持五种不同类型的构件模型,包括( )。
- A. Applet、JFC、JSP、Servlet、EJB
- B. JNDI、IIOP、RMI、EJB、JSP/Servlet
- C. JDBC、EJB、JSP、Servlet、JCA
- D. Applet、Servlet、JSP、EJB、Application Client
答案与解析
答案:D
解析:J2EE五种构件模型=Applet、Servlet、JSP、EJB、Application Client。
❌ B选项(JNDI、IIOP、RMI)是通信协议/API,不是构件模型;
❌ C选项(JDBC、JCA)也是API/连接器架构,不是构件。
记忆口诀:Applet+Client跑客户端,Servlet+JSP+EJB跑服务端。
[Q41] 中间件-通信
中间件是提供平台和应用之间的通用服务。中间件的基本功能包括:为客户端和服务器之间提供(1);提供(2)保证交易的一致性;提供应用的(3)。
- A. 连接和通信
- B. 应用程序接口
- C. 通信协议支持
- D. 数据交换标准
答案与解析
答案:A
解析:中间件三大功能:连接和通信、交易管理、负载均衡和高可用。
[Q42] 中间件-交易管理
同上。提供( )保证交易的一致性。
- A. 安全控制机制
- B. 交易管理机制
- C. 标准消息格式
- D. 数据映射机制
答案与解析
答案:B
解析:交易管理机制保证事务一致性(ACID)。
[Q43] 中间件-负载均衡
同上。提供应用的( )。
- A. 基础硬件平台
- B. 操作系统服务
- C. 网络和数据库
- D. 负载均衡和高可用性
答案与解析
答案:D
解析:中间件提供应用的负载均衡和高可用性。
[Q50] Tomcat
Tomcat中间件的主要功能是( )。
- A. 管理分布式数据库
- B. 提供Web应用的运行时环境
- C. 实现消息队列
- D. 加密网络传输
答案与解析
答案:B
解析:Tomcat=Web服务器中间件(Servlet/JSP容器),提供Web应用的运行时环境。
⚠️ 易错:Tomcat不是做数据加密的——加密是安全中间件的职责。
[Q53] 通信中间件
以下( )是通信处理(消息)中间件的主要功能。
- A. 实现事务的协调处理
- B. 保证系统能在不同平台之间通信
- C. 提供Web程序执行的运行时容器
- D. 屏蔽操作系统的安全缺陷
答案与解析
答案:B
解析:通信(消息)中间件的主要功能=保证系统在不同平台之间通信。
❌ A=事务中间件(并发事务处理)
❌ C=Web服务器中间件(运行时容器,如Tomcat)
❌ D=屏蔽操作系统安全缺陷?安全中间件是管加密和认证的,不是"屏蔽缺陷"。
[Q81] 中间件类型
下列关于中间件类型的描述,错误的是( )。
- A. 通信中间件用于实现跨平台数据传输
- B. 事务中间件用于实现并发事务处理
- C. Web服务器中间件主要用于数据加密
- D. 安全中间件提供加密和认证功能
答案与解析
答案:C
解析:Web服务器中间件提供运行时容器(如Tomcat),不是用来做数据加密的。
[Q82] 中间件位置
在软件系统架构中,中间件位于( )。
- A. 应用软件之上
- B. 操作系统之下
- C. 操作系统之上且应用软件之下
- D. 与操作系统同层
答案与解析
答案:C
解析:层次结构:OS → 中间件 → 应用。中间件在OS之上、应用之下。