软件体系结构

上传人:飞****9 文档编号:27080772 上传时间:2021-08-16 格式:PPT 页数:84 大小:3.44MB
收藏 版权申诉 举报 下载
软件体系结构_第1页
第1页 / 共84页
软件体系结构_第2页
第2页 / 共84页
软件体系结构_第3页
第3页 / 共84页
资源描述:

《软件体系结构》由会员分享,可在线阅读,更多相关《软件体系结构(84页珍藏版)》请在装配图网上搜索。

1、软件体系结构 软 件 体 系 结 构 的 基 本 概 念 典 型 的 软 件 体 系 结 构 风 格 基 于 网 络 的 软 件 体 系 结 构 模式分类 低 层 模 式 : 惯 用 法 (idiom) 中 层 模 式 : 设 计 模 式 (design pattern) 高 层 模 式 : 体 系 结 构 模 式 (architecture pattern) 惯用法 惯 用 法 的 特 点 :是与具体语言密切相关的编程经验的总结描述如何使用给定的语言特征来实现构件的特定方面及其关系代表最底层的模式惯用法更关注设计的实现可能是一种特定设计模式的具体实现 设计模式范围目的创建型模式结构型模式行为

2、型模式类模式工厂方法模式(类)适配器模式解释器模式模板方法模式 对象模式抽象工厂模式建造者模式原型模式单例模式(对象)适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式职责链模式命令模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式访问者模式 基本概念 什 么 是 体 系 结 构目 前 还 没 有 一 个 公 认 的 关 于 软 件 体 系 结 构 的 定 义 , 许 多 专 家学 者 从 不 同 角 度 对 软 件 体 系 结 构 进 行 了 描 述 。 Bass、Clements和 Kazman给 出 了 如 下 定 义 : “ 一 个 程 序 或 计 算 机系 统 的

3、软 件 体 系 结 构 是 指 系 统 的 一 个 或 者 多 个 结 构 。 结 构 中包 括 软 件 的 构 件 、 构 件 的 外 部 可 见 属 性 以 及 它 们 之 间 的 相 互关 系 。 外 部 可 见 属 性 则 是 指 软 件 构 件 提 供 的 服 务 、 性 能 、 使用 特 性 、 错 误 处 理 、 共 享 资 源 使 用 等 。 ”这 一 定 义 强 调 在 任 一 体 系 结 构 表 述 中 “ 软 件 构 件 ” 的 角 色 。 Dewayne Perry和 A1exander Wo1f曾 这 样 定 义 : “ 软 件体 系 结 构 是 具 有 一 定 形

4、式 的 结 构 化 元 素 , 即 构 件 的 集 合 , 包括 处 理 构 件 、 数 据 构 件 和 连 接 构 件 。 处 理 构 件 负 责 对 数 据 进行 加 工 , 数 据 构 件 是 被 加 工 的 信 息 , 连 接 构 件 把 体 系 结 构 的不 同 部 分 组 合 连 接 起 来 。 ” 基本概念 基本概念框 架 随 着 应 用 的 发 展 和 完 善 , 某 些 带 有 整 体 性 的 应 用 模 式 被逐 渐 固 定 下 来 , 形 成 特 定 的 框 架 , 包 括 基 本 构 成 元 素 和 关系 。 框 架 是 特 定 应 用 领 域 问 题 的 体 系 结

5、构 模 式 , 框 架 定 义了 基 本 构 成 单 元 和 关 系 后 , 开 发 者 就 可 以 集 中 精 力 解 决 业务 逻 辑 问 题 。 在 组 织 形 式 上 , 框 架 是 一 个 待 实 例 化 的 完 整 系 统 , 定 义了 软 件 系 统 的 元 素 和 关 系 , 创 建 了 基 本 的 模 块 , 定 义 了 涉及 功 能 更 改 和 扩 充 的 插 件 位 置 。 典 型 的 框 架 例 子 有 MFC框架 和 Struts框 架 。 体 系 结 构 的 重 要 作 用 体 现 在 以 下 三 个 方 面 :( 1) 体 系 结 构 的 表 示 有 助 于 风

6、险 承 担 者 ( 项 目 干 系 人 ) 进 行 交 流 。 ( 2) 体 系 结 构 突 出 了 早 期 设 计 决 策 。 ( 3) 软 件 体 系 结 构 是 可 传 递 和 可 复 用 的 模 型 。 基本概念 体 系 结 构 的 重 要 作 用 体系结构风格 传 统 的 体 系 结 构 数 据 流 风 格 (Dataflow): 批 处 理 序 列 、 管 道 过 滤 器 风 格 (Pipe-and-Filter) 调 用 /返 回 风 格 : 主 程 序 /子 程 序 、 面 向 对 象 风 格 (ADT)、 层 次 系 统 (Layered Systems) 事 件 系 统 风

