软件体系结构1软件体系结构发展中的若干重要问题



《软件体系结构1软件体系结构发展中的若干重要问题》由会员分享,可在线阅读,更多相关《软件体系结构1软件体系结构发展中的若干重要问题(182页珍藏版)》请在装配图网上搜索。
1、THU SAGroup 课 程 编 号 : 74100152软 件 体 系 结 构 ( 1)软 件 体 系 结 构 发 展 中 的 若 干 重 要 问 题 覃 征 教 授 THU SAGroup课 程 简 介1 软 件 体 系 结 构 的 定 义 和 发 展 综 述2 工 业 软 件 体 系 结 构 的 主 要 分 类3 软 件 体 系 结 构 的 发 展 方 向4 案 例 研 究5 2 v授 课 教 师 主 讲 教 授 : 覃 征 办 公 室 清 华 大 学 软 件 学 院 208室 电 话 62795399 电 子 邮 件 助 教 组 邢 剑 宽 章 晋 学 zhang- THU SA
2、Group 3 v 教 材 及 参 考 书 教 材 覃 征 等 , 软 件 体 系 结 构 ( 第 二 版 ) , 清 华 大 学 出 版 社 , 2008 Qin Zheng et al., Software Architecture, Springer Verlag, 2008 其 它 参 考 资 料 Len Bass,Paul Clements,Rick Kazman,Software Architecture in Practice 2nd ed, Addison Wesley, 2003 Paul Clements, Rick Kazman, Mark Klein, Evaluati
3、ng Software Architectures, 清 华 大 学 出 版 社 , 2003 Paul Clements, Linda Northrop, Software Product Line: Practices and Patterns, 清 华 大 学 出 版 社 , 2003 Christine Hofmeister, Robert Nord, Dilip Soni, Applied Software Architecture, Addison Wesley, 2000 Jacobson, Software Reuse: Architecture, Process, and O
4、rganization for Business Success, Addison Wesley, 2000THU SAGroup 4 THU SAGroup 5 v课 程 目 标 掌 握 软 件 体 系 结 构 的 概 念 、 组 成 和 相 关 领 域 国 内 外 研究 现 状 。 明 确 软 件 体 系 结 构 划 分 标 准 、 设 计 原 则 。 学 习 软 件 体 系 结 构 构 建 模 型 、 软 件 体 系 结 构 组 态 分 析方 法 、 软 件 体 系 结 构 形 式 化 描 述 方 法 、 软 件 体 系 结 构集 成 开 发 环 境 的 设 计 与 实 现 方 法 几
5、个 方 面 的 知 识 , 并掌 握 在 实 际 系 统 开 发 过 程 中 分 析 、 设 计 、 应 用 软 件 体系 结 构 思 想 的 技 能 。 THU SAGroup 6 v课 程 成 绩 平 时 : 40% 课 堂 测 试 : 10%( 课 堂 提 问 、 课 堂 考 试 、 课 堂 报 告 ) 平 时 作 业 : 30% 期 末 考 查 : 60% 考 试 形 式 : 以 45人 为 一 个 小 组 , 共 同 完 成 一 个 规定 题 目 的 科 技 论 文 THU SAGroup 7 v课 程 安 排 第 一 讲 : 软 件 体 系 结 构 发 展 中 的 若 干 重 要
6、问 题 ( 3) 第 二 讲 : 软 件 体 系 结 构 风 格 与 模 式 ( 9) 第 三 讲 : 软 件 体 系 结 构 组 态 分 析 与 应 用 (2*) 第 四 讲 : 软 件 体 系 结 构 形 式 化 描 述 (6) 第 五 讲 : CSP和 软 件 体 系 结 构 描 述 语 言 (3*) 第 六 讲 : 软 件 体 系 结 构 集 成 开 发 环 境 的 设 计 与 实 现 (3) 第 七 讲 : 柔 性 软 件 体 系 结 构 ( 3*) 第 八 讲 : 软 件 体 系 结 构 研 究 的 展 望 ( 3)括 号 中 为 课 时 数 , 带 星 的 为 助 教 课THU
7、SAGroup 8 THU SAGroup 9 什 么 是 软 件 体 系 结 构如 何 利 用 软 件 体 系 结 构 进 行宏 观 设 计软 件 体 系 结 构 设 计 案 例 分 析 如 何 利 用 形 式 化 基 础 描 述 软件 体 系 结 构如 何 进 行 软 件 体 系 结 构 开 发什 么 是 柔 性 软 件 体 系 结 构 软 件 体 系 结 构 还 有 什 么 研 究 问 题 THU SAGroup课 程 简 介1 软 件 体 系 结 构 的 定 义 和 发 展 综 述2 工 业 软 件 体 系 结 构 的 主 要 分 类3 软 件 体 系 结 构 的 发 展 方 向4 案
8、 例 研 究5 10 v什 么 是 软 件 软 件 一 般 认 为 由 三 部 分 组 成 : 程 序 : 在 运 行 时 , 能 提 供 所 希 望 的 功 能 和 性 能 的指 令 集 。 数 据 结 构 : 使 程 序 能 够 正 确 运 行 的 数 据 结 构 。 文 档 : 描 述 程 序 研 制 过 程 、 方 法 及 使 用 的 文 档 。THU SAGroup 11 v软 件 的 特 点 抽 象 性 : 逻 辑 实 体 , 可 记 录 , 但 看 不 到 可 复 制 性 : 与 开 发 成 本 相 比 , 复 制 成 本 很 低 无 折 旧 受 硬 件 制 约 未 完 全 摆
9、脱 手 工 工 艺 开 发 费 用 高 THU SAGroup 12 v计 算 机 软 件 发 展 的 三 个 时 期 早 期 时 代 ( 60年 代 中 期 之 前 ) 程 序 设 计 阶 段 硬 件 通 用 , 软 件 专 用 ; 程 序 规 模 小, 编 写 者 和 使 用 者 为 同 一 人 ( 同 组 人 ) 。 第 二 代 ( 60年 代 中 期 -70年 代 中 期 ) 程 序 系 统 阶 段 出 现 “ 软 件 作 坊 ” 、 产 品 软 件 ; “个 体 化 ” 开 发 方 法 。 第 三 代 ( 70年 代 中 期 之 后 ) 软 件 工 程 阶 段 软 件 开 发 成 为
10、 一 门 新 兴 的 工 程 学 科 软 件 工 程。 THU SAGroup 13 THU SAGroup 14 程 序 设 计 程 序 系 统 软 件 工 程软 件 范 畴 程 序 程 序 及 说 明 书 产 品 软 件 ( 项目 软 件 )主 要 程 序 设 计 语 言 汇 编 及 机 器 语 言 高 级 语 言 高 级 语 言 系 统软 件 工 作 范 围 程 序 编 写 设 计 、 测 试 软 件 生 存 期需 求 者 程 序 设 计 者 本 人 少 数 用 户 市 场 用 户计 算 机 软 件 发 展 的 三 个 时 期 及 特 点 THU SAGroup 15 程 序 设 计 程
11、 序 系 统 软 件 工 程维 护 责 任 者 程 序 设 计 者 开 发 小 组 专 职 维 护 人 员硬 件 特 征 价 高 、 存 储 量 小 、稳 定 性 差 价 低 、 速 度 、容 量 、 稳 定 性明 显 提 高 向 超 高 速 、 大容 量 、 微 型 化发 展软 件 特 征 完 全 不 受 重 视 软 件 技 术 的 发展 不 满 足 需 要 ,出 现 软 件 危 机 开 发 技 术 有 进步 , 但 未 获 得突 破 性 进 展 ,软 件 危 机 没 有完 全 摆 脱计 算 机 软 件 发 展 的 三 个 时 期 及 特 点 v我 们 需 要 的 是 软 件 符 合 质 量
12、 要 求 ! ! 软 件 需 求 是 进 行 “ 质 量 ” 度 量 的 基 础 , 与 需 求 不 符 就是 质 量 不 高 。 通 常 有 一 组 “ 隐 含 需 求 ( implicit requirements) ”是 不 被 提 及 的 ( 如 对 维 护 性 的 需 求 ) 。 如 果 软 件 符 合了 明 确 的 需 求 却 没 有 满 足 隐 含 需 求 , 软 件 质 量 仍 然 值得 怀 疑 。 THU SAGroup 16 性 能Performance 可 用 性Usability可 靠 性Availability可 扩 展 性Extensibility安 全 性 Sec
13、urity功 能 性Functionality 随 着 社 会 的 巨 大 进 步 ,计 算 机 系 统 的 整 体 发 展 ,新 技 术 的不 断 涌 现 ,使 计 算 机 应 用 的 需 求 迅 速 增 加 。 而 软 件 费 用 的增 加 ,高 可 靠 性 能 下 降 ,维 护 工 作 量 增 大 ,出 现 了 严 重 的 “软 件 危 机 ” 。 软 件 危 机 已 经 持 续 了 三 十 多 年 , 表 现 为 : 软 件 的 产 品 质 量 难 以 保 障 软 件 的 开 发 效 率 难 以 提 高 THU SAGroup 17 THU SAGroup 18 软 件 失 败Soft
14、ware Failure最 常 见 错 误 形 式 :变 量 取 值 超 过允 许 范 围 用 户 使 用 软 件 超 载( Overload)现 代 系 统 的 复 杂 性往 往 集 中 于 软 件 部 分 ( complexity)代 码 正 确 , 设 计 错 误( Design Error) 其 他软 件 开 发 者 不 参 与 情 况 下操 作 系 统 以 及 硬 件 改 变 软 件 失 败 的 原 因 v解 决 问 题 的 想 法 更 好 的 管 理 ( Better management) 出 众 的 团 队 组 织 ( Different team organizations)
15、 更 好 的 语 言 和 工 具 ( Better languages reprinted in IEEE Software, vol. 1, no. 1, 1984, pp. 1128.v J.A. Mills, “A Pragmatic View of the System Architect,” Comm. ACM, vol. 28, no. 7, 1985, pp. 708717.v W.E. Royce and W. Royce, “Software Architecture: Integrating Process and Technology,” TRW Quest, vol.
16、14, no. 1, 1991, pp. 215. v M. Shaw and P. Clements, “A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems,” Proc. 21st Intl Computer Software and Applications Conf. (COMPSAC 97), IEEE CS Press, 1997, pp. 613.v M. Shaw, “The Coming-of-Age of Software Arc
17、hitecture Research,” Proc. 23rd Intl Conf. Software Eng. (ICSE 01), IEEE CS Press, 2001, pp. 656664a. THU SAGroup 36 THU SAGroup 37Mary Shaw玛 丽 娋 Frederick Brooks弗 兰 德 里 克 布 鲁 克 斯 Barry Boehm拜 瑞 波 姆 Carliss Baldwin卡 利 斯 鲍 德 温 NSF 2007 Science of Design Principal Investigators (PI) Meeting THU SAGrou
18、p 38 萌 芽 期 发 展 期 成 熟 期 THU SAGroup 39 THU SAGroup 40 什 么 是 软 件 体 系 结 构 ? THU SAGroup 41 THU SAGroup 42 THU SAGroup 43 THU SAGroup 44 THU SAGroup 45 THU SAGroup 46 自 NATO于 1968年 提 出 软 件 工 程 概 念 以 来 ,软 件 工 程 界 已 经 提 出了 一 系 列 的 理 论 、 方 法 、 语 言 和 工 具 ,解 决 了 软 件 开 发 过 程 中 的 若 干问 题 .但 是 ,软 件 固 有 的 复 杂 性 、
19、 易 变 性 和 不 可 见 性 ,使 得 软 件 开 发 周期 长 、 代 价 高 和 质 量 低 的 问 题 依 然 存 在 .大 量 实 践 统 计 表 明 :大 系 统软 件 开 发 中 70 的 错 误 是 由 需 求 和 软 件 设 计 阶 段 引 入 的 ;而 且 错 误在 系 统 中 存 在 的 时 间 愈 长 则 愈 难 发 现 ,解 决 这 些 错 误 的 代 价 也 愈 高 . 为 了 提 高 软 件 需 求 和 软 件 设 计 的 质 量 ,软 件 工 程 界 提 出 了 需 求 分析 工 程 技 术 和 各 种 软 件 建 模 技 术 .但 是 在 需 求 与 设 计
20、 之 间 仍 存 在 一 条很 难 逾 越 的 鸿 沟 ,即 缺 乏 能 够 反 映 做 决 策 的 中 间 过 程 ,从 而 很 难 有 效地 将 需 求 转 换 为 相 应 的 设 计 .为 此 ,软 件 体 系 结 构 概 念 应 运 而 生 ,并 试图 在 软 件 需 求 与 软 件 设 计 之 间 架 起 一 座 桥 梁 ,着 重 解 决 软 件 系 统 的 结构 和 需 求 向 实 现 平 坦 地 过 渡 的 问 题 . THU SAGroup 47 v软 件 体 系 结 构 基 本 概 念 就 体 系 结 构 的 本 意 而 言 , 它 是 指 建 立 系 统 时 的 构 造 范
21、型 、 构 造 风 格 和 构 造 模 式 , 软 件 体 系 结 构 对 于 软 件 系统 的 构 造 所 起 的 是 指 导 性 的 作 用 , 它 抛 开 了 软 件 系 统的 功 能 细 节 , 着 重 于 讨 论 软 件 系 统 的 总 体 框 架 。THU SAGroup 48开 发 了 5年 , 投 入 资 金 达300多 亿 美 元 , 历 史 上 代码 量 最 大 , 达 到 5000万行 , 仅 核 心 工 程 师 就 有9000人 团 队 的 庞 大 软 件开 发 项 目 基 于 软 件 体 系 结 构 的分 析 、 评 估 、 计 划 、组 织 、 开 发 、 测 试
22、v对 于 一 个 软 件 开 发 单 位 来 说 , 选 择 合 适 的 体 系 结 构 是 最重 要 的 决 策 之 一 v良 好 的 体 系 结 构 可 以 维 系 软 件 系 统 的 完 整 性 , 使 得 开 发和 维 护 工 作 不 至 于 杂 乱 无 章 ; 还 可 以 简 化 软 件 系 统 复 杂性 , 让 众 多 的 开 发 单 位 的 软 件 工 程 师 们 能 以 并 行 方 式 开展 工 作 . THU SAGroup 49 v软 件 体 系 结 构 基 本 概 念 广 义 而 言 , 软 件 系 统 结 构 涉 及 多 方 面 的 内 容 : 软 件 的 成 份 及
23、系 统 框 架 ; 软 件 成 份 的 选 择 , 各 成 分 之 间 的 相 互 作 用 , 软 件成 份 的 进 一 步 复 合 以 及 指 导 软 件 复 合 过 程 的 总 体模 式 ; 系 统 的 功 能 、 性 能 、 设 计 以 及 从 多 种 方 案 及 选 项中 进 行 选 择 的 决 策 。 可 见 , 软 件 体 系 结 构 更 为 关注 的 是 系 统 结 构 及 其 成 份 , 而 方 法 论 更 关 心 系 统的 开 发 过 程 THU SAGroup 50 Perry和 Wolf根 据 软 件 生 命 周 期 各 阶 段 相 应 的 实 体 、属 性 、 关 系
24、、 主 要 产 品 和 评 估 标 准 , 将 软 件 开 发 过 程分 为 如 下 阶 段 : 需 求 分 析 : 主 要 根 据 用 户 的 需 求 , 决 定 软 件 的 功能 ; 体 系 结 构 设 计 : 选 择 构 件 、 构 件 间 相 互 关 系 以 及对 它 们 的 约 束 , 并 以 此 为 框 架 , 为 详 细 设 计 奠 定基 础 ; 详 细 设 计 : 主 要 对 系 统 进 行 模 块 化 和 描 述 各 个 构件 间 的 详 细 接 口 、 算 法 和 数 据 结 构 类 型 等 ; 实 现 : 使 用 程 序 设 计 语 言 实 现 设 计 方 案 的 要 求
25、 。THU SAGroup 51 v软 件 体 系 结 构 研 究 与 传 统 软 件 工 程 方 法 学 的 不 同 之 处 在于 : 所 关 心 的 问 题 不 同 描 述 的 着 眼 点 不 同 抽 象 层 次 不 同 THU SAGroup 52 从 不 同 角 度 看 太 阳 学 院 派 测 重 于 软 件 体 系 结 构 形 式 化 理 论 研 究 。 注 重 抽 象、 规 约 和 演 算 。 实 践 派 将 软 件 体 系 结 构 设 计 、 描 述 与 表 示 同 传 统 的 软 件系 统 建 模 视 为 一 体 , 以 体 系 结 构 作 为 整 个 软 件 开发 过 程 的
26、 核 心 。 结 合 派 试 图 将 以 上 二 者 结 合 以 来 , 将 形 式 化 理 论 应 用 于实 际 项 目 中 。 THU SAGroup 53 v长 期 以 来 , CMU-SEI在 其 网 站 上 公 开 征 集 软 件 体 系 结 构的 定 义 至 今 已 有 百 余 种 。 最 近 较 有 影 响 力 的 定 义 有 : 卡 耐 基 梅 隆 大 学 Bass 等 人 于 2003年 在 软 件 构 架 实 践一 书 中 提 出 , 软 件 体 系 结 构 为 系 统 的 结 构 (structure or structures), 包 含 软 件 元 素 、 软 件 元
27、 素 外 部 可 见 的属 性 以 及 这 些 软 件 元 素 之 间 的 关 系 。 v软 件 体 系 结 构 定 义 的 发 展 演 变 IEEE 610.12 ,1990 Vestal, 1993 Garlan,1993 Gacek, 1995 Bosch, 2000 Perry, 2000 IEEE Std1471-2000, 2000 vIEEE 610.12(1990年 )软 件 工 程 标 准 词 汇 定 义 :SA=component, connector, environment, principle. 体 系 结 构 是 以 构 件 、 构 件 之 间 的 关 系 、 构
28、件 与 环 境 之间 的 关 系 为 内 容 的 某 一 系 统 的 基 本 组 织 结 构 ,以 及 指 导上 述 内 容 设 计 与 演 化 的 原 理 。 vHoneywell实 验 室 的 Vestal在 1993年 提 出 了 如 下 模 型 :SA=component, idioms/styles, common patterns of interaction. 软 件 由 构 件 组 成 , 构 件 之 间 通 过 通 用 的 互 操 作 模 式 相连 。 体 系 结 构 风 格 描 述 了 一 种 通 用 的 设 计 模 式 , 可 满足 特 定 系 列 的 应 用 需 求 。
29、 v卡 耐 基 梅 隆 大 学 的 Garlan于 1993年 对 软 件 体 系 结 构 做 出了 如 下 定 义 : SA = Components, Connectors, Constraints 构 件 ( Components) 是 功 能 单 元 , 执 行 预 定 义 的 服务 并 且 与 其 他 构 件 交 互 。 连 接 器 ( Connectors ) 定 义 交 互 协 议 与 策 略 。 约 束 ( Constraints) 定 义 了 系 统 必 须 服 从 的 规 则 。 v而 南 加 州 大 学 的 软 件 工 程 研 究 中 心 的 Gacek于 1995年 ,
30、提 出 了 如 下 的 概 念 :SA = Components, Connections, Constraints, Stakeholder Needs, Rationale 在 此 定 义 中 , 构 件 ( component) 与 连 接 (connection) 的 设 计 将 依 照 涉 众 ( Stakeholder) 的需 求 。 涉 众 ( Stakeholder) 指 参 与 软 件 系 统 项 目 的 人 员 ,包 括 项 目 经 理 , 程 序 员 , 市 场 营 销 人 员 , 消 费 者 与 使用 者 等 。 理 念 ( Rationale) 指 权 衡 存 在 下
31、 的 策 略 。 该 定 义 反 映 了 对 运 行 时 结 构 的 实 际 影 响 因 素 , 是 为 了使 软 件 体 系 结 构 研 究 能 将 学 术 与 实 际 应 用 联 系 起 来 。 v瑞 典 Blekinge技 术 学 院 的 Bosch在 2000年 则 对 软 件 体 系结 构 给 出 了 如 下 的 定 义 : The architecture of a software system is concerned with the top-level decomposition of the system into its main components. 软 件 系 统
32、 的 体 系 结 构 是 对 系 统 从 顶 层 分 解 为 主 要 构 件 的考 量 。 decomposition 在 该 定 义 中 , 软 件 体 系 结 构 被 认 为 是 系 统 结 构 的 唯 一部 署 , 仅 关 注 单 一 的 静 态 结 构 。 此 外 需 要 注 意 的 是 , 这 里 的 术 语 component的 涵 义 有所 不 同 , 可 以 被 认 为 是 模 块 基 本 的 执 行 单 元 。 v2000年 Texas大 学 的 Perry A Comedy of Errors: the London Ambulance Service case study
33、; Proceedings of 8th International Workshop on Software Specification and Design (IWSSD-8), Schloss Velen, Germany, 22-23rd March 1996, 2-4; IEEE CS Press.D. Garlan, R. Monroe, and D. Wile, Acme: Architectural Description of Component-Based Systems, in Foundations of Component-Based Systems, G.T. Le
34、avens and M. Sitaraman, Editors. 2000, Cambridge University Press. p. 47-68.Aesop Carnegie Mellon University David Garlan C2 University California, Irvine N. Medvidovic 集 成 开 发 环 境ARGOChiron-2 人机 界 面 系 统 Taylor, R.N., et al., A component- and message-based architectural style for GUI software Ieee T
35、ransactions on Software Engineering, 1996. 22(6): p. 17.Darwin Imperial College, London (帝 国 理 工 ) Jeff Kramer 体 系 结 构 理 论 模 型 的 研 究 ; 体 系 结 构 设 计 研 究 包 括 体 系 结 构 设 计 方 法 、 体 系 结 构 风 格 、 体 系 结构 设 计 空 间 等 内 容 ; 体 系 结 构 分 析 与 验 证 研 究 如 何 将 软 件 的 非 功 能 特 性 转 化 为 体 系 结 构 的需 求 ,如 何 分 析 体 系 结 构 满 足 望 的 需
36、求 的 属 性 ,对 体系 结 构 的 语 法 、 语 义 、 类 型 失 配 等 进 行 检 查 与 验证 的 研 究 ; THU SAGroup 122 体 系 结 构 演 化 与 复 用 研 究 研 究 产 品 线 中 软 件 体 系 结 构 演 进 的 理 论 与 方 法 ,从已 有 文 档 、 系 统 设 计 和 代 中 逆 向 提 取 软 件 体 系 结构 、 体 系 结 构 复 用 等 ; 动 态 体 系 结 构 研 究 研 究 软 件 系 统 由 于 特 殊 需 要 必 须 在 连 续 运 营 情 况下 的 体 系 结 构 变 化 与 支 撑 平 台 ; 基 于 体 系 结 构
37、 的 软 件 开 发 研 究 引 入 体 系 结 构 后 的 软 件 开 发 过 程 、 基 于 体 系结 构 开 发 与 中 间 技 术 集 成 、 于 体 系 结 构 的 程 序 框架 自 动 生 成 技 术 等 . THU SAGroup 123 体 系 结 构 是 对 系 统 的 高 层 抽 象 ,并 只 对 感 兴 趣 的 属 性进 行 建 模 .由 于 体 系 结 构 是 在 软 件 开 发 过 程 之 初 产 生 的 ,因 此 设 计 优 质 的 体 系 结 构 可 以 减 少 和 避 免 软 件 错 误 的 产生 和 维 护 阶 段 的 高 昂 代 价 .体 系 结 构 是 系
38、 统 集 成 的 蓝 本 、系 统 验 收 的 依 据 ,体 系 结 构 本 身 需 要 分 析 与 测 试 ,以 确 定这 样 的 体 系 结 构 是 否 满 足 需 求 .体 系 结 构 分 析 的 内 容 可 分为 结 构 分 析 、 功 能 分 析 和 非 功 能 分 析 . THU SAGroup 124 v软 件 体 系 结 构 的 发 展 是 与 软 件 系 统 的 开 发 模 式 、 应 用 模式 同 步 进 行 的 。 当 原 有 的 描 述 方 法 无 法 满 足 需 要 时 , 就会 出 现 新 的 软 件 体 系 结 构 研 究 热 点 THU SAGroup 125
39、v三 位 一 体 的 职 责 构 成 SOA1应 用 程 序 构 建 者Application Builder负 责 设 计 和 实 现 最 终的 应 用 系 统 3服 务 提 供 者Service Provider负 责 设 计 和 实 现 服 务 ,并 在 服 务 代 理 进 行 注册 以 供 用 户 访 问2 服 务 代 理Service Broker负 责 向 应 用 程 序 构 建者 提 供 服 务 的 查 询 、访 问 v基 于 标 准 的 互 操 作 性 在 SOA当 中 , 接 口 、 通 讯 协 议 、 工 作 流 、 协 作 和 发 布 都 是 由 一整 套 国 际 标 准
40、 所 定 义 , 包 括 XML, SOAP, WSDL, UDDI, HTTP,CPP, ebXML, bSOA, BPEL, FERA, OWL-S等 , 从 而 保证 不 同 平 台 的 系 统 能 够 无 阻 碍 的 交 流v基 于 发 现 的 动 态 组 装 在 SOA中 的 系 统 所 需 要 的 服 务 均 通 过 运 行 时 发 现 , 运 行 时 加 载的 方 式 工 作v基 于 策 略 的 动 态 管 理 和 总 控 协 作 SOA的 各 个 服 务 的 运 行 都 由 策 略 ( Policy) 进 行 控 制 , 策 略 的 制定 、 监 测 、 执 行 都 可 在 运
41、 行 时 内 完 成 。 SOA实 行 总 控 式 协 作 ,即 由 一 个 中 心 控 制 节 点 负 责 控 制 和 调 度 分 布 在 网 络 各 处 的 服 务 THU SAGroup 129 v 结 构 ( Structure) 应 用 程 序 的 结 构 是 静 态 (S)还 是 动 态 (D)v 动 态 重 组 能 力 ( Runtime re-composition capability) 可 以 在 运 行 时 进 行 重 组 (R) 不 可 以 进 行 重 组 (N)v 容 错 能 力 ( Fault Tolerant Capability) 具 有 容 错 的 骨 干 通
42、 讯 机 制 (FB), 具 有 容 错 的 控 制 服 务 (FC), 不 具 有 容 错能 力 (FN)v 软 件 工 程 支 持 ( System Engineering Support) 是 否 具 有 系 统 支 持 的 模 型 监 测 、 数 据 收 集 、 部 署 、 代 码 自 动 生 成 、 策略 实 施 、 一 致 性 检 查 等 机 制 。 有 用 (SY)表 示 , 无 用 (SN)表 示 由 此 得 到 一 个 四 元 组 Structure, Re-composition, Fault-tolerance, System-engineering 对 各 种 SOA进
43、 行 分 类 v常 规 SOA模 式 服 务 提 供 者 向 服 务 代 理 注 册 开 发 出 来 的 服 务 , 由 应 用程 序 构 建 者 来 寻 找 需 要 的 服 务vCCSOA模 式 在 传 统 SOA的 基 础 上 , 应 用 程 序 构 建 者 也 可 以 发 布 应用 程 序 模 板 , 服 务 提 供 者 可 以 根 据 模 板 的 需 要 开 发 新的 服 务 Customer Centric SOA( 续 )上 图 的 步 骤 为 :1. 应 用 程 序 构 建 者 编 写 应 用 程 序模 版 , 模 板 内 包 含 工 作 流 信 息、 需 要 服 务 规 格 信
44、 息 等2. 应 用 程 序 模 版 在 服 务 代 理 的 库中 进 行 注 册 并 发 布3. 一 个 订 阅 了 应 用 程 序 模 版 库 的服 务 提 供 者 收 到 有 新 模 版 到 达的 通 知 , 于 是 查 询 这 个 新 模 版4. 本 体 和 分 类 技 术 可 以 辅 助 进 行 被 提 供 模 版 和 目 标 模 版 之 间 的自 动 匹 配 5. 在 查 询 中 , 服 务 代 理 返 回 给 服 务提 供 者 关 于 应 用 程 序 模 版 的 详 细信 息6. 服 务 提 供 者 依 据 模 版 开 发 新 的 服务 , 并 提 交 到 服 务 代 理 。 服
45、 务 代理 依 据 模 版 中 的 信 息 对 新 服 务 进行 校 验 和 评 估7. 一 旦 评 估 通 过 , 服 务 代 理 通 知 应用 程 序 构 建 者 有 可 用 的 新 服 务8. 应 用 程 序 构 建 者 评 估 和 测 试 新 的服 务9. 一 旦 通 过 测 试 , 应 用 程 序 构 建 者就 将 应 用 程 序 模 版 和 新 服 务 绑 定, 生 成 可 以 运 行 的 应 用 系 统 v IBM基 于 WebShpere的 SOA Foundation Architecture One of the promising area of software arc
46、hitecture is The golden age of software architecture, IEEE SOFTWARE, vol23(2) 柔 性 软 件 体 系 结 构 是 指 可 以 根 据 需 求 的变 化 而 容 易 发 生 形 态 变 化 的 体 系 结 构 添 加 新 的 构 件升 级 已 存 在 构 件删 除 不 需 要 的 构 件动 态 改 变 构 件 之 间 的 关 系动 态 改 变 构 件 到 执 行 平 台 的 映 射 自 我 修 复 系 统电 子 商 务 服 务 系 统嵌 入 式 系 统企 业 管 理 系 统移 动 计 算 FSA vIEEE 1471标
47、 准v基 于 软 件 体 系 结 构 的 软 件 工 程 基 于 体 系 结 构 的 软 件 开 发 方 法 基 于 体 系 结 构 的 软 件 组 装 基 于 体 系 结 构 的 软 件 测 试 方 法v面 向 服 务 体 系 结 构 ( Service-Oriented Architecture)v柔 性 软 件 体 系 结 构 自 适 应 的 柔 性 软 件 体 系 结 构 移 动 环 境 下 的 软 件 体 系 结 构 自 修 复 系 统 支 持 代 码 移 动 的 体 系 结 构v动 态 软 件 体 系 结 构 的 描 述 1402021-7-28 v自 适 应 软 件 体 系 结
48、构 是 根 据 操 作 环 境 的 变 化 而 变 化 的 体系 结 构 外 界 的 变 化 包 括 用 户 输 入 、 硬 件 设 备 输 入 、 传 感 器 信 号 、 以 及程 序 指 令 等v自 适 应 软 件 体 系 结 构 需 要 解 决 的 问 题 在 什 么 条 件 下 系 统 发 生 改 变 自 适 应 软 件 体 系 结 构 应 具 有 开 放 性 质 还 是 封 闭 性 质 需 要 实 现 什 么 样 的 自 适 应 程 度 如 何 演 算 从 而 评 估 变 化 后 带 来 的 收 益 是 否 大 于 变 化 本 身 的 成 本 变 化 的 频 繁 程 度 如 何 自
49、适 应 变 化 需 要 的 原 始 信 息 有 哪 些 v自 适 应 的 基 本 结 构 Monitor监 控 外 界 的 变 化 Adapt负 责 调 整 系 统 模 型 Control负 责 将 外 界 变 化 演 算 出 模 型 变 化 , 并 作 出 变 化 决 策 v为 何 移 动 环 境 需 要 动 态 自 适 应 移 动 环 境 下 设 备 往 往 需 要 连 续 工 作 , 对 自 身 进 行 改 变必 须 在 运 行 时 下 进 行 移 动 设 备 经 受 的 操 作 环 境 的 改 变 与 固 定 的 计 算 设 备 相比 要 频 繁 的 多 使 用 移 动 设 备 的 用
50、 户 的 需 求 也 在 不 断 改 变 vIEEE 1471标 准v基 于 软 件 体 系 结 构 的 软 件 工 程 基 于 体 系 结 构 的 软 件 开 发 方 法 基 于 体 系 结 构 的 软 件 组 装 基 于 体 系 结 构 的 软 件 测 试 方 法v面 向 服 务 体 系 结 构 ( Service-Oriented Architecture)v柔 性 软 件 体 系 结 构 自 适 应 的 柔 性 软 件 体 系 结 构 移 动 环 境 下 的 软 件 体 系 结 构 自 修 复 系 统 支 持 代 码 移 动 的 体 系 结 构v动 态 软 件 体 系 结 构 的 描
51、述 145 移 动 环 境 应 用 实 例v User Context 来 自 用 户 及 环 境 的 改 变v System Context 来 自 系 统 本 身 的 改 变v Adaptation Middleware 负 责 将 外 界 的 变 化 映 射到 体 系 结 构 模 型 库 中 的备 选 模 型v Architecture Model 储 备 的 预 先 设 计 好 的 体 系 结 构 模 型 , 是 改 变 的基 础v Adaptable Application 实 际 被 应 用 的 可 动 态 改变 的 系 统 优 点 建 立 了 分 析 员 、 客 户 、 设 计
52、人 员 沟 通 的 桥 梁 依 据 软 件 体 系 结 构 设 计 项 目 计 划 在 项 目 设 计 的 早 期 发 现 更 多 问 题 依 据 软 件 体 系 结 构 生 成 项 目 的 测 试 用 例 THU SAGroup 147 THU SAGroup 148体 系 结 构 集 成 开 发 环 境 模 型 THU SAGroup 149 什 么 是 云 计 算 云 计 算 (Cloud Computing)是 分 布 式 处 理(Distributed Computing)、 并 行 处 理 (Parallel Computing)和 网 格 计 算 (Grid Computing)
53、的 发 展, 或 者 说 是 这 些 计 算 机 科 学 概 念 的 商 业 实 现 。 云 计 算 的 基 本 原 理 是 , 通 过 使 计 算 分 布 在 大 量的 分 布 式 计 算 机 上 , 而 非 本 地 计 算 机 或 远 程 服务 器 中 , 企 业 数 据 中 心 的 运 行 将 更 与 互 联 网 相似 。 这 使 得 企 业 能 够 将 资 源 切 换 到 需 要 的 应 用上 , 根 据 需 求 访 问 计 算 机 和 存 储 系 统 。 THU SAGroup 150 vAmazon Elastic Compute Cloud( EC2) Amazon Simple
54、 Storage Service (S3)vGoogle App Engine Big TablevMicrosoft Office Live Live Mesh THU SAGroup 151 v依 靠 分 布 式 技 术 将 以 往 大 型 主 机 的 工 作 交 由 集 群 计 算 机来 做 如 何 提 高 集 群 性 能 如 果 增 加 集 群 稳 定 性 如 何 改 善 负 载 平 衡 如 何 将 应 用 和 平 台 分 离 THU SAGroup 152 vCloud Architecture的 主 要 组 成 部 分 队 列 系 统 : 管 理 任 务 队 列 和 优 先 级 任
55、 务 调 度 系 统 : 管 理 任 务 分 配 文 件 系 统 : 管 理 大 规 模 数 据 存 储 数 据 库 系 统 : 管 理 查 询 和 查 询 结 果 数 据 中 间 结 果 存 储 系 统 : 用 于 快 速 处 理 计 算 中 的 大 数 据 量中 间 结 果 , 并 且 将 任 务 的 各 个 步 骤 连 接 起 来 THU SAGroup 153 v 队 列 系 统 Amazon SQS v 任 务 调 度 系 统 Amazon EC2v 文 件 系 统 Handoop v 数 据 库 系 统 Amazon SimpleDBv 中 间 结 果 存 储 系 统 Amazon
56、 S3 THU SAGroup 154 vMapReduce Architecture THU SAGroup 155 THU SAGroup课 程 简 介1 软 件 体 系 结 构 的 定 义 和 发 展 综 述2 工 业 软 件 体 系 结 构 的 主 要 分 类3 软 件 体 系 结 构 的 发 展 方 向4 案 例 研 究5 156 J2EE是 在 软 件 体 系 结 构 的 支 持 下 完 成 的 易 用 性 扩 展 性 稳 定 性 可 移 植 性 THU SAGroup 157 为 什 么 需 要 中 间 件 无 中 间 件有 中 间 件中 间 件 vJ2EE是 一 个 规 范 J
57、2EE定 义 了 企 业 级 服 务 都 有 哪 些 J2EE定 义 了 企 业 级 参 考 体 系 结 构 , 即 所 有 的服 务 组 件 如 何 相 互 协 作 , 形 成 企 业 级 服 务 系 统基 础 平 台 Sun负 责 定 义 J2EE规 范 , 以 及 发 布 一 个 参 考实 现 , 实 际 商 业 上 用 到 的 J2EE产 品 均 为 第 三方 实 现 Sun J2EEBEA WebLogic IBM WebSphere JBoss实 现 实 现实 现 v企 业 信 息 系 统 ( EIS) 的 开 发 模 式 由 于 EIS的 复 杂 性 日益 提 高 , 企 业 为
58、 了 实 现 快 速 开 发 并 降 低 系 统 设 计 、 开 发成 本 , 往 往 选 择 从 服 务 器 端 平 台 提 供 商 购 买 商 品 化 的 中间 件 , 以 缩 短 EIS系 统 的 开 发 周 期 和 开 发 成 本 。v现 在 应 用 最 为 广 泛 的 服 务 器 端 平 台 J2EE 是 Sun Microsystem公 司 Java 2平 台 的 企 业 版, 它 支 持 EJB( Enterprise JavaBeans) 服 务 器 端 组件 体 系 结 构 ; DNA( Distributed interNet Application Architectur
59、e) 是 微 软 公 司 开 发 的 以 COM+技 术 作 为 自 己 的 服 务 器 端组 件 体 系 结 构 。 概 念 树EIS的 中 间 件 支 持Microsoft DNA Microsoft .Net J2EE定 义 服 务 定 义 参 考 体 系 结 构JMXJMS JTA/JTSJAASJAWS EJBWeb服 务 vJ2EE的 设 计 初 衷 就 是 为 了 简 化 多 层 企 业 应 用 系 统 中 复杂 的 开 发 、 部 署 和 管 理 问 题 ;vSun公 司 只 提 供 J2EE的 规 范 , 规 定 J2EE应 当 会 做 什 么。 而 J2EE实 现 厂 商
60、则 定 义 了 怎 么 做 到 。 基 于 J2EE规 范 的 服 务 器 端 平 台 供 应 商 很 多 , 比 较 著名 的 有 IBM、 BEA System和 Oracle。 vJ2EE包 含 如 下 4个 方 面 的 内 容 : J2EE平 台 规 范 定 义 了 一 个 J2EE服 务 器 端 平 台 供 应 商 所 必 须 遵 守 的 规范 , 它 将 原 有 的 各 种 JPE应 用 开 发 接 口 规 范 整 合 在 一 起, 提 供 了 统 一 的 服 务 器 端 产 品 开 发 平 台 。 它 还 提 供 了J2EE和 其 它 规 范 的 协 同 工 作 机 制 , 如
61、将 J2EE系 统 和CORBA系 统 结 合 在 一 起 的 RMI over IIOP。 J2EE参 考 实 现 。 它 是 一 个 J2EE规 范 的 完 整 实 现 。这 个 参 考 实 现 的 提 出 证 明 了 J2EE规 范 的 可 实 现 性 ,并 可 以 直 接 供 应 用 开 发 人 员 进 行 开 发 。 J2EE兼 容 性 测 试 组 件 。 Sun Microsystem提 出 了一 整 套 兼 容 性 检 测 组 件 检 验 一 个 产 品 是 否 满 足 J2EE规 范 , 本 书 中 的 JBoss就 满 足 这 种 兼 容 性 测 试 , 是 真正 意 义 上
62、 的 J2EE平 台 。 J2EE蓝 图 。 一 个 基 于 J2EE规 范 的 应 用 程 序 开 发 模型 , 可 以 供 企 业 应 用 开 发 人 员 参 考 。 v表 示 层 主 要 负 责 用 户 界 面 , 提 供 了 大 量 和 用 户 交 互 的 可 视 化组 件 。 用 户 界 面 的 设 计 形 式 标 准 的 应 用 程 序 风 格 ( 采 用 CORAB客 户 或 Java应 用 程 序) ; 基 于 B/S模 式 的 浏 览 器 风 格 ( 采 用 Java Applet、 JSP和Servlets) 。 CORBA客 户 使 用 COSNaming( CORBA名
63、 字 服 务 ,CORBA Naming Service) 访 问 业 务 层 种 的 实 现 业 务逻 辑 的 组 件 , 并 通 过 IIOP协 议 调 用 业 务 组 件 的 方 法 。 Java客 户 使 用 JNDI来 访 问 业 务 逻 辑 组 件 , 并 通 过RMI-IIOP协 议 调 用 业 务 组 件 的 方 法 。 v业 务 层 采 用 EJB作 为 服 务 器 端 组 件 模 型 , 业 务 逻 辑 组 件 被 设计 成 EJB组 件 供 表 示 层 使 用 。 EJB组 件 通 常 有 Session Bean( 处 理 业 务 逻 辑 ) 、Entity Bean(
64、 保 存 业 务 数 据 ) 和 MessageDriven Bean。 如 果 应 用 开 发 人 员 不 希 望 业 务 层 的 实 现 完 全 基 于 Java, 可 以 使 用 JNI( Java Native Interface) 技 术 或CORBA代 理 ( 使 用 Java IDL) 技 术 调 用 其 它 语 言 (如 C+、 Delphi、 VB等 ) 编 写 的 库 函 数 或 类 , 一 起 协同 实 现 业 务 逻 辑 的 功 能 。 v数 据 层 使 用 JDBC( Java Database Connectivity) 和 数 据 库管 理 系 统 DBMS进 行
65、 通 信 , 通 过 标 准 SQL完 成 对 数 据库 的 操 作 。 连 接 器 ( Connector) 考 虑 到 企 业 存 在 的 原 有 信 息 化成 果 , 如 ERP系 统 、 CRM系 统 或 MIS系 统 , J2EE提供 了 连 接 器 ( Connector) 的 概 念 , 它 使 用 特 殊 的 协议 和 这 些 原 有 的 系 统 进 行 互 联 , 最 大 限 度 的 节 省 了 企业 开 发 成 本 。 业 务代 码业 务代 码 v Java Management Extension (JMX) 企 业 服 务 底 层 加 载 平 台v Java Messa
66、ging Service (JMS) 企 业 级 消 息 传 输 服 务v Java Transaction API (JTA) / Java Transaction Service (JTS) 企 业 级 事 务 管 理 服 务v Java Another Web Storage (JAWS) 对 象 /关 系 型 数 据 库 映 射 服 务v Java Authentication and Authorization Service (JAAS) 企 业 级 安 全 服 务v Java Naming and Directory Service (JNDI) 名 字 与 目 录 服 务v JBoss实 现 J2EEJBoss J2EEJBoss JMX JMXJBossMQ JMSJBossTX JTA/JTSJBossCMP JAWS JBossSX JAAS 实 现 关 系 对 照 vJBoss的 面 向 对 象 模 式 特 点 面 向 对 象 模 式 是 JBoss应 用服 务 器 最 基 本 的 构 建 模 式 。 JBoss完 全 采 用 基 于 构 件 的插 件 方 式
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年水电工程运行维护管理合同示范文本.docx
- 2025年工程勘测设计合同模板.docx
- 2025年区域产品销售代理合同.docx
- 2025年经销商授权合同样本.docx
- 2025年员工住房资金借贷合同.docx
- 2025年轻钢建筑施工合同示例.docx
- 2025年网络推广托管合同.docx
- 2025年简明个人借款正式合同范例.docx
- 2025年房产按揭贷款合同范例.docx
- 2025年技术合同争议调解.docx
- 2025年电子版城市住宅租赁合同范本.docx
- 2025年简易转让合同协议书样本.docx
- 2025年投资顾问服务合同实例.docx
- 2025年经销合同模板.docx
- 2025年工业项目设计合同样本.docx