《基于SOA的服务构件封装技术研究.pdf》由会员分享,可在线阅读,更多相关《基于SOA的服务构件封装技术研究.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1756 2009,30 (7) 计 算 机 工 程 与 设 计 Computer Engineering and Design0 引 言业 界 提 出 面 向 服 务 的 架 构 (service oriented architecture,SOA)作 为 软 件 体 系 结 构 的 下 一 个 发 展 阶 段 , 来 帮 助 软 件 开 发商 解 决 新 时 期 软 件 开 发 中 存 在 的 问 题 。 SOA 从 根 本 上 解 决了 “ 信 息 孤 岛 ” 问 题 , 它 把 应 用 和 资 源 转 换 成 标 准 的 服 务 , 从而 形 成 资 源 的 共 享 。 据 Yanke
2、e 集 团 随 机 调 查 了 437 家 美 国企 业 , 有 75%的 企 业 已 计 划 进 行 大 规 模 的 SOA 投 资 1-2。 从 上面 这 份 调 查 可 以 看 出 , SOA在 国 外 的 企 业 中 已 经 被 广 泛 地 接受 并 且 逐 步 地 使 用 。 但 是 国 内 企 业 实 施 SOA 架 构 却 还 方 兴未 艾 , 国 内 企 业 对 于 SOA 持 观 望 态 度 , 很 多 企 业 怀 疑 SOA 是在 炒 作 概 念 , 放 慢 了 进 行 SOA 部 署 的 计 划 。 这 一 点 与 目 前 国内 对 于 SOA 缺 乏 深 入 的 研 究
3、 有 关 。 目 前 国 内 的 研 究 主 要 有以 下 几 个 特 点 :(1) 较 多 的 讨 论 SOA 架 构 本 身 , 相 对 忽 视 SOA 架 构 建 模和 具 体 实 现 部 署 的 细 节 。 诸 如 :“ SOA 可 以 灵 活 地 执 行 任 何 提交 的 任 务 , 而 且 做 得 更 快 、 更 有 效 率 , 成 本 也 比 以 往 用 过 的 其它 方 法 来 得 低 廉 。 ” 这 些 相 关 讨 论 通 常 只 是 空 中 楼 阁 , 并 未 涉及 企 业 真 正 需 要 的 开 发 与 集 成 步 骤 以 及 部 署 规 划 等 。(2)较 多 的 讨
4、论 SOA的 各 种 实 现 技 术 , 相 对 缺 少 案 例 辅 助说 明 , 解 释 比 较 空 泛 。(3)较 多 讨 论 SOA与 Web服 务 的 关 系 , 混 淆 了 两 者 间 的 概 念 。因 此 , 虽 然 SOA 现 在 已 经 成 为 国 内 研 究 的 热 点 , 但 多 在理 论 层 面 和 架 构 层 次 上 , 真 正 应 用 到 实 践 的 并 不 多 。 如 何 将SOA 的 优 势 与 IT 实 践 相 结 合 , 仍 然 是 有 待 解 决 的 问 题 。 遗 留系 统 是 一 笔 宝 贵 的 财 富 。 本 文 在 深 入 研 究 SOA 理 论 的
5、 基 础上 , 重 点 研 究 了 基 于 SOA 的 遗 留 系 统 服 务 构 件 封 装 技 术 。1 面 向 服 务 的 架 构 (SOA)1.1 SOA 概 述SOA是 一 个 构 件 模 型 , 它 将 应 用 程 序 的 不 同 功 能 单 元 (称为 服 务 ), 通 过 服 务 之 间 定 义 良 好 的 接 口 和 契 约 联 系 起 来 。 接口 采 用 中 立 的 方 式 进 行 定 义 , 它 应 该 独 立 于 实 现 服 务 的 硬 件平 台 、 操 作 系 统 和 编 程 语 言 3。收 稿 日 期 : 2008-04-10; 修 订 日 期 : 2009-01
6、-12。基 金 项 目 : 国 家 自 然 科 学 基 金 项 目 (60774041)。作 者 简 介 : 韩 丁 (1977 ), 男 , 吉 林 长 春 人 , 硕 士 , 助 理 工 程 师 , 研 究 方 向 为 分 布 式 计 算 、 人 工 智 能 ; 沈 建 京 (1961 ), 男 , 河 北 人 , 博 士 生导 师 , 研 究 方 向 为 分 布 式 计 算 、 人 工 智 能 ; 万 芳 (1983 ), 女 , 河 南 封 丘 人 , 硕 士 研 究 生 , 研 究 方 向 为 分 布 式 计 算 、 人 工 智 能 ; 张 慧 (1980 ),女 , 硕 士 , 工
7、 程 师 , 研 究 方 向 为 分 布 式 计 算 、 地 图 制 图 。 E-mail: 基 于 SOA 的 服 务 构 件 封 装 技 术 研 究韩 丁 1, 沈 建 京 1, 万 芳 1, 张 慧 2(1. 解 放 军 信 息 工 程 大 学 理 学 院 , 河 南 郑 州 450001; 2. 61512 部 队 , 北 京 100088)摘 要 : SOA 源 于 早 期 的 基 于 构 件 的 分 布 式 计 算 方 式 , 目 前 已 经 被 多 数 企 业 广 泛 认 可 。 在 SOA 的 实 施 过 程 中 , 对 于 系 统 设 计者 来 讲 , 服 务 的 设 计 是
8、 一 个 非 常 重 要 的 问 题 。 遗 留 系 统 是 一 笔 宝 贵 的 财 富 。 在 研 究 了 SOA 理 论 的 基 础 上 , 根 据 多 粒 服 务 的SOA 设 计 原 则 , 提 出 了 将 遗 留 系 统 封 装 成 为 服 务 构 件 。 给 出 了 服 务 构 件 的 定 义 和 基 本 概 念 模 型 。 结 合 服 务 设 计 的 理 论 和 服务 构 件 封 装 的 实 践 提 出 了 服 务 构 件 设 计 的 一 般 参 考 步 骤 。 并 将 接 口 技 术 作 为 服 务 构 件 封 装 技 术 的 重 点 。 最 后 将 这 种 设 计 方法 应
9、用 于 具 体 的 实 践 中 , 取 得 了 较 好 的 效 果 。关 键 词 : 面 向 服 务 架 构 ; 遗 留 系 统 ; 服 务 构 件 ; 封 装 ; 模 型 ; 接 口 描 述中 图 法 分 类 号 : TP39 文 献 标 识 码 : A 文 章 编 号 : 1000-7024 (2009) 07-1756-04Research on encapsulation of service component based on service-oriented architectureHAN Ding1, SHEN Jian-jing1, WAN Fang1, ZHANG Hui2
10、(1. Institute of Science, PLA Information Engineering University, Zhengzhou 450001, China;2. 61512 Troops, Beijing 100088, China)Abstract: SOA is developed from original distributed computation based on components. Nowadays it has been wildly accepted. Fordesigners of SOA, it is very important to de
11、sign the service. Legacy system is valuable riches. How to wrap legacy system is introducedinto service component. The definition and the basic concept model of service component are introduced after analyzed the principle ofmulti-grain service and the studying of SOA. The designing step of service
12、component on studying the theory of service s design and thepractice of the encapsulation of service component is presented. The method has good result in practice.Key words: SOA; legacy system; service component; encapsulation; model; interface description计 算 机 应 用 技 术计 算 机 工 程 与 设 计 Computer Engin
13、eering and DesignDOI:10.16208/j.issn1000-7024.2009.07.034韩 丁 , 沈 建 京 , 万 芳 , 等 : 基 于 SOA 的 服 务 构 件 封 装 技 术 研 究 2009,30 (7) 1757SOA 采 用 服 务 请 求 的 软 件 架 构 , 从 根 本 上 改 变 了 传 统 软件 的 开 发 方 式 。 与 传 统 的 软 件 系 统 不 同 , SOA 只 限 定 服 务 所需 的 信 息 并 提 出 服 务 请 求 , 但 是 不 限 定 提 供 服 务 的 模 块 , 这 样就 完 全 可 以 在 服 务 请 求 模
14、块 不 知 不 觉 的 情 况 下 , 由 不 同 的 数据 源 来 满 足 这 个 服 务 请 求 。 另 一 方 面 , 新 的 数 据 源 也 可 以 去响 应 其 他 服 务 请 求 者 提 出 的 类 似 请 求 。 图 1 为 SOA 的 软 件 架构 的 结 构 4。1.2 多 粒 度 的 服 务 设 计服 务 的 复 用 性 、 松 耦 合 性 和 共 享 正 式 契 约 是 SOA 中 服 务设 计 的 核 心 原 则 。 而 SOA 区 别 于 其 它 体 系 结 构 风 格 的 特 征是 松 耦 合 性 。 耦 合 代 表 的 是 服 务 与 服 务 之 间 的 关 系
15、。 SOA 的初 衷 就 是 为 了 降 低 系 统 各 个 部 分 之 间 的 耦 合 性 , 增 强 服 务 设计 的 复 用 性 。 但 在 SOA 服 务 的 设 计 中 , 服 务 粒 度 的 大 小 在 服务 的 复 用 性 和 松 耦 合 性 上 产 生 了 矛 盾 。 服 务 粒 度 大 , 服 务 的松 耦 合 性 越 好 , 但 复 用 性 较 差 ; 服 务 的 粒 度 小 , 服 务 的 复 用 性越 好 , 但 服 务 之 间 的 耦 合 度 较 高 。 因 此 , 为 了 解 决 这 一 问 题SOA 中 往 往 采 用 多 粒 度 的 服 务 设 计 方 法 。虽
16、 然 在 复 杂 的 SOA 环 境 中 服 务 的 不 同 类 型 具 有 不 同 的粒 度 , 但 归 结 起 来 可 以 用 两 种 粒 度 实 现 SOA 中 的 服 务 : 细 粒度 服 务 和 粗 粒 度 服 务 。 使 用 粗 粒 度 的 接 口 作 为 外 部 应 用 集 成的 最 佳 实 践 。 服 务 组 合 和 编 排 可 以 用 来 创 建 由 细 粒 度 服 务 组成 的 业 务 流 程 的 粗 粒 度 接 口 5。多 粒 度 是 SOA 设 计 中 最 为 重 要 的 方 法 , 那 么 怎 么 区 分 粗粒 度 与 细 粒 度 的 服 务 ?下 面 给 出 具 体
17、 的 服 务 划 分 方 法 :(1)粗 粒 度 服 务 : 一 个 粗 粒 度 服 务 对 服 务 使 用 者 提 供 的 服务 在 业 务 逻 辑 中 是 有 意 义 和 可 测 量 价 值 的 ; 它 在 一 个 完 整 的业 务 目 标 中 与 其 它 粗 粒 度 服 务 配 合 和 协 作 以 实 现 业 务 过 程 的明 确 部 分 。(2)细 粒 度 服 务 : 一 个 细 粒 度 服 务 提 供 了 较 细 粒 度 的 操 作 ,这 些 操 作 没 有 提 供 真 正 的 业 务 价 值 ; 它 与 其 它 细 粒 度 服 务 的 配合 和 协 作 , 通 过 组 合 封 装
18、成 为 粗 粒 度 的 服 务 以 实 现 业 务 价 值 。本 文 关 注 的 是 相 对 细 粒 度 服 务 的 封 装 技 术 , 为 构 建 粗 粒度 的 服 务 提 供 基 础 。 这 种 细 粒 度 的 服 务 本 文 称 为 服 务 构 件 。2 基 于 SOA 的 服 务 构 件 封 装 技 术2.1 服 务 构 件 封 装 的 关 键 问 题与 面 向 对 象 技 术 相 似 , 面 向 服 务 已 成 为 独 特 的 设 计 方 法 。但 当 项 目 经 过 SOA 分 析 阶 段 , 一 组 候 选 服 务 和 服 务 构 件 摆 在我 们 面 前 , 我 们 不 禁 思
19、 考 起 来 : 什 么 是 服 务 构 件 、 如 何 进 行 设计 、 如 何 来 实 现 , 如 图 2 所 示 。以 下 就 服 务 构 件 设 计 应 该 解 决 的 问 题 , 给 出 了 服 务 构 件的 定 义 , 提 出 服 务 构 件 的 基 本 概 念 模 型 以 及 服 务 构 件 设 计 的一 般 步 骤 。 将 接 口 作 为 连 接 面 向 服 务 架 构 与 基 于 服 务 构 件 设计 的 关 键 。2.2 服 务 构 件 的 定 义本 质 上 , SOA 是 通 过 服 务 编 排 来 提 供 业 务 附 加 值 和 网 络价 值 。 从 服 务 消 费 者
20、 的 观 点 , 服 务 是 通 过 类 似 于 构 件 的 实 体 ,隐 藏 了 其 服 务 实 现 的 契 约 接 口 来 提 供 的 。 可 以 这 样 说 , SOA中 每 个 服 务 都 是 高 内 聚 , 松 耦 合 的 构 件 结 构 , 并 且 对 外 提 供 服务 。 下 面 我 们 给 出 服 务 构 件 的 定 义 :服 务 构 件 是 一 个 封 装 的 、 自 治 的 软 件 实 体 , 它 基 于 契 约 的方 式 通 过 其 接 口 提 供 和 实 现 了 服 务 , 并 且 隐 藏 了 其 实 现 细 节 ,是 服 务 组 合 和 编 排 的 基 本 单 元 。
21、2.3 服 务 构 件 的 基 本 概 念 模 型服 务 是 网 络 环 境 下 具 有 自 治 、 自 描 述 等 特 征 的 构 件 , 因 此合 理 的 构 件 描 述 模 型 同 样 适 用 于 服 务 构 件 。 我 们 借 鉴 WillTracz 提 出 的 3C 模 型 (Will 1990) 来 描 述 服 务 构 件 模 型 。 该 模型 从 概 念 (concept)、 内 容 (content)和 上 下 文 (context) 3 个 方 面 来刻 画 服 务 构 件 , 如 图 3 所 示 。(1)概 念 : 是 对 服 务 构 件 做 什 么 (What)的 抽 象
22、 描 述 , 可 以 通过 服 务 构 件 的 概 念 了 解 服 务 构 件 的 功 能 。 服 务 构 件 的 概 念 包括 服 务 构 件 的 接 口 规 范 和 语 义 两 方 面 。(2) 内 容 : 是 对 概 念 具 体 实 现 的 描 述 , 描 述 服 务 构 件 如 何(how)完 成 概 念 所 刻 画 的 功 能 。(3)上 下 文 : 是 服 务 构 件 和 服 务 构 件 之 间 执 行 环 境 之 间 的关 系 。 上 下 文 刻 画 服 务 构 件 的 运 行 环 境 , 为 服 务 构 件 的 选 择和 修 改 提 供 指 导 。从 上 面 的 服 务 构 件
23、 的 基 本 概 念 模 型 我 们 可 以 看 出 , 一 个服 务 构 件 是 一 个 软 件 实 体 。 它 是 独 立 的 、 自 包 含 的 、 具 有 清 晰的 目 的 , 区 别 于 其 它 服 务 构 件 而 存 在 。 一 个 服 务 构 件 的 基 本元 素 是 它 的 语 境 、 契 约 和 实 现 。 服 务 构 件 的 本 质 是 通 过 其 契约 实 现 内 部 和 外 部 的 分 离 。 一 个 服 务 构 件 不 是 孤 立 存 在 的 ;图 1 SOA 的 软 件 架 构 的 结 构查 找服 务 请 求 者 服 务 提 供 者绑 定 /调 用发 布服 务 注
24、册 中 心图 2 面 向 服 务 原 则 提 出 服 务 构 件 设 计 的 问 题服 务构 件接 口 应 当 如 何 选 择 ?服 务描 述 应 当 如 何 设 计 ?应 当 如 何 设计 消 息什 么 是 服 务 构 件 ?应 当如 何 设 计 服 务 构 件 ?应 当 如 何 定 义 服 务构 件 间 的 关 系图 3 服 务 构 件 设 计 的 基 本 概 念 模 型组 合1. *1. *参 与隐 藏暴 露 扮 演规 范 定 义 于存 在 于决 定 于抽 象契 约 角 色实 现 服 务 构 件组 合 一 员语 境1758 2009,30 (7) 计 算 机 工 程 与 设 计 Comp
25、uter Engineering and Design在 一 个 给 定 的 语 境 下 扮 演 一 个 特 定 的 角 色 并 实 现 通 信 。 一 个服 务 构 件 的 角 色 是 通 过 契 约 精 确 定 义 的 。 契 约 通 过 服 务 构 件的 实 现 而 实 现 , 并 且 通 过 语 境 中 的 中 立 接 口 隐 藏 。 在 上 下 文语 境 中 服 务 构 件 之 间 通 过 服 务 组 合 提 供 更 粗 粒 度 的 服 务 。(1)语 境 : 各 个 服 务 构 件 的 单 独 存 在 并 无 太 大 价 值 , 除 非 这些 服 务 构 件 能 与 其 它 服 务
26、 构 件 一 起 被 组 合 或 其 它 应 用 所 使 用 。因 此 , 基 本 的 服 务 构 件 虽 然 是 独 立 的 、 自 包 含 的 , 但 它 并 不 是 孤立 存 在 的 。 无 论 在 服 务 组 合 或 业 务 流 程 编 排 中 , 服 务 构 件 都 扮演 者 特 定 的 角 色 。 并 且 实 现 与 其 它 服 务 构 件 或 服 务 之 间 的 通 信 。(2)实 现 : 任 何 提 供 Web 服 务 支 持 的 执 行 环 境 都 可 以 作 为服 务 实 现 , 这 里 的 执 行 环 境 通 常 是 某 个 软 件 系 统 或 编 程 语 言 。所 以
27、, 服 务 构 件 的 实 现 可 以 有 多 种 方 式 。 比 如 新 开 发 服 务 的实 现 , 包 装 的 传 统 应 用 的 实 现 。(3)契 约 : 服 务 契 约 是 服 务 的 共 同 元 数 据 的 表 现 。 它 标 准化 规 则 的 表 达 , 以 及 需 要 由 任 何 想 要 与 服 务 交 互 的 请 求 者 所要 履 行 的 条 件 。2.4 服 务 构 件 的 接 口 选 择从 技 术 角 度 看 , 服 务 构 件 相 对 于 组 件 和 对 象 是 粗 粒 度 的 、可 重 用 的 IT 资 产 , 良 好 的 接 口 定 义 令 服 务 的 外 部 访
28、 问 接 口 与内 部 技 术 实 现 相 分 离 。 对 于 服 务 构 件 的 封 装 , 最 重 要 的 就 是具 有 符 合 SOA 要 求 的 标 准 接 口 。 SOA 只 对 服 务 之 间 交 互 机制 的 标 准 进 行 了 描 述 , 并 没 有 规 定 具 体 的 实 现 方 式 , 因 此 对 于标 准 接 口 的 实 现 先 后 出 现 了 多 种 方 式 , 如 表 1 所 示 。CORBA(common object request broker architecture)即 公 用对 象 请 求 代 理 程 序 体 系 结 构 , 使 用 它 可 以 实 现 程
29、 序 之 间 的 跨平 台 通 讯 6-7。 CORBA 定 义 了 一 系 列 标 准 和 协 议 来 实 现 异 构环 境 下 的 互 操 作 性 , 包 括 : 接 口 定 义 语 言 (IDL)、 对 象 请 求 代 理(ORB)以 及 ORB 之 间 的 互 操 作 协 议 IIOP。 这 些 标 准 都 是 COR-BA 专 用 的 。DCOM 即 分 布 式 组 件 对 象 模 型 , 是 从 COM 发 展 而 来 , 可以 实 现 异 构 系 统 的 远 程 调 用 , 但 是 使 用 DCOM 一 般 不 能 跨 越防 火 墙 8。RMI即 远 程 方 法 调 用 , 是
30、一 个 分 布 式 对 象 模 式 , 是 基 于 Java中 的 类 和 对 象 实 现 的 远 程 调 用 机 制 。 RMI的 思 路 基 本 上 与 COR-BA 相 同 , 是 CORBA 技 术 在 Java 语 言 中 实 现 的 一 个 特 例 。Web Service 它 使 用 XML 方 式 来 描 述 所 有 数 据 , 直 正 与 平合 无 关 , 因 此 可 以 轻 松 的 穿 越 防 火 墙 并 实 现 跨 系 统 、 跨 语 言 交换 数 据 。 同 时 Web Service 中 所 有 的 公 共 协 约 完 全 使 用 开 放 的标 准 协 议 进 行 描
31、 述 、 传 输 和 交 换 , 通 用 性 好 9-10。基 于 以 上 分 析 和 比 较 , 本 文 决 定 采 用 Web Service的 方 式 ,服 务 构 件 的 封 装 采 用 标 准 的 Web Service 接 口 。2.5 服 务 构 件 的 接 口 描 述每 种 服 务 (粗 粒 度 服 务 和 细 粒 度 服 务 )都 有 一 个 良 好 定 义的 、 正 式 的 接 口 , 称 作 服 务 契 约 。 服 务 契 约 主 要 作 用 如 下 :(1)明 确 定 义 了 服 务 的 功 能 。(2)实 现 了 服 务 的 外 部 访 问 接 口 与 服 务 的 技
32、 术 实 现 的 明 确分 离 11。服 务 契 约 几 乎 定 义 了 所 有 的 SOA 主 要 部 分 , 良 好 定 义 的服 务 契 约 比 服 务 实 现 更 有 价 值 12。 服 务 契 约 包 括 服 务 的 功 能和 非 功 能 描 述 。 功 能 描 述 主 要 描 述 了 服 务 的 接 口 和 消 息 规 约 。非 功 能 描 述 包 括 服 务 的 安 全 问 题 和 服 务 层 次 协 议 等 问 题 。 服务 契 约 可 以 作 为 专 门 的 方 向 进 行 研 究 。 本 文 关 注 的 主 要 是 服务 的 功 能 描 述 。 对 于 非 功 能 描 述
33、我 们 不 作 讨 论 。 下 面 我 们 采用 扩 展 巴 科 斯 范 式 (extended Backus-Naur form, EBNF) 对 服 务构 件 的 功 能 描 述 定 义 如 下 :服 务 构 件 描 述 :=接 口 规 约 :=操 作 :=输 入 参 数 :=输 出 参 数 :=消 息 规 约 :=消 息 属 性 :=通 过 上 面 定 义 的 Web服 务 构 件 契 约 的 扩 展 巴 科 斯 范 式 , 我们 定 义 了 服 务 构 件 接 口 描 述 的 主 要 契 约 元 素 。 这 些 主 要 元 素是 服 务 构 件 描 述 所 必 需 的 , 是 服 务
34、构 件 基 本 功 能 的 外 部 展 现 。2.6 服 务 构 件 的 封 装 方 法Web服 务 是 一 种 基 于 现 有 的 被 广 泛 接 受 和 成 熟 的 Internet技 术 的 分 布 式 应 用 程 序 技 术 框 架 , 由 W3C和 Internet工 程 任 务组 (IETF)等 组 织 设 计 13。 目 前 , SOA 的 相 关 的 开 发 技 术 以 Web服 务 为 主 , 但 我 们 一 定 要 认 清 , SOA 并 不 等 同 于 Web 服 务 。 简单 将 遗 留 系 统 的 应 用 封 装 成 为 Web 服 务 不 一 定 符 合 SOA 的
35、一 般 原 则 , 因 此 也 不 能 称 为 SOA 中 的 服 务 。目 前 , 面 向 服 务 的 分 析 与 设 计 (SOAD)作 为 SOA创 建 服 务的 主 要 方 法 。 它 主 要 包 括 服 务 发 现 、 服 务 规 约 和 服 务 实 现 。 在服 务 发 现 上 主 要 包 括 自 上 而 下 (领 域 分 解 )方 式 、 自 下 而 上 (已有 资 产 分 析 )方 式 和 中 间 对 齐 (业 务 目 标 建 模 )方 式 14。 服 务 构件 作 为 SOA 中 服 务 组 合 的 基 本 单 元 , 在 服 务 发 现 阶 段 应 主 要采 用 自 上 而
36、 下 (领 域 分 解 )方 式 和 中 间 对 齐 (业 务 目 标 建 模 )方式 , 从 业 务 着 手 分 解 成 为 服 务 候 选 列 表 。 下 面 我 们 结 合 理 论的 研 究 和 服 务 构 件 的 封 装 实 践 , 介 绍 一 下 在 服 务 规 约 阶 段 较为 合 理 的 服 务 构 件 设 计 一 般 参 考 步 骤 :步 骤 1 审 视 现 存 的 服 务封 装 服 务 的 第 一 步 是 确 认 它 是 否 实 际 上 正 好 是 必 须 的 。如 果 已 存 在 的 服 务 构 件 已 经 提 供 了 该 服 务 所 能 提 供 的 部 分 或者 全 部
37、功 能 , 那 么 该 服 务 所 实 现 的 操 作 功 能 可 以 用 已 存 在 服务 构 件 来 实 现 。步 骤 2 定 义 消 息 结 构服 务 之 间 的 通 信 是 通 过 消 息 的 传 递 完 成 的 。 因 此 , 通 过正 式 定 义 服 务 所 需 要 处 理 的 消 息 而 开 始 服 务 接 口 设 计 是 十 分有 用 的 。 为 此 , 我 们 需 要 在 WSDL types 域 中 形 式 化 地 定 义 消息 结 构 。步 骤 3 确 认 语 境当 进 行 面 向 服 务 分 析 时 , 很 自 然 地 就 集 中 到 直 接 的 业 务表 1 标 准
38、接 口 实 现 方 式 的 比 较方 式 数 据 格 式 端 点 命 名 支 撑 协 议 接 口CORBADCOMRMIWeb ServiceCDRNDRJava 连 续 对 象 格 式XMLIOR对 象 参 考超 文 本 链 接超 文 本 链 接互 联 ORB 协 议DCOMJRMPSOAPIDLCOM 继 承Java 接 口Wsdl韩 丁 , 沈 建 京 , 万 芳 , 等 : 基 于 SOA 的 服 务 构 件 封 装 技 术 研 究 2009,30 (7) 1759需 求 。 其 结 果 是 , 在 这 个 阶 段 产 生 的 服 务 构 件 候 选 经 常 不 考虑 现 存 服 务
39、构 件 所 建 立 的 语 境 。 因 此 , 重 新 评 估 由 服 务 候 选所 提 议 的 操 作 分 组 , 这 与 现 存 服 务 构 件 设 计 相 比 将 十 分 重 要 。在 重 新 评 估 服 务 语 境 的 基 础 上 , 你 会 发 现 哪 些 操 作 是 遗 留 系统 具 有 的 ; 哪 些 操 作 需 要 从 新 创 建 。 通 过 确 认 语 境 你 可 以 从新 调 整 操 作 分 组 。步 骤 4 派 生 抽 象 服 务 接 口分 析 服 务 操 作 候 选 , 并 且 遵 循 下 述 步 骤 定 义 初 始 的 服 务构 件 接 口 :(1)使 用 服 务 构
40、 件 候 选 作 为 主 要 输 入 , 确 保 表 示 操 作 候 选的 逻 辑 划 分 的 粒 度 能 适 当 地 通 用 和 可 复 用 。(2)记 录 处 理 每 个 操 作 候 选 的 文 档 输 入 和 输 出 值 。(3)通 过 增 加 portType(或 interface)域 (连 同 它 的 子 结 构 ope-ration 结 构 )和 必 要 的 message 结 构 来 完 成 抽 象 服 务 定 义 。步 骤 5 应 用 面 向 服 务 原 则面 向 服 务 原 则 是 服 务 设 计 的 一 般 原 则 。 因 此 这 一 步 骤 规范 和 指 导 服 务 构
41、 件 的 设 计 , 重 新 审 视 服 务 构 件 设 计 中 自 治 性 ,松 耦 合 和 契 约 等 原 则 。步 骤 6 标 准 化 和 简 化 服 务 接 口即 使 服 务 构 件 的 角 色 和 用 途 与 其 它 类 型 的 服 务 (组 合 服务 )不 同 , 但 重 要 的 是 以 相 同 的 基 础 方 式 来 设 计 它 们 。 要 实 现这 些 , 需 要 确 保 服 务 构 件 的 WSDL 定 义 基 于 别 人 使 用 的 相 同的 标 准 和 管 理 。 以 下 给 出 几 点 服 务 构 件 设 计 的 指 导 :(1)使 用 命 名 标 准 。 命 名 标
42、准 定 义 和 应 用 于 : 服 务 端 点 的名 称 、 服 务 操 作 的 名 称 和 消 息 值 。(2)谨 慎 使 用 命 名 空 间 。 尽 量 使 用 基 于 规 范 元 素 的 通 用 命名 空 间 。(3)尽 量 将 服 务 操 作 设 计 为 天 生 可 扩 展 的 。3 基 于 SOA 服 务 构 件 封 装 的 应 用我 校 电 子 系 承 担 了 包 括 计 算 机 基 础 知 识 、 电 路 实 验 和 系统 模 拟 仿 真 等 繁 重 的 教 学 实 践 任 务 。 因 此 如 何 高 效 和 合 理 的管 理 学 生 的 上 机 实 习 和 电 路 实 验 是
43、困 扰 已 久 的 问 题 。 经 过 了多 方 面 的 综 合 研 究 , 新 系 统 决 定 基 于 SOA 模 式 对 学 生 的 实 践进 行 管 理 和 访 问 控 制 。 根 据 SOA 的 架 构 模 式 本 系 统 分 为 四层 , 客 户 端 采 用 多 种 模 式 , 包 括 B/S、 C/S、 嵌 入 式 客 户 端 。 对 各个 实 验 室 来 说 根 据 不 同 的 场 景 , 选 择 不 同 的 客 户 端 , 调 用 服 务完 成 不 同 的 操 作 即 可 , 如 图 4 所 示 。应 用 本 文 的 服 务 构 件 封 装 技 术 主 要 完 成 了 服 务
44、层 中 服 务构 件 的 封 装 工 作 。 将 遗 留 系 统 中 的 指 纹 采 集 和 认 证 模 块 封 装成 为 指 纹 采 集 服 务 构 件 和 指 纹 认 证 服 务 构 件 。 此 外 服 务 层 还包 括 通 过 与 其 它 服 务 构 件 组 合 而 成 的 粗 粒 度 的 认 证 服 务 。 具体 的 业 务 逻 辑 都 是 通 过 服 务 的 方 式 发 布 出 去 , 用 户 通 过 不 同的 客 户 端 调 用 服 务 , 通 过 业 务 逻 辑 的 编 排 即 可 实 现 所 需 的 访问 控 制 功 能 。本 系 统 采 用 SOA模 式 和 多 粒 度 服
45、务 的 设 计 具 有 以 下 优 点 :(1)本 系 统 中 采 用 多 粒 度 的 服 务 设 计 。 通 过 服 务 构 件 组 合成 为 粗 粒 的 服 务 实 现 了 SOA 的 复 用 性 ; 通 过 粗 粒 度 服 务 的 发布 降 低 了 服 务 之 间 的 耦 合 度 。(2)服 务 可 在 不 同 平 台 、 不 同 网 络 之 间 进 行 操 作 。 客 户 端可 以 采 用 J2EE、 .NET 等 多 种 方 式 调 用 服 务 并 且 根 据 需 求 创 建应 用 。(3)四 层 结 构 在 逻 辑 上 各 自 独 立 、 单 独 实 现 , 便 于 对 软 硬 件
46、资 源 进 行 同 一 调 配 管 理 。4 结 束 语本 文 研 究 的 将 遗 留 系 统 封 装 成 为 服 务 构 件 , 符 合 SOA 的面 向 服 务 原 则 , 也 符 合 SOA 中 多 粒 度 服 务 的 服 务 设 计 思 想 。 文中 提 出 的 服 务 构 件 设 计 的 一 般 参 考 步 骤 对 具 体 实 践 也 有 一 定的 指 导 意 义 。 将 服 务 构 件 的 封 装 技 术 运 用 到 开 放 式 实 验 管 理系 统 中 服 务 的 创 建 , 取 得 了 较 好 的 效 果 , 体 现 了 SOA 的 价 值 。因 此 , 本 论 文 的 设 计
47、 思 想 有 一 定 的 参 考 和 利 用 价 值 。 但 对 于 服务 构 件 的 封 装 依 然 有 如 下 待 研 究 的 问 题 : 首 先 , 目 前 服 务 粒 度的 划 分 往 往 根 据 实 际 应 用 而 言 , 缺 乏 统 一 的 划 分 方 法 。 其 次 ,服 务 契 约 中 非 功 能 描 述 的 研 究 , 主 要 是 安 全 性 和 可 靠 性 的 问 题 。参 考 文 献 :1 王 兵 .基 于 面 向 服 务 架 构 的 应 用 系 统 开 发 与 集 成 研 究 D.成 都 :四 川 大 学 ,2005.2 张 志 雄 .基 于 SOA 的 移 动 电 子
48、 商 务 系 统 的 研 究 D.西 安 :西 北工 业 大 学 ,2005.3 Steve Wilkes.SOA blueprinls specification draft v0.4EB/OL.The Middleware Company Research Team,2004.4 IBM DW. 面 向 服 务 的 体 系 结 构 详 述 EB/OL. http:/ 朱 振 杰 . SOA的 关 键 技 术 的 研 究 与 应 用 实 现 M.成 都 :电 子 科技 大 学 ,2006.6 Heather Williamson. XML: The complete reference M.
49、 NewYork: McGraw Hill, 2002.7 朱 其 亮 ,郑 斌 .CORBA 原 理 及 应 用 M.北 京 :北 京 邮 电 大 学 出版 社 ,2001.8 Thuan L Thai. DCOM 入 门 M.北 京 :中 国 电 力 出 版 社 ,2001.9 齐 勇 ,马 莉 ,齐 向 明 ,等 .基 于 CORBA业 务 组 件 的 领 域 框 架 研 究J.小 型 微 型 计 算 机 系 统 ,2001,22(10):1213-1215.10 Scott Seely. SOAP:XML 跨 平 台 Web Service 开 发 技 术 M.北京 :机 械 工 业 出 版 社 ,2002.11 Eric Newcomer Greg Lomow.Understanding SOA with web ser-viceM.北 京 :电 子 工 业 出 版 社 ,2006.12 Thomas Erl.SOA概 念 、 技