7、 格 : 进 程 通 信 、 事 件 系 统 仓 库 风 格 : 数 据 库 系 统 、 超 文 本 系 统 、 黑 板 系 统 MVC软 件 体 系 结 构 体系结构风格 基 于 网 络 的 体 系 结 构 客 户 端 ( 服 务 器 ) /服 务 器 体 系 结 构 : 一 层 /两 层 /三 层 结 构 、 Java EE P2P软 件 体 系 结 构 网 格 计 算 体 系 结 构 SOA与 Web Services 云 计 算 体 系 结 构 当 输 入 数 据 经 过 一 系 列 的 计 算 和 操 作 构 件 的 变 换 形 成 输出 数 据 时 , 可 以 应 用 这 种 体

8、系 结 构 。 管 道 /过 滤 器 、 批 处 理 序 列 都 属 于 数 据 流 风 格 。 管 道 /过 滤 器 结 构 如 下 图 所 示 :数据流风格 数 据 流 风 格 管 道 /过 滤 器 结 构 Linux系 统 中的 命 令 序 列堆 叠 的 数 据 过 程( 图 像 处 理 ) 从 上 图 可 看 出 , 管 道 /过 滤 器 结 构 拥 有 一 组 被 称 为 过 滤器 ( filter) 的 构 件 , 这 些 构 件 通 过 管 道 ( pipe) 连 接 , 管道 将 数 据 从 一 个 构 件 传 送 到 下 一 个 构 件 。 每 个 过 滤 器 独 立 于 其

9、 上 游 和 下 游 的 构 件 而 工 作 , 过 滤 器的 设 计 要 针 对 某 种 形 式 的 数 据 输 入 , 并 且 产 生 某 种 特 定 形式 的 数 据 输 出 。 如 果 数 据 流 退 化 成 为 单 线 的 变 换 , 则 称 为 批 处 理 序 列( batch sequential) 。 这 种 结 构 接 收 一 批 数 据 , 然 后 应用 一 系 列 连 续 的 构 件 ( 过 滤 器 ) 变 换 它 。数据流风格 管 道 /过 滤 器 风 格 具 有 以 下 优 点 :( 1) 使 得 软 构 件 具 有 良 好 的 隐 蔽 性 和 高 内 聚 、 低 耦

10、 合 的 特 点 。( 2) 允 许 设 计 者 将 整 个 系 统 的 输 入 /输 出 行 为 看 成 是 多 个 过 滤 器 的 行 为 的 简 单 合 成 。 ( 3) 支 持 软 件 复 用 。 只 要 提 供 适 合 在 两 个 过 滤 器 之 间 传 送 的 数 据 , 任 何 两 个 过 滤 器 都 可 被 连 接 起 来 。( 4) 系 统 维 护 和 增 强 系 统 性 能 简 单 。 新 的 过 滤 器 可 以 添 加 到 现 有 系 统 中 来 ; 旧 的 可 以 被 改 进 的 过 滤 器 替 换 掉 。( 5) 允 许 对 一 些 如 吞 吐 量 、 死 锁 等 属

11、 性 的 分 析 。( 6) 支 持 并 行 执 行 。 每 个 过 滤 器 是 作 为 一 个 单 独 的 任 务 完 成 , 因 此 可 与 其 他 任 务 并 行 执 行 。数据流风格 管 道 /过 滤 器 风 格 主 要 缺 点 如 下 :( 1) 通 常 导 致 进 程 成 为 批 处 理 的 结 构 。 这 是 因 为 虽 然 过 滤器 可 增 量 式 地 处 理 数 据 , 但 它 们 是 独 立 的 , 所 以 设 计 者 必 须将 每 个 过 滤 器 看 成 一 个 完 整 的 从 输 入 到 输 出 的 转 换 。( 2) 不 适 合 处 理 交 互 的 应 用 。 当 需

12、 要 增 量 地 显 示 改 变 时 ,这 个 问 题 尤 为 严 重 。( 3) 因 为 在 数 据 传 输 上 没 有 通 用 的 标 准 , 每 个 过 滤 器 都 增加 了 解 析 和 合 成 数 据 的 工 作 , 这 样 就 导 致 了 系 统 性 能 下 降 ,并 增 加 了 编 写 过 滤 器 的 复 杂 性 。数据流风格 在 此 类 体 系 结 构 中 , 存 在 以 下 3种 子 风 格 。 主 程 序 /子 程 序 体 系 结 构 ( C语 言 ? ) 这 种 传 统 的 程 序 结 构 将 功 能 分 解 为 一 个 控 制 层 次 , 其中 “ 主 ” 程 序 调 用

13、 一 组 程 序 构 件 , 这 些 程 序 构 件 又 去 调 用 别的 程 序 构 件 , 如 下 图 所 示 。 这 种 结 构 总 体 上 为 树 状 结构 , 可 以 在 底 层 存 在 公 共 模 块 。调用返回风格 调 用 返 回 风 格 ( 常 见 , 发 挥 主 要 作 用 ) 主 程 序 /子 程 序 体 系 结 构 的 优 点 如 下 :( 1) 可 以 使 用 自 顶 向 下 , 逐 步 分 解 的 方 法 得 到 体 系 结 构图 , 典 型 的 拓 扑 结 构 为 树 状 结 构 。 基 于 定 义 使 用 关 系 对 子程 序 进 行 分 解 , 使 用 过 程

