MD 更新:未知

概念

  • 软件构件是一种组装单元,有规范接口和显示语境依赖
  • 某系统中有价值、可以独立并替换的一个部分
  • 一个独立发布的功能部分,可以通过接口访问
flowchart LR
A[三大构件标准] --> B[CORBA]
A --> C[J2EE EJB]
A --> D[DNA 2000]

C --> C1[会话Bean:实现业务逻辑]
C --> C2[实体Bean:实现O/R映射]
C --> C3[消息驱动Bean:处理并发与异步访问]

构件模块对象对比

模块

结构化开发产物

对象

  1. 一个实例单元,具有唯一的标志
  2. 可能具有状态,外部可见
  3. 封装了自己的状态和行为

构件

  1. 独立部署单元
  2. 作为第三方的组装单元
  3. 没有外部状态

构件复用

检索与提取构件 —> 理解与评估构件 —> 修改构件 —> 组装构件

检索与提取构件

  • 基于关键字检索,关键字展开,特点:树状图或回路图结构
  • 刻面检索法,特点:利用 Facet 描述构件。分多个刻面:应用领域、使用环境
  • 超文本检索法,特点:按人类思维方式找说明文档

理解与评价构件

构件开发遵循公共标准

  • 构件的功能与行为
  • 相关领域知识
  • 可适应的约束性条件
  • 可预见的修改

修改构件

组装构件

  • 基于功能的组装技术
  • 基于数据的组装技术
  • 面向对象的组装技术

构件分类

  • 独立而成熟的构件,如:数据库管理系统操作系统
  • 有限的构件,会产生资源冲突、覆盖等影响。如:基础库
  • 适应性构件,对不兼容、资源进行处理。如:ActiveX
  • 装配构件
  • 可修改构件

中间件

概念

是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同技术之间共享资源

优点

  • 简化结构
  • 屏蔽差异
  • 利于复用

面向需求

集中于业务逻辑本身

业务的分隔和包容性

按照不同业务进行功能划分,体现为不同的接口或交互模式

设计与实现隔离

交互全由接口进行

隔离复杂的系统资源

架构一个重要功能:将系统资源与应用构件隔离

符合标准的交互模型

实现标准协议

软件复用

中间件提供了构件封装、交互规则

中间件分类特点
通信处理可靠高效实时的跨平台传输,eLink,MQ
事务处理事务分发,负载均衡,Tuexdo
数据存取为虚拟缓冲存取
Web负载均衡,缓存、安全
安全加密、认证
跨平台CORBA

CORBA(公共对象请求代理系统结构)(代理模式)

flowchart LR
subgraph 客服端
A[对象引用]
B[请求调用]
C[桩/存根]
D[客户机ORB]
end

subgraph 服务端
E[CORBA对象]
F[伺服对象]
G[对象适配器POA]
H[框架 IDL]
I[服务器ORB]
end

A <--逻辑连接-->E
B <--实际请求-->F

伺服对象:CORBA 对象的真正实现,负责完成客户端请求 对象适配器:对实现者提供接口,使用 ORB 内部功能 对象请求代理:解释调用并负责查找实现该请求对象,将参数传给对象,并调用方法返回结果。