exam markdown 技术组件与中间件总结
MD 更新:未知
技术组件与中间件 · 知识点总结
综合整理自: 构件与中间件、大数据分层架构
知识图谱
技术组件与中间件
├── 1. 软件构件
│ ├── 概念与特征
│ ├── 构件 vs 模块 vs 对象
│ ├── 三大构件标准(CORBA / J2EE EJB / DNA 2000)
│ ├── 构件复用流程
│ └── 构件分类
├── 2. 中间件
│ ├── 概念与优点
│ ├── 中间件分类(6种)
│ └── CORBA 架构详解
└── 3. 大数据分层架构 ⭐⭐
├── 数据源层
├── 数据采集层(ETL)
├── 数据存储层
├── 数据分析层
└── 数据应用层
一、软件构件
1.1 概念
软件构件是一种组装单元,具有:
- 规范的接口
- 显式的语境依赖
- 可独立部署和替换
- 通过接口访问
一句话定义: 系统中有价值、可以独立并替换的一个部分,是一个独立发布的功能部分。
1.2 构件 vs 模块 vs 对象 ⭐
| 维度 | 模块 | 对象 | 构件 |
|---|
| 开发范式 | 结构化开发 | 面向对象开发 | 组件化开发 |
| 基本单位 | 功能模块 | 实例单元 | 独立部署单元 |
| 标识 | 模块名 | 唯一标志 | 接口契约 |
| 状态 | 无明确概念 | 有状态,外部可见 | 无外部状态 |
| 部署 | 不独立 | 不独立 | 独立部署 |
| 组装 | 函数调用 | 方法调用 | 第三方组装 |
记忆要点:
- 模块 = 结构化产物,不独立部署
- 对象 = 有状态,有唯一标识
- 构件 = 独立部署,无外部状态,可第三方组装
1.3 三大构件标准
| 标准 | 全称 | 说明 |
|---|
| CORBA | Common Object Request Broker Architecture | 公共对象请求代理,跨平台 |
| J2EE EJB | Enterprise JavaBean | Java企业级构件标准 |
| DNA 2000 | Distributed interNet Application | 微软分布式应用架构 |
J2EE EJB 三种 Bean
| Bean 类型 | 职责 |
|---|
| 会话 Bean | 实现业务逻辑 |
| 实体 Bean | 实现 O/R 映射(对象关系映射) |
| 消息驱动 Bean | 处理并发与异步访问 |
1.4 构件复用流程 ⭐
检索与提取构件 → 理解与评估构件 → 修改构件 → 组装构件
检索与提取构件(三种方法)
| 方法 | 特点 |
|---|
| 关键字检索 | 树状图或回路图结构,关键字展开 |
| 刻面检索法 | 利用 Facet 描述构件,分多个刻面(应用领域、使用环境等) |
| 超文本检索法 | 按人类思维方式找说明文档 |
理解与评价构件
构件开发遵循公共标准,评价维度:
- 构件的功能与行为
- 相关领域知识
- 可适应的约束性条件
- 可预见的修改
组装构件(三种技术)
| 组装技术 | 说明 |
|---|
| 基于功能的组装 | 按功能需求组装 |
| 基于数据的组装 | 按数据流组装 |
| 面向对象的组装 | 按对象关系组装 |
1.5 构件分类
| 类型 | 说明 | 示例 |
|---|
| 独立而成熟的构件 | 完全独立,无依赖 | 数据库管理系统、操作系统 |
| 有限的构件 | 会产生资源冲突、覆盖 | 基础库 |
| 适应性构件 | 处理不兼容和资源问题 | ActiveX |
| 装配构件 | 用于组装其他构件 | 框架组件 |
| 可修改构件 | 支持定制化修改 | 插件 |
二、中间件
2.1 概念
中间件是一种独立的系统软件或服务程序,帮助分布式应用软件在不同技术之间共享资源。
2.2 优点
| 优点 | 说明 |
|---|
| 简化结构 | 降低系统复杂度 |
| 屏蔽差异 | 屏蔽底层平台和技术差异 |
| 利于复用 | 提供构件封装和交互规则 |
2.3 六大特性
| 特性 | 说明 |
|---|
| 面向需求 | 集中于业务逻辑本身 |
| 业务分隔和包容性 | 按不同业务划分功能,体现为不同接口或交互模式 |
| 设计与实现隔离 | 交互全由接口进行 |
| 隔离复杂的系统资源 | 将系统资源与应用构件隔离 |
| 符合标准的交互模型 | 实现标准协议 |
| 软件复用 | 提供构件封装、交互规则 |
2.4 中间件分类 ⭐
| 分类 | 特点 | 典型产品 |
|---|
| 通信处理 | 可靠高效实时的跨平台传输 | eLink、MQ |
| 事务处理 | 事务分发、负载均衡 | Tuexdo |
| 数据存取 | 虚拟缓冲存取 | ODBC、JDBC |
| Web | 负载均衡、缓存、安全 | Tomcat、Nginx |
| 安全 | 加密、认证 | SSL中间件 |
| 跨平台 | 跨平台互操作 | CORBA |
2.5 CORBA 架构详解 ⭐⭐
CORBA(Common Object Request Broker Architecture)= 公共对象请求代理系统结构
架构组成:
客户端 服务端
┌─────────────────┐ ┌─────────────────┐
│ 对象引用 │ │ CORBA对象 │
│ 请求调用 │ ←逻辑连接→ │ 伺服对象 │
│ 桩/存根 │ ←实际请求→ │ 对象适配器POA │
│ 客户机ORB │ │ 框架 IDL │
└─────────────────┘ │ 服务器ORB │
└─────────────────┘
核心组件:
| 组件 | 职责 |
|---|
| ORB(对象请求代理) | 解释调用,查找实现对象,传递参数,返回结果 |
| 桩/存根 | 客户端代理,封装请求 |
| 伺服对象 | CORBA对象的真正实现,完成客户端请求 |
| 对象适配器(POA) | 对实现者提供接口,使用ORB内部功能 |
| IDL | 接口定义语言,定义服务接口 |
CORBA 工作流程:
- 客户端通过桩/存根发起请求
- 客户机ORB传递请求
- 服务器ORB接收请求
- 对象适配器定位伺服对象
- 伺服对象执行业务逻辑
- 结果沿原路返回
三、大数据分层架构 ⭐⭐
3.1 总体结构
数据源 → 数据采集 → 数据存储 → 数据分析 → 数据应用
3.2 五层详解
第一层:数据源层
| 类型 | 示例 |
|---|
| 业务系统 | ERP、CRM |
| 日志数据 | 用户行为日志 |
| 外部数据 | API、第三方数据 |
第二层:数据采集层(ETL)⭐
| 功能 | 技术 |
|---|
| 数据抽取 | Flume、Logstash |
| 数据清洗 | Spark、MapReduce |
| 数据同步 | Sqoop、Kafka |
ETL = Extract(抽取)+ Transform(转换)+ Load(加载)
第三层:数据存储层
| 类型 | 技术 |
|---|
| 分布式存储 | HDFS |
| 数据仓库 | Hive |
| NoSQL | HBase |
第四层:数据分析层
| 类型 | 技术 |
|---|
| SQL分析 | Hive、Presto |
| 实时计算 | Spark Streaming、Flink |
| 数据挖掘 | ML、算法 |
第五层:数据应用层
| 类型 | 示例 |
|---|
| BI报表 | Tableau |
| 数据接口 | API服务 |
| 可视化 | 大屏展示 |
3.3 技术栈速记
采集:Flume(日志)、Sqoop(数据库同步)、Kafka(消息队列)
存储:HDFS(文件)、Hive(仓库)、HBase(NoSQL)
计算:Spark(批处理)、Flink(流处理)、MapReduce(经典)
应用:Tableau(BI)、API(接口)、大屏(可视化)
四、横向对比
4.1 构件标准对比
| 标准 | 平台 | 语言 | 特点 |
|---|
| CORBA | 跨平台 | 多语言 | 通用性强,复杂度高 |
| J2EE EJB | Java平台 | Java | 企业级,生态完善 |
| DNA 2000 | Windows | .NET | 微软体系,易集成 |
4.2 构件检索方法对比
| 方法 | 检索方式 | 特点 |
|---|
| 关键字检索 | 关键字展开 | 树状图/回路图结构 |
| 刻面检索法 | 多刻面描述 | 应用领域、使用环境等维度 |
| 超文本检索法 | 文档导航 | 按人类思维方式 |
4.3 大数据技术选型对比
| 场景 | 批处理 | 流处理 | 交互查询 |
|---|
| 技术 | MapReduce、Spark | Flink、Spark Streaming | Hive、Presto |
| 延迟 | 高(分钟级) | 低(毫秒/秒级) | 中等 |
| 吞吐量 | 高 | 中等 | 中等 |
五、高频考点速记
5.1 选择题高频
- 构件 vs 模块 vs 对象的区别(独立部署、无外部状态)
- 三大构件标准:CORBA、J2EE EJB、DNA 2000
- EJB三种Bean:会话Bean(业务逻辑)、实体Bean(O/R映射)、消息驱动Bean(异步)
- 中间件的6种分类
- CORBA核心组件:ORB、桩、伺服对象、对象适配器、IDL
- 大数据五层架构及各层技术选型
- ETL = Extract + Transform + Load
5.2 案例分析高频
- 构件复用流程(检索→理解→修改→组装)
- CORBA架构的工作流程
- 大数据分层架构设计
- 技术选型对比(批处理 vs 流处理)
5.3 论文写作素材
- 基于中间件的分布式系统设计
- 大数据架构在企业中的应用
- 构件化开发的实践经验
六、速记口诀
“构件三标准,CORBA EJB DNA;中间件六类,通事数Web安跨;大数据五层,源采存分用”
分解记忆:
构件:
- 三标准 = CORBA(跨平台)+ EJB(Java)+ DNA(微软)
- 复用流程 = 检索→理解→修改→组装
- 核心特征 = 独立部署 + 无外部状态 + 第三方组装
中间件:
- 六类 = 通信/事务/数据存取/Web/安全/跨平台
- CORBA = 桩(客户端代理)+ ORB(请求代理)+ 伺服对象(真正实现)
大数据:
- 五层 = 数据源→采集→存储→分析→应用
- ETL = 抽取+转换+加载
- 存储三件套 = HDFS + Hive + HBase
- 计算两兄弟 = Spark(批)+ Flink(流)
相关笔记