14、调 用 作 为 程 序 之 间 的 交 互 机 制 。( 2) 采 用 程 序 设 计 语 言 支 持 的 单 线 程 控 制 。其 主 要 缺 点 如 下 :( 1) 子 程 序 的 正 确 性 难 于 判 断 。 需 要 运 用 层 次 推 理 来 判 断子 程 序 的 正 确 性 , 因 为 子 程 序 的 正 确 性 取 决 于 它 调 用 的 子 程序 的 正 确 性 。( 2) 子 系 统 的 结 构 不 清 晰 。 通 常 可 以 将 多 个 子 程 序 合 成 为模 块 。调用返回风格 面 向 对 象 的 调 用 返 回 风 格 系 统 的 构 件 (类 /对 象 )封 装 了

15、 数 据 和 必 须 应 用 到 该 数 据 上 的 操作 , 构 件 间 通 过 消 息 传 递 进 行 通 信 与 合 作 。 与 主 程 序 /子 程序 的 体 系 结 构 相 比 , 面 向 对 象 风 格 中 的 对 象 交 互 会 复 杂 一些 。 面 向 对 象 风 格 与 网 络 应 用 的 需 求 在 分 布 性 、 自 治 性 、协 作 性 、 演 化 性 等 方 面 具 有 内 在 的 一 致 性 。 面 向 对 象 风 格 具 有 以 下 优 点 :( 1) 因 为 对 象 对 其 他 对 象 隐 藏 它 的 表 示 , 所 以 可 以 改 变 一 个 对 象 的 表

16、示 , 而 不 影 响 其 他 对 象 。( 2) 设 计 者 可 将 一 些 数 据 存 取 操 作 的 问 题 分 解 成 一 些 交 互 的 代 理 程 序 的 集 合 。调用返回风格 其 缺 点 如 下 :( 1) 为 了 使 一 个 对 象 和 另 一 个 对 象 通 过 过 程 调 用 等 进 行 交 互 , 必 须 知 道 对 象 的 标 识 。 只 要 一 个 对 象 的 标 识 改 变 了 , 就 必 须 修 改 所 有 其 他 明 确 调 用 它 的 对 象 。( 2) 必 须 修 改 所 有 显 式 调 用 它 的 其 他 对 象 , 并 消 除 由 此 带 来 的 一

17、些 副 作 用 。 例 如 , 如 果 A使 用 了 对 象 B, C 也 使 用 了 对 象 B, 那 么 , C对 B的 使 用 所 造 成 的 对 A 的 影 响 可 能 是 料 想 不 到 的 。 调用返回风格 层 次 结 构 层 次 结 构 的 基 本 结 构 如 下 图 所 示 。 在 这 种 体 系 结 构 中 , 整个 系 统 被 组 织 成 一 个 分 层 结 构 , 每 一 层 为 上 层 提 供 服 务 , 并作 为 下 一 层 的 客 户 。调用返回风格 各 种 构 件 过 程 调 用 各 类 网 络 协 议 栈层 级 之 间 的调 用 -返 回避 免 复 杂 性 这

18、种 风 格 支 持 基 于 可 增 加 抽 象 层 的 设 计 。 允 许 将 复 杂 问题 分 解 成 一 个 增 量 步 骤 序 列 的 实 现 。 由 于 每 一 层 最 多 只 影 响两 层 , 同 时 只 要 给 相 邻 层 提 供 相 同 的 接 口 , 允 许 每 层 用 不 同的 方 法 实 现 , 同 样 为 软 件 复 用 提 供 了 强 大 的 支 持 。 调用返回风格 调用返回风格 调用返回风格765 网 络 层321 应 用 层表 示 层会 话 层 报 文 流报 文 流报 文 流 应 用 层表 示 层会 话 层4 传 输 层 段 流 传 输 层转 接 节 点网 络 层

19、网 络 层 网 络 层协 议链 路 层 链 路 层 链 路 层协 议 转 接 节 点 分 组 流子 网 络 层网内 链 路 层 帧 流 链 路 层部物 理 层 物 理 层协 议 协物 理 层 议 物 理 层通 信 子 网 比 特 流 物 理 层分 层 系 统 实 例 : ISO/OSI网 络 的 分 层 模 型 调用返回风格用 户Shell解 释 运 行语 言 处 理 、 系 统 工 具 、 系 统 应 用 程 序系 统 调 用操 作 系 统 内 核 (System kernel)基 本 输 入 输 出 (BIOS) 计 算 机 硬 件 (CPU、 存 储 器 、 I/O等 )分 层 系 统

20、实 例 : 计 算 机 操 作 系 统 (OS)的 层 次 结 构 层 次 结 构 具 有 以 下 优 点 :( 1) 支 持 基 于 抽 象 程 度 递 增 的 系 统 设 计 , 使 设 计 者 可 以 把 一 个 复 杂 系 统 按 递 增 的 步 骤 进 行 分 解 。 ( 2) 支 持 功 能 增 强 , 因 为 每 一 层 至 多 和 相 邻 的 上 下 层 交 互 , 因 此 , 功 能 的 改 变 最 多 影 响 相 邻 的 内 外 层 。( 3) 支 持 复 用 。 只 要 提 供 的 服 务 接 口 定 义 不 变 , 同 一 层 的 不 同 实 现 可 以 交 换 使 用

