MD 更新:未知

技术组件与中间件 · 知识点总结

综合整理自: 构件与中间件大数据分层架构


知识图谱

技术组件与中间件
├── 1. 软件构件
│   ├── 概念与特征
│   ├── 构件 vs 模块 vs 对象
│   ├── 三大构件标准(CORBA / J2EE EJB / DNA 2000)
│   ├── 构件复用流程
│   └── 构件分类
├── 2. 中间件
│   ├── 概念与优点
│   ├── 中间件分类(6种)
│   └── CORBA 架构详解
└── 3. 大数据分层架构 ⭐⭐
    ├── 数据源层
    ├── 数据采集层(ETL)
    ├── 数据存储层
    ├── 数据分析层
    └── 数据应用层

一、软件构件

1.1 概念

软件构件是一种组装单元,具有:

  • 规范的接口
  • 显式的语境依赖
  • 可独立部署和替换
  • 通过接口访问

一句话定义: 系统中有价值、可以独立并替换的一个部分,是一个独立发布的功能部分。

1.2 构件 vs 模块 vs 对象 ⭐

维度模块对象构件
开发范式结构化开发面向对象开发组件化开发
基本单位功能模块实例单元独立部署单元
标识模块名唯一标志接口契约
状态无明确概念有状态,外部可见无外部状态
部署不独立不独立独立部署
组装函数调用方法调用第三方组装

记忆要点:

  • 模块 = 结构化产物,不独立部署
  • 对象 = 有状态,有唯一标识
  • 构件 = 独立部署,无外部状态,可第三方组装

1.3 三大构件标准

标准全称说明
CORBACommon Object Request Broker Architecture公共对象请求代理,跨平台
J2EE EJBEnterprise JavaBeanJava企业级构件标准
DNA 2000Distributed 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 工作流程:

  1. 客户端通过桩/存根发起请求
  2. 客户机ORB传递请求
  3. 服务器ORB接收请求
  4. 对象适配器定位伺服对象
  5. 伺服对象执行业务逻辑
  6. 结果沿原路返回

三、大数据分层架构 ⭐⭐

3.1 总体结构

数据源 → 数据采集 → 数据存储 → 数据分析 → 数据应用

3.2 五层详解

第一层:数据源层

类型示例
业务系统ERP、CRM
日志数据用户行为日志
外部数据API、第三方数据

第二层:数据采集层(ETL)⭐

功能技术
数据抽取Flume、Logstash
数据清洗Spark、MapReduce
数据同步SqoopKafka

ETL = Extract(抽取)+ Transform(转换)+ Load(加载)

第三层:数据存储层

类型技术
分布式存储HDFS
数据仓库Hive
NoSQLHBase

第四层:数据分析层

类型技术
SQL分析Hive、Presto
实时计算Spark StreamingFlink
数据挖掘ML、算法

第五层:数据应用层

类型示例
BI报表Tableau
数据接口API服务
可视化大屏展示

3.3 技术栈速记

采集:Flume(日志)、Sqoop(数据库同步)、Kafka(消息队列)
存储:HDFS(文件)、Hive(仓库)、HBase(NoSQL)
计算:Spark(批处理)、Flink(流处理)、MapReduce(经典)
应用:Tableau(BI)、API(接口)、大屏(可视化)

四、横向对比

4.1 构件标准对比

标准平台语言特点
CORBA跨平台多语言通用性强,复杂度高
J2EE EJBJava平台Java企业级,生态完善
DNA 2000Windows.NET微软体系,易集成

4.2 构件检索方法对比

方法检索方式特点
关键字检索关键字展开树状图/回路图结构
刻面检索法多刻面描述应用领域、使用环境等维度
超文本检索法文档导航按人类思维方式

4.3 大数据技术选型对比

场景批处理流处理交互查询
技术MapReduce、SparkFlink、Spark StreamingHive、Presto
延迟高(分钟级)低(毫秒/秒级)中等
吞吐量中等中等

五、高频考点速记

5.1 选择题高频

  1. 构件 vs 模块 vs 对象的区别(独立部署、无外部状态)
  2. 三大构件标准:CORBA、J2EE EJB、DNA 2000
  3. EJB三种Bean:会话Bean(业务逻辑)、实体Bean(O/R映射)、消息驱动Bean(异步)
  4. 中间件的6种分类
  5. CORBA核心组件:ORB、桩、伺服对象、对象适配器、IDL
  6. 大数据五层架构及各层技术选型
  7. ETL = Extract + Transform + Load

5.2 案例分析高频

  1. 构件复用流程(检索→理解→修改→组装)
  2. CORBA架构的工作流程
  3. 大数据分层架构设计
  4. 技术选型对比(批处理 vs 流处理)

5.3 论文写作素材

  • 基于中间件的分布式系统设计
  • 大数据架构在企业中的应用
  • 构件化开发的实践经验

六、速记口诀

“构件三标准,CORBA EJB DNA;中间件六类,通事数Web安跨;大数据五层,源采存分用”

分解记忆:

构件:

  • 三标准 = CORBA(跨平台)+ EJB(Java)+ DNA(微软)
  • 复用流程 = 检索→理解→修改→组装
  • 核心特征 = 独立部署 + 无外部状态 + 第三方组装

中间件:

  • 六类 = 通信/事务/数据存取/Web/安全/跨平台
  • CORBA = 桩(客户端代理)+ ORB(请求代理)+ 伺服对象(真正实现)

大数据:

  • 五层 = 数据源→采集→存储→分析→应用
  • ETL = 抽取+转换+加载
  • 存储三件套 = HDFS + Hive + HBase
  • 计算两兄弟 = Spark(批)+ Flink(流)

相关笔记