21、 。 这 样 , 就 可 以 定 义 一 组 标 准 的 接 口 , 从 而 允 许 各 种 不 同 的 实 现 方 法 。调用返回风格 其 缺 点 如 下 :( 1) 并 不 是 每 个 系 统 都 可 以 很 容 易 地 划 分 为 分 层 的 模 式 , 甚 至 即 使 一 个 系 统 的 逻 辑 结 构 是 层 次 化 的 , 出 于 对 系 统 性 能 的 考 虑 , 系 统 设 计 师 不 得 不 把 一 些 低 级 或 高 级 的 功 能 综 合 起 来 。( 2) 很 难 找 到 一 个 合 适 的 、 正 确 的 层 次 抽 象 方 法 。调用返回风格 数据流与调用-返回 事

22、件系统风格 事 件 系 统 风 格 ( 独 立 构 件 ) GUI编 程 Windows操 作 系 统 中 Hook机 制 Jquery中 的 回 调 事件系统风格 事件系统风格 事 件 系 统 风 格 典型的体系结构风格 事件系统风格 事件系统风格为 何 称 为 “ 独 立 构 件 ” 风 格 ? 这 种 风 格 的 主 要 特 点 是 : 事 件 的 触 发 者 并 不 知 道 哪些 构 件 会 被 这 些 事 件 影 响 , 相 互 保 持 独 立 。这 样 不 能 假 定 构 件 的 处 理 顺 序 , 甚 至 不 知 道 哪 些过 程 会 被 调 用 ;各 个 构 件 之 间 彼 此

23、 之 间 无 连 接 关 系 , 各 自 独 立 存在 , 通 过 对 事 件 的 发 布 和 注 册 实 现 关 联 ; 事件系统风格 遇 到 断 点 , 编 辑 器 将 源 代 码 滚 动 到 断 点 处 , 变 量 监 测 器 则 更 新 当 前 变 量 值并 显 示 出 来 。 如 何 完 成 ? 事件系统风格事 件 系 统 的 基 本 构 成 与 工 作 原 理 事件系统风格 EventSource: debugger (调 试 器 ) EventHandler: editor and variable monitor (编 辑 器 与 变 量 监 视 器 ) EventManage

24、r: IDE (集 成 开 发 环 境 ) 编 辑 器 与 变 量 监 视 器 向 调 试 器 注 册 , 接 收 “ 断 点 事 件 ” ; 一 旦 遇 到 断 点 , 调 试 器 发 布 事 件 , 从 而 触 发 “ 编 辑 器 ” 与 “ 变 量 监 测器 ” ; 编 辑 器 将 源 代 码 滚 动 到 断 点 处 , 变 量 监 测 器 则 更 新 当 前 变 量 值 并 显 示出 来 。 其 他 的 例 子 ?Windows本 身 就是 事 件 驱 动 的 事件系统风格事 件 分 发 的 策 略 事件系统风格无 独 立 的 事 件 派 遣 模 块 通 过 “ 观 察 者 模 式 ”

25、 实 现 模 块 向 事 件 发 送 模 块 注 册 某 些 消 息 当 某 一 模 块 发 出 某 一 事 件 时 , 它 自 动 将 这 些 事 件 发 布 给 那 些 曾 经向 自 己 注 册 过 此 事 件 的 模 块有 独 立 的 事 件 派 遣 模 块 广 播 式 (All broadcasting) : 派 遣 模 块 将 事 件 广 播 到 所 有 的 模 块 ,但 只 有 感 兴 趣 的 模 块 才 去 取 事 件 并 触 发 自 身 的 行 为 ; 选 择 广 播 式 (Selected broadcasting) : 派 遣 模 块 将 事 件 送 到 那 些已 经 注

26、册 了 的 模 块 中 。 事件系统风格我对此事件感兴趣, 触发我的行为我对此事件不感兴趣,不触发我的行为我们都得到了事件广 播 式 事 件 派 遣 事件系统风格选 择 广 播 式 事 件 派 遣 WIN32 Event Handling Applications call the OS API(应 用 程序 调 用 操 作 系 统 的 API 注 册 自 身 及 事 件处 理 方 法 ) OS creates events to notify the applications (操 作 系 统 根 据 应 用 系 统 的行 为 , 创 建 事 件 并 通 知 其 他 已 注 册 的 应用 程

27、 序 ) user input occurred (mouse, keyboard) messages from the network arrived, . time-out happened, . application opened, system will be shut down, . WIN32 Event Handling应 用 程 序 1 的 消 息 循 环 : 循 环 接 收 属 于 应 用 程 序 1的 消 息Windows系 统 的 消 息 循 环 : 循 环 接 收 属 于 操 作 系 统 的 消 息消 息 1消 息 2消 息 m 应 用 程 序 2 的 消 息 循 环

28、 : 循 环 接 收 属 于 应 用 程 序 2的 消 息消 息 1消 息 2消 息 m 应 用 程 序 n 的 消 息 循 环 : 循 环 接 收 属 于 应 用 程 序 n的 消 息消 息 1消 息 2消 息 m用 户 产 生 的 事 件 或 其 他应 用 程 序 发 出 的 消 息依 据 应 用 程 序 队 列 和 消 息确 定 向 哪 个 应 用 程 序 发 送 消 息 1消 息 2消 息 m 依 据 消息 和 对象 控 制序 列 找到 对 应该 消 息的 对 象程 序 执行 之对 象 2对 象 n 对 象 1对 象 2对 象 n 对 象 1对 象 2对 象 n 对 象 113 42

29、56 7 数 据 库 系 统 、 超 文 本 系 统和 黑 板 系 统 都 属 于 仓 库 风格 。 在 这 种 风 格 中 , 数 据仓 库 ( 如 文 件 或 数 据 库 )位 于 这 种 体 系 结 构 的 中 心 ,其 他 构 件 会 经 常 访 问 该 数据 仓 库 , 并 对 仓 库 中 的 数据 进 行 增 加 、 修 改 或 删 除操 作 。 右 图 为 一 个 典 型 的仓 库 风 格 的 体 系 结 构 。仓库风格 仓 库 风 格 仓库风格 仓 库 风 格 实 例 注 册 表 仓库风格 仓 库 风 格 实 例 注 册 表 仓库风格 仓 库 风 格 实 例 剪 贴 板 仓库风

30、格 仓 库 风 格 实 例 剪 贴 板 仓库风格 仓 库 风 格 的 连 接 件 黑 板 构 件 负 责 协 调 信 息 在 客 户 间 的 传 递 , 当 用 户 感 兴 趣 的数 据 发 生 变 化 时 , 它 将 通 知 客 户 软 件 。 黑 板 系 统 的 组 成 如 下 图 所 示 :仓库风格 黑 板 结 构 模 型 : 包 含 核 心 功 能 和 数 据 ( 核 心 业 务 逻 辑 ) 视 图 : 向 用 户 显 示 信 息 控 制 器 : 处 理 用 户 输 入MVC风格 MVC( Model-View-Controller) 的 组 成 MVC风格 将 人 机 交 互 从 核

31、 心 功 能 中 分 离 出 来 (M) 模 型 对 用 户 来 说 是 透 明 的 , 用 户 只 需 要 观 察 视 图 (V) 用 户 与 模 型 的 交 互 通 过 控 制 器 提 供 的 安 全 方 法 来 实 现 (C) MVC的 目 的 具 有 灵 活 人 -机 界 面 的 交 互 式 应 用 程 序 可 以 灵 活 选 择 不 同 的 信 息 显 示 方 式 可 以 灵 活 选 择 用 户 的 输 入 方 式 针 对 不 同 的 用 户 角 色 , 提 供 不 同 的 用 户 界 面 不 同 用 户 具 有 不 同 权 限 , 操 作 的 方 式 也 有 所 不 同 MVC的

32、应 用 领 域 封 装 了 内 核 功 能 和 数 据业务逻辑(软件的核心)数据以及访问它们的函数(视图组件使用)执行特定应用程序处理的过程(控制器代表用户调用) 模 型 对 于 用 户 来 说 是 不 可 见 的 (M与 V独 立 ) 模 型 独 立 于 特 定 输 出 表 示 或 者 输 入 方 式 (M与 C独 立 ) 用 户 只 能 通 过 控 制 器 操 作 模 型 (C是 M与 V之 间 的 桥 梁 )MVC风格 模 型 ( Model) 向 用 户 显 示 信 息不同的视图使用不同的方法呈现信息每个视图组件都有一个更新函数,这个函数被模型变更通知激活这个函数被激活(此时模型已经改

33、变)后,将使得视图重新和模型一致在初始化阶段,视图向模型登记请求变更通知(表) 从 模 型 获 得 数 据通过状态查询函数实现例如:定时刷新MVC风格 视 图 ( View) 每 个 视 图 有 一 个 相 关 的 控 制 器 组 件 (一 一 对 应 ) 控 制 器 组 件 接 受 事 件 , 并 翻 译 成 输 入事件如何发送到控制器由用户界面平台决定事件被翻译成为对模型或者视图的请求如果控制器的行为依赖于模型的状态,那么控制器也需要向模型登记请求变更通知例如:用户点击按钮,按钮的事件响应函数将采取相应的措施处理用户要求 用 户 仅 仅 通 过 控 制 器 与 系 统 交 互MVC风格 控

34、 制 器 ( Controller) 一 个 模 型 可 对 应 多 个 视 图如果用户通过一个视图的控制器改变了模型中的数据,那么依赖于该数据的其他视图也应该反映出这样的变化一旦模型的数据发生了变化,模型需要通知所有相关的视图做出相应的变化 工 作 原 理 :模型维护了一个表所有视图还有一些控制器在这个表中登记了对变更通知的需求模型状态的改变将触发变更-传播机制,每个在表中登记的视图和控制器都会收到变更通知MVC风格 变 更 -传 播 机 制 观 察 者 模 式 ?事 件 架 构 ? MVC是 一 种 体 系 结 构 通 过 各 类 技 术 的 组 合 来 实 现 通 过 各 类 框 架 实

35、 现 ( struts等 ) 最 终 实 现 : 前 台 页 面 设 计 与 核 心 业 务 逻 辑 分 离 。MVC风格 MVC的 实 现 体系结构风格 基 于 网 络 的 体 系 结 构 客 户 端 ( 浏 览 器 ) /服 务 器 体 系 结 构 : 一 层 /两 层 /三 层 结 构 、 Java EE SOA与 Web Services 云 计 算 体 系 结 构 1965-1985:以大型机为核心的集 中 式 处 理 模 式; 1986-1990:以PC/文 件 服 务 器为核心的文 件 共 享 计 算 模 式; 1990-1996:以C/S结 构为主流的分 布 式 计 算 模 式

36、; 1996- :以Web为核心、B/S结 构为主流的分 布 式 计 算 模 式; 2000- :以各类移动设备为核心的普 适 计 算 模 式 ; 2005- :以G rid、P2P、Web2.0等为核心的分 布 式 计 算 模 式;客户端/服务器体系结构 计 算 模 式 经 历 了 以 下 六 代 : 一 个 应 用 系 统 被 分 为 两 个 逻 辑 上 分 离 的 部 分 , 每 一 部分 充 当 不 同 的 角 色 、 完 成 不 同 的 功 能 , 多 台 计 算 机 共同 完 成 统 一 的 任 务 。 客 户 机 (前 端 , front-end):业 务 逻 辑 、 与 服 务

37、 器 通 讯 的 接 口 ; 服 务 器 (后 端 : back-end):与 客 户 机 通 讯 的 接 口 、 业 务 逻 辑 、 数 据 管 理 。 一 般 的 : 客 户 机 为 完 成 特 定 的 工 作 向 服 务 器 发 出 请 求 ; 服 务 器 处 理 客 户 机 的 请 求 并 返 回 结 果 。客户端/服务器体系结构 客 户 机 /服 务 器 (Client-Server Architecture) 两 层 C/S 三 层 C/S 多 层 C/S客户端/服务器体系结构 C/S结 构 发 展 历 程 客 户 界 面 数 据 库服 务 器客 户 界 面 数 据 库服 务 器业

38、 务 逻 辑服 务 器客 户 界 面 数 据 库服 务 器业 务 逻 辑服 务 器Web服 务 器 客户端/服务器体系结构 两 层 C/S 用 户 1 用 户 2 用 户 3 用 户 4 用 户 5 Print ServerLink/Rx LPT1 LPT2 COMPower/TX PWROK WIC0ACT/CH0ACT/CH1 WIC0ACT/CH0ACT/CH1 ETHACTCOL 其 他 公 用 设 备 打 印 机调 制 解 调 器 InternetIntranet数 据 库 服 务 器 客户端/服务器体系结构 两 层 C/SClientServer 客户端/服务器体系结构 两 层 C

39、/S 基 本 构 件 : 数 据 库 服 务 器 : 存 放 数 据 的 数 据 库 、 负 责 数 据 处 理 的 业 务 逻 辑 ; 客 户 机 应 用 程 序 : GUI: 用 户 界 面 业 务 逻 辑 : 利 用 客 户 机 上 的 应 用 程 序 对 数 据 进 行 处 理 ; 连 接 件 : 经 由 网 络 的 调 用 -返 回 机 制 或 隐 式 调 用 机 制 。 客 户 机 服 务 器 : 客 户 机 向 服 务 器 发 送 请 求 , 并 接 收 返 回 结 果 。 客户端/服务器体系结构 两 层 C/S 业 务 逻 辑 的 划 分 比 重 : 在 客 户 端 多 一 些

40、 还 是 在 服 务 器 端 多 一 些 ? (胖 客 户 端 : 客 户 端 执 行 大 部 分 的 数 据 处 理 操 作 ) (瘦 客 户 端 : 客 户 端 具 有 很 少 或 没 有 业 务 逻 辑 ) 客户端/服务器体系结构 两 层 C/S应 用 两 层 C/S架 构 通 常 被 用 在 那 些 管 理 与 操 作 不 太 复 杂 的 非 实 时 的 信 息处 理 系 统 适 合 于 轻 量 级 事 务 客 户 机 对 服 务 器 的 请 求 少 , 数 据 传 输 量 少 当 业 务 逻 辑 较 少 变 化 以 及 用 户 数 少 于 100时 , 两 层 C/S架 构 的 性

41、能较 好 客户端/服务器体系结构 三 层 C/S 在 客 户 端 与 数 据 库 服 务 器 之 间 增 加 了 一 个 中 间 层 中 间 层 可 能 为 : 事 务 处 理 监 控 服 务 器 、 消 息 服 务 器 、 应 用 服 务 器 中 间 层 负 责 消 息 排 队 、 业 务 逻 辑 执 行 、 数 据 传 输 等 功 能 客户端/服务器体系结构 三 层 C/S应 用 输 入 数 据输 出 数 据 请 求 按 钮 表 示 层 业 务 处 理 开 始 SQL 请 求 结 束 SQL 请 求 开 始 业 务 处 理 结 束 数 据 存 取 请 求业 务 处 理 程 序业 务 处 理

42、 请 求 和业 务 处 理 所 需 的全 部 输 入 数 据全 部 处 理 结 束 DBMS 执 行 SQL数 据 层 业 务 处 理 开 始数 据 存 取 请 求业 务 处 理 结 束数 据 存 取 程 序数 据 登 录 /更 新/读 取 的 请 求数 据 登 录 /更 新/读 取 的 结 果 功 能 层 客户端/服务器体系结构 三 层 C/S 表 示 层 : 用 户 接 口 部 分 , 担 负 着 用 户 与 应 用 之 间 的 对 话 功 能 ; 检 查 用 户 的 输 入 , 显 示 应 用 的 输 出 ; 通 常 使 用 GUI; 在 变 更 时 , 只 需 要 改 写 显 示 控

43、制 和 数 据 检 查 程 序 , 而 不 影 响其 他 层 ; 不 包 含 或 包 含 一 部 分 业 务 逻 辑 。 客户端/服务器体系结构 三 层 C/S 表 示 层 : 用 户 接 口 部 分 , 担 负 着 用 户 与 应 用 之 间 的 对 话 功 能 ; 检 查 用 户 的 输 入 , 显 示 应 用 的 输 出 ; 通 常 使 用 GUI; 在 变 更 时 , 只 需 要 改 写 显 示 控 制 和 数 据 检 查 程 序 , 而 不 影 响其 他 层 ; 不 包 含 或 包 含 一 部 分 业 务 逻 辑 。 客户端/服务器体系结构 三 层 C/S 功 能 层 : 应 用 系

44、 统 的 主 体 , 包 括 大 部 分 业 务 处 理 逻 辑 (通 常 以 业 务 构 件的 形 式 存 在 , 如 JavaBean/EJB/COM等 ); 从 表 示 层 获 取 用 户 的 输 入 数 据 并 加 以 处 理 ; 处 理 过 程 中 需 要 从 数 据 层 获 取 数 据 或 向 数 据 层 更 新 数 据 ; 处 理 结 果 返 回 给 表 示 层 。 客户端/服务器体系结构 三 层 C/S 数 据 层 : DMBS; 接 受 功 能 层 的 数 据 查 询 请 求 , 执 行 请 求 , 并 将 查 询 结 果 返 回给 功 能 层 ; 从 功 能 层 接 受 数

45、 据 存 取 请 求 , 并 将 数 据 写 入 数 据 库 ; 请 求 的 执 行 结 果 也 要 返 回 给 功 能 层 。 客户端/服务器体系结构 三 层 C/S结 构 的 物 理 结 构 两 层 C/S已 经 将 数 据 层 分 离 出 来 三 层 C/S则 要 将 表 示 层 与 功 能 层 分 离 开 来 , 形 成 独 立 的 程 序 , 并使 二 者 之 间 的 接 口 简 洁 明 了 。 问 题 : 这 三 个 层 次 在 物 理 上 是 如 何 分 布 的 ? 客户端/服务器体系结构 基 于 集 群 (Cluster)的 C/S物 理 分 布 事 实 上 , 功 能 层 通

46、 常 不 是 只 驻 留 在 同 一 台 服 务 器 上 , 数 据 层 也 是如 此 ; 如 果 功 能 层 (或 数 据 层 )分 布 在 多 台 服 务 器 上 , 那 么 就 形 成 了 基 于集 群 (Cluster)的 C/S物 理 分 布 模 式 。 客户端/服务器体系结构 三 层 C/S结 构 的 优 点 在 用 户 数 目 较 多 的 情 况 下 , 三 层 C/S结 构 将 极 大 改 善 性 能 与 灵 活性 (通 常 可 支 持 数 百 并 发 用 户 , 通 过 集 群 可 达 数 万 并 发 用 户 ); 允 许 合 理 地 划 分 三 层 结 构 的 功 能 ,

47、使 之 在 逻 辑 上 保 持 相 对 独 立 性 ,能 提 高 系 统 和 软 件 的 可 维 护 性 和 可 扩 展 性 允 许 更 灵 活 有 效 地 选 用 相 应 的 平 台 和 硬 件 系 统 , 并 且 这 些 平 台 和各 个 组 成 部 分 可 以 具 有 良 好 的 可 升 级 性 和 开 放 性 。 客户端/服务器体系结构 浏 览 器 /服 务 器 (Browser/Server Architecture) 浏 览 器 /服 务 器 (B/S)是 三 层 C/S风 格 的 一 种 实 现 方 式 。 表 现 层 : 浏 览 器 逻 辑 层 : Web服 务 器 应 用 服

48、 务 器 数 据 层 : 数 据 库 服 务 器 客户端/服务器体系结构 浏 览 器 /服 务 器 (Browser/Server Architecture) J2EE平 台 典 型 B/S结 构 的 实 现 方 式 客户端/服务器体系结构 B/S架 构 的 优 点 基 于 B/S体 系 结 构 的 软 件 , 系 统 安 装 、 修 改 和 维 护 全 在 服 务 器 端解 决 , 系 统 维 护 成 本 低 : 客 户 端 无 任 何 业 务 逻 辑 , 用 户 在 使 用 系 统 时 , 仅 仅 需 要 一 个 浏 览 器 就可 运 行 全 部 的 模 块 , 真 正 达 到 了 “ 零

49、 客 户 端 ” 的 功 能 , 很 容 易 在 运 行时 自 动 升 级 。 良 好 的 灵 活 性 和 可 扩 展 性 : 对 于 环 境 和 应 用 条 件 经 常 变 动 的 情 况 , 只要 对 业 务 逻 辑 层 实 施 相 应 的 改 变 , 就 能 够 达 到 目 的 。 三 层 模 式 成 为 真 正 意 义 上 的 “ 瘦 客 户 端 ” , 从 而 具 备 了 很 高 的 稳 定 性 、 延 展 性 和 执 行 效 率 。 三 层 模 式 可 以 将 服 务 集 中 在 一 起 管 理 , 统 一 服 务 于 客 户 端 , 从 而具 备 了 良 好 的 容 错 能 力

50、和 负 载 平 衡 能 力 。 客户端/服务器体系结构 B/S架 构 的 优 点 基 于 B/S体 系 结 构 的 软 件 , 系 统 安 装 、 修 改 和 维 护 全 在 服 务 器 端解 决 , 系 统 维 护 成 本 低 : 客 户 端 无 任 何 业 务 逻 辑 , 用 户 在 使 用 系 统 时 , 仅 仅 需 要 一 个 浏 览 器 就可 运 行 全 部 的 模 块 , 真 正 达 到 了 “ 零 客 户 端 ” 的 功 能 , 很 容 易 在 运 行时 自 动 升 级 。 良 好 的 灵 活 性 和 可 扩 展 性 : 对 于 环 境 和 应 用 条 件 经 常 变 动 的 情

51、 况 , 只要 对 业 务 逻 辑 层 实 施 相 应 的 改 变 , 就 能 够 达 到 目 的 。 三 层 模 式 成 为 真 正 意 义 上 的 “ 瘦 客 户 端 ” , 从 而 具 备 了 很 高 的 稳 定 性 、 延 展 性 和 执 行 效 率 。 三 层 模 式 可 以 将 服 务 集 中 在 一 起 管 理 , 统 一 服 务 于 客 户 端 , 从 而具 备 了 良 好 的 容 错 能 力 和 负 载 平 衡 能 力 。 客户端/服务器体系结构 B/S架 构 的 缺 点 客 户 端 浏 览 器 以 同 步 的 请 求 /响 应 模 式 交 换 数 据 , 每 请 求 一 次

52、 服 务器 就 要 刷 新 一 次 页 面 ; ( AJAX ?) 受 HTTP协 议 “ 基 于 文 本 的 数 据 交 换 ” 的 限 制 , 在 数 据 查 询 等 响应 速 度 上 , 要 远 远 低 于 C/S体 系 结 构 ; 数 据 提 交 一 般 以 页 面 为 单 位 , 数 据 的 动 态 交 互 性 不 强 , 不 利 于 在线 事 务 处 理 (OLTP)应 用 ; 受 限 于 HTML的 表 达 能 力 , 难 以 支 持 复 杂 G UI (如 报 表 等 )。 客户端/服务器体系结构 C/S+B/S混 合 体 系 结 构 为 了 克 服 C/S与 B/S各 自 的

53、 缺 点 , 发 挥 各 自 的 优 点 , 在 实 际 应 用 中 ,通 常 将 二 者 结 合 起 来 ; 混 合 原 则 一 : “ 内 外 有 别 ” 的 原 则 : 企 业 内 部 用 户 通 过 局 域 网 直 接 访 问 数 据 库 服 务 器 C/S结 构 ; 交 互 性 增 强 ; 数 据 查 询 与 修 改 的 响 应 速 度 高 ; 企 业 外 部 用 户 通 过 Internet访 问 Web服 务 器 /应 用 服 务 器 B/S结 构 ; 用 户 不 直 接 访 问 数 据 , 数 据 安 全 ; 客户端/服务器体系结构 C/S+B/S混 合 体 系 结 构 客户端

54、/服务器体系结构 C/S+B/S混 合 体 系 结 构 混 合 原 则 二 : “ 查 改 有 别 ” 的 原 则 : 不 管 用 户 处 于 企 业 内 外 什 么 位 置 (局 域 网 或 Internet), 凡 是 需 要 对 数 据进 行 更 新 操 作 的 (Add, Delete, Update), 都 需 要 使 用 C/S结 构 ; 如 果 只 是 执 行 一 般 的 查 询 与 浏 览 操 作 (Read/Query), 则 使 用 B/S结 构 。 客户端/服务器体系结构 C/S+B/S混 合 体 系 结 构 客户端/服务器体系结构 C/S+B/S混 合 体 系 结 构 混 合 原 则 二 : “ 查 改 有 别 ” 的 原 则 : 不 管 用 户 处 于 企 业 内 外 什 么 位 置 (局 域 网 或 Internet), 凡 是 需 要 对 数 据进 行 更 新 操 作 的 (Add, Delete, Update), 都 需 要 使 用 C/S结 构 ; 如 果 只 是 执 行 一 般 的 查 询 与 浏 览 操 作 (Read/Query), 则 使 用 B/S结 构 。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!