基于SOA架构的通用数据交换平台的设计与实现

langzilong

贡献于2015-02-24

字数:0 关键词: WEB服务/RPC/SOA

计算机 时代 2008 年 第 8 期 ·29 · 基于S0 A 架构的通用数据交换平台的设计与实现 方伟忠 L (1.浙江工业大学,浙江 杭 州 310032 ;2.桐庐县教 师进修 学校) 摘 要 :数据 交换平 台用于建立不 同地 区数据库的 交换体 系,统一数据 交换标 准。文章所提 出的通用数据 交换平 台建 立 在 SO A 体 系架构 的基础上 ,以 X M L 作为异构 系统之 间数据 交换的标 准格 式 ,利用 w eb Se~ ices 将服 务发布到 ~ tem et 上 ,根 据业务流程 对 w eb 组件进行动 态的组合和集成 ,很好 地实现 了数据 交换 和共 享的 目的。 关键词 :数据 交换 ;SO A ;X M L ;W eb Services 0 引言 在 企业信 息化 建设过程 中,随着企业规模 的扩 大和计算机 技术 的发 展 ,不 同时期构建 的业务系统可能基于 不同操作系统 和数据库平 台,结果造成数据 交换的困难 。如何 利用 现有 的网 络技术实现各业 务系统 之间的信息互联互通 ,提高运 营效率是 一 个急需解决的问题u 。实践 表明 ,建立统一的数据交换平 台是 实现异构系统问信 息交 换与数据共享的有效 途径。本文提 出的 通用数据交换平 台 ,能为各类应 用系统 的数据交换提 供一个统 一 的 、规范化 的数据交 换框架 ,为 分布式 的异构应 用系统 提供 信息共享和数据整合的手段 ,从而提高数据 传输 与共享 的效 率 和可靠性 。该平台采用 SO A 思想 、基 于 J2E E 应用服 务器 的三 层体 系结构实现 。 1 S O A 的概念 面向服 务 的体 系结构 (Se~ ice—O fi en~ d A rchi m re ,SO A ) 是一个组件模 型 ,它将应用程序 中的不 同功能单元称 为服 务 , 并通过对这些服务之间定义 良好的接 口而将其联系起来 。接 口 是采 用中立 的方式 进行定义的 ,也 就是说它独立于 实现服 务的 硬件平 台 、操作 系统 和编程 语言 ,这使得 构建在 各种各样 的 系 统 中的服 务可以以一种统一和通 用的方式进 行交互。 2 通用数据交换平 台的设计 2.1 数据交换标 准和设计 目标 国 内还 没有与行 业相关 的成熟 的数 据交 换标准 ,因此 可 以把 X M L 文件作 为数据 交换 的标 准 ,用它作为 中间数据格式 , 需要交换 数据 的企业 可 以通 过某 种媒 介获 取 X M L 格式 的信 息 ,然后转化成 自己能够 识别 的信 息 ,这样就 完成 了一次数 据 交换 】。 基于 SO A 架构 的数据 交换平台采用跨 部门信息共享 与数 据交换技 术 ,旨在为不 同的应 用系统提 供统一 的 、自动化 的信 息交换功能。它通过采用 X M L 技术 ,为业务系统提供一个统一 的信息服务平 台 ,使得各 部门 /机构应用系统之 间可 以通过数 据交换平 台进行安全可靠 的数据交换 ;在提供交换 的 同时 ,能 对用 户的登录 、访问权限 、时间 、位置 、内容 以及使 用的设 备进 行识别 ,并加 以限制 、管理和记录 。交换平台不仅 为信 息服 务系 统提供 了一个安全 、可靠 及稳 定的运行 环境 ,同时也给系统 带 来 了很强的扩充 能力。 2.2 数据 交换 平台模型 数据 交换 平台的总体架 构如 图 1 所 示。整个系统采用 SO A 思想 ,由数据层 、交 换层 、集 成层构成 :数 据层 由待交换 的异 构 数据 源组 成。交换层完成异构数据格式到 X M L 式 的双 向转化 , 解决 数据传输 中格式不一致 问题 。集成层包括数据 中心 ,系统 管理 ,交换管理 ,数据接收 、抽取 、校验 ,数据交换标准的发布 等 功 能 ,它是 整个交 换系统 的核心 。系统 的各个部分 通过基于 w eb Se~ ices 的消息总线进行通信 ,很好地解决了各部分之间 的耦合 问题 ,充分体现 了面向服务 的思想 。下面分别 对各层的 作用和实现做详细的介绍 。 图 l 数据交换平 台总体架构 2.3 数据层 数据主要 来 自各业务系统。数据源 主要有 以下 四种存在方 式 :文件 ,数据库 ,X M L 文档 ,电子表格 。数 据层通过连接 不同 的数 据源提取 原始 数据后 ,对这 些数据进 行分析处 理 ,抽取实 际需要用于数据交换 的数据信息 。 2 .4 交换层 在该数据 交换平 台中,各个参与数据交换 的业务系统 的数 据是通过交换层进入交换平 台的。不同业务系统 采用不 同的数 据源 ,数 据格 式存 在差异 ,如何 在各个 异构 系统 之问 以统 一 中 间格式(X M L)表示数据是 交换层必须解决 的问题 -引。数据库和 X M L 之 间的映射机 制大体有两种 :基 于表的映射和基 于对象 的映射 。由于 业务系统 中绝大多数的数据 都储 存在数据库 中, 维普资讯 http://www.cqvip.com · 3 0 · C om p u ter E ra N o .8 2 0 0 8 所以我们以关 系数据库转换到 X M L 来实现数据 映射 。其核 心 思想是 :将数据库的表转化 为 X M L 复 杂类型元素 ,表 的字段转 化为该对 象的简单 类型子元素或者属性 ,表 的主外键关系转化 为表对应 X M L 元素之间的父 子关 系。在具体转化过程中 ,我们 把关系数据库 到 X M L 的转化规 则存储在一个 映射文件 中,然 后对映射文件进行解析生成最终的 X M L 文件。对于不同的数 据库只要定义不 同的映射文件就可以实现从数据库到 X M L 的 转化过程 。 2 .5 集成层 集 成层完成 系统 内部各 个不 同的应 用系统之 间以及 系统 上下级之 间的业务数据 交换 和整 合 ,是数据交换平 台建 设的核 心。集成层系统结构如图2 所示。 业 务系 统 业 务数 据转 欹 数据传输 l i 撮务发布 I } 数姑传翱 集成按 I I 萌 数据传输 『 ~『一 爰 l I 服务数据点持 l 图 2 集成层系统结构 图 (1) 数据 传输 负责接收各部 门数据传输模块传递来 的数据 ,并将数据 交 给 数据处理 中心处理 。 从 数据 处理 中心取得数据 ,按照各部 门的数据交换标 准 , 将数据封装成标准的 X M L 格式,利用数据传输平台传递给各 部门。 (2) 数据处理 中心 数据校验 :根据系统管理 中心 的数据注册模块提 供的交换 标准对提供的数据进行校验 ,包括格式校验 、数据校验等 。经校 验 ,出错部 分交给 系统 管理 中心 进行差错处 理 ,正确 的数 据则 提交到数据队列模块 。 数据队 列 :数据队列模块 将经过校 验的数 据排队 ,对接 收 到的数据进行缓冲 ,避免数据 提供 方长时间等待 。利用数据 队 列机 制可以使交换中心各部分协 同工作 ,有效利用多任 务机制 完成数据处理 ,提高 系统效率 。 数据 分发 :数 据分发模 块负责将数据分发到指定 目的地 。 目的地可能是一个 ,也可能是 多个 。暂 时发送不 成功 的数据将 保 留在数据队列 中 ,等待重发 ,到达 指定的失效 期后转移 到差 错处理模 块。 数据抽取:数据抽取服务模块提供了直接从基层单位或其 它系统抽取数据的功能 。 (3) 系统 管 理 对数据交换平 台中交换 的数据进 行注册 、管理 、监控 ,以保 证各项服务的正常运行。将异常情况传递给系统 日志模块以便 差错处 理模块 进行 差错处 理 ,将需 要监控 的数据进行 控制处 理 ,以用来对各部 门数据交换情况进行监督 。 (4) W e b 服务 管 理 利用 U D D I建立 W eb 服 务管理 中心 ,提供对 W eb 服务的 注册管理和发布功能 。各数据 交换节点代理 向管理 中心注册 自 己的数据交换业务 ,管理 中心根据注册信 息进行 W eb 服 务的 路 由 ,并主动调用数据交换 节点 的数 据访问服务向数据交换 节 点传送数据或从数据交换节点获取数据 。 3 通用数据交换平台的实现 3.1 系统功 能 统一数据交换平台主要功能是实现对公 司内部横 向部 门问 及纵 向单位间数据的交换 。它提供了 日报 、周报 、月报 、季报 、半 年报 、年报等定期报表的数据交换 、数据接收 、数 据检查 、日志管 理 、数据分析 、信 发布等多种服务功能 。功能结构如图 3 所示。 i 井⋯ } 发 [ 巫 ] 卜 闻 锻 娄 符 r 磊 — 1 教嘏处 广— 嚣— 一 l 姒 I窿蹙嵌杯准 甲 管 珊 可n 截谢蛾尊_『 杼娥 符 理 簸撼空换 数 璇 谨 娌 L — 教 攒缓收戳 舞《W eb S~.nvlce}卜.] 獬 拯 ● L 静 穰 I l I 缀 缆 磐 珊 蹙糗{哿 } } 饩接蠛埘I } I l l 接棒准墒q 数越 I l豫铬蒜缱:报株推 泵境挫l I l J 愤怒艇籼掰锌 旗 图 3 公 司数据交换平 台功 能结构图 数据交换服务包括数据交换标准 的定义 、数 据映射管理 、 数据 交换 设置等功能 。交换标准是数据交换 平台的基础 ,描述 了公 司各业务部门之间 、公 司本 部与基层单位之间数据交换 的 格式 ,是各单位手工填报数据或开 发系统接 口时的依据 。数据 接收服 务是数 据交换的核心功能 ,它以数据 交换 标准为基础 完 成数据交换并形成 日志 。平台提供 了多种交换方式 。 3.2 数据 交换 的实现 从系统 功能可 以看出 ,统 一数据交 换的数据 主要来 自报 表。因此 ,报表在数据交换中起着举足轻重的作用。为了提高报 表开发效率,优化报表工作性能 ,系统采用 x M L 作为报表格式。 为了使得格式与数据分离存储 、动态绑定 ,彻底实现报表 的可定制 、可调整功能 ,在系统中引入 了报表模板技术 。报表可 以接收 W eb 应用系统传递来 的参数 ,这些参 数在报表设 计器 中被定义后 ,就可以被报表 中的数据 源 、函数 、页面 引用 。报表 设计者仅仅需要在 W eb 应用系统 中用一条简单 的语句将相关 参数传递 给报 表 ,就可以生成特定模 板下的报表。 维普资讯 http://www.cqvip.com 计算机 时代 2008 年 第 8 期 ·3l · 一 张基于 X M L 的报表从设计到生成要经过 以下流程 : (1) 获取报表基本信息 。主要 包括 :报表 名称 、报表号 、报表 期 别、指标 代码 、指标名称等 。其 中报表名称 + 报表期别可惟一 确定一张报表 。 (2) 数据库表 的定义 。定义指标的数据结构和表结构 ,一张 报表对应一张数据库表 ,它记录着报表所有 的基本信息 。 (3) 对 X M L 格式模 板与数据 库之 间建立存储 的映射 关系 , 这是数据存储 、显示的关键定义部分 。在定义 X M L 格式模板 的 映射关系 时 ,要用两步来实现 。第一 步要 确定模板 与表 间的对 应关系 。第二步在 第一步 的基础上 ,定义 模板 中的元素 或属性 与数据库表之间的对 应关 系。 (4) 模板 的生成。在前几步的基础一h ,一张基于 X M L 的报 表模板就生成 了。它描述 了上报数据的格式和结构 ,为报 表的 生成制定了统一 的标准和规则 。 (5) 报表的生成。根据报表模板和用户给定的参数(报表名 称 、报表号 、报表期别等)生成相应的报表 。 3.3 数据接收的实现 数据文件 (即 X M L 报 表文件)的解析 由部署在 应用服务 器 中的 W eb Se~ ice 来 完成 。其传输有两种方式 ,一是 第三方系统 直接调用本系统 的相应 W eb Se~ ice 组件 ,并 传递数 据文 件 ;二 是发送 电子 邮件给本系统指定的账 号 ,由本 系统 m m l触发器调 用该 W eb Service 组件并传递数据文件 。 直接调 用 数据交换平 台提供 了 w eb Se~ ice 服 务 ,基层单 位在有 信息系统 的情况下 ,可以直接调 用该服 务 ,实现纵 向系 统问 同步数据交 换功能 。可以直接在 J2E E 或 M icroso~.net环 境 中调用 W eb Service 组件 。 邮件接 收方 式 在 与公司的网络不通 的情况 下 ,可 以采用 邮件的方式 。用 户在公 司指定 的网站上获得相应模板 ,填 写好 数据后 ,可 以通过 企业 网或公 网上提供 的任 何 邮件系统 ,选 用 任意的客 户端软件 或通过 网站邮件系 统将数 据文件作 为附 件 发送到数据交换平台提供的邮件账号 ;接收服务实时监听邮 件 ,收到 邮件后 ,数据交换平 台 自动提 取符合标准 的附件 ,调 用 W eb Service 接收服务接 口 ,处理完成后给用 户回复一 封报送 结果的 邮件 。 以上 两种调 用方式为 部门问数据 交换提供 了方 便 。如 果 基层单位具 备调用 W eb Service 组件 的接 口,那么可 以直 接调 用该接 口传递数据文 件 。如果 数据交 换平 台没有提 供该单 位 调用的接 口 ,或 者公司 内部 网络 出现故 障 ,也可 以采用 邮件 的 方式 ,把填报 好 的数 据文件作 为附件 发送到数 据交 换平 台提 供的邮箱 。 3.4 数据交换平台拓扑图 数据交换 平台不仅可 以完成 系统 内部 不 同应 用系统 之 间 数据 的交换和共 享 ,而且也可 以实 现纵 向单位问数据 的传输和 整合 。下面分别介绍这两种 情况。 (1) 横向部 门 如 图 4 所示 ,从不同业 务系统 的数 据库 中提取要交换 的数 据 ,然后根 据数据映射 的配置文 件 ,通过应 用服 务器将数 据统 一 转换 成 X M L 格式 ,最后提取输入 数据和数据库表之 间的映 射 关系 ,将数据入库 ,实现 数据交换 。 搬务 器 图 4 业务系统数据交换示意图 (2) 纵向单位 对于小型 的数据 交换 ,建立 一个 简单的星型连接 的数据交 换平台就足够 了。但 是如果进行交换 的数据 量很大 ,涉 及到的 部门也 比较 多 ,每一 次交换都 要通过该 平 台 ,则 中心的负荷 比 较 大 ,同时 ,消息 队列中排队等待 的消息也会很 多 ,这样数 据交 换 的速度会受到很 大的影响。所以有必要调整这种星型的数 据 交 换格局 ,可 以建立 一个按地 区分布 的多级 交换 中心 ,每一级 都是一个数据交换平 台。 如 图 5 所 示是一个 以总 部公 司数 据交换 平台为根 节点 的 树 ,下面 分别建立 了以 各个 区域 网 、省公 司数 据交换 平台为根 节点的子树。例如,如果要进行数据交换的两个业务端属于同 一 个市 ,就 可 以直 接通过 该市 的数 据交换 平 台进行 交换 ,不需 要经过省级 以上 的数据交换平 台 ,减轻 了省级 以上数 据交换平 台的压力 。当要交换 的数据不属于 同一个市 时,需要向上回溯 , 判断是 否属于 同一个省 ,如 果属于 同一个省 ,需要 借助 于省级 数据交换平 台进行数 据交换 ,否 则继续回溯 ,直到根结点 ,通过 总 网公 司数 据交换 平台交换数据 。 图 5 数据交换平 台拓扑图 4 结束 语 本文 在研究 SO A 体 系架构及其理 论的基础上 ,采 用 X M L 和 W eb Services 技术设计并实现 了基 于 SO A 架构 的通用数据 交换 平台。利用该平 台可 以建立 自下而上的数据交换体 系 ,统 一 数据交换标准 。该 平台充分利用了 X M L 对数据的格式化 、标 准化优势及 W eb Services 对异构平台无缝连接的技术手段 ,实 Q Q 维普资讯 http://www.cqvip.com · 32 · C o m p u ter E ra N o .8 2 0 0 8 基于TIBCO 消息中间件的杭州市医保数据交换系统的设计和实现 张建 盎 (杭州市劳动保障信息 中心 ,浙江 杭州 310009) 摘 要 :介绍 了如何利 用 T ibco BusinessW orks 消息 中间件构建杭 州市医保数据交换 系统 ,以实现杭 州市医疗保险 管理 服务局和杭 州市信 息资源管理 中心的 实时数据交换。文章首先指 明了系统建设的背景 ,然后 阐述 了系统的整体结构,并在 此基础上说 明 了T ibco BusinessW orks 在 系统 中的运行机 制 ,最后给 出了系统 的实施效果。 关键 词 :T IB C O 消息中间件 ;医保信 息和 市民卡信 息:数据 交换 系统 0 引言 为建设 “数字杭 州”,提升政 府服务 和管理水平 ,推 动市 民 卡项 目建设 ,自 2006 年 l2 月 5 13 起 ,杭 州市持市 民卡 的医保 参保人 员须使 用市民卡和杭 州市基本 医疗保 险病 历本就 医购 药 ,其原持有的西湖医保卡结算功能 同时注销 。这 意味 着市民 卡替代西湖医保卡应用工作全面 启动 ,同时也意味着医保 与市 民卡之 间的数据交换也将变得更加频繁 。建设医保信息系统 与 市民卡信息系统 之间的数据交换系统 (即杭州市医保信息交换 系统 )成为相关职能部 门的一项重要任务 。 杭 州市医保信 息交换系统 是杭州 市市民卡项 目的核 心 系 统之一 ,也是 杭州市医保信息系统的 重要组成 部分 。从 交换的 总体机制及要求上来说 ,数据交换系统主要实现个人 身份 基础 数据 、个人业 务基础 数据等的交换 ,并依据 “先交易 、后交换 ”的 原则实现市民卡公司的市民卡信息系统与医疗保险管理服务 局 的医保信 息系统之 间业务 系统 的松散 耦合 。市 民卡信息 系 统 、医保 信息系统 都是 自治 系统 ,交换双方 相互之 问均不直接 访 问对方 的数据库 系统 ,交换事务通过设置在各部 门的交换前 置机 、并通过设 置在杭 州市信息 资源管理 中心的交换平 台实 现。杭州市信息资源管理中心的数据交换平台除中心的交换数 据库 以外 ,还包 括 中心 交换服务器 ,各个共建 部门的交换 前置 机 ,以及 交换平 台管理 系统 。在业务处理时如果涉及到共享 数 据项的变更 ,一般都 是在业务处理 完成后发起一个 即时交换 事 务 ,将变更数据项通过 交换平 台发送给信息资源管理 中心 。 1 系统结构设计 图 l 是杭州 市医疗保 险管理服 务局和杭 州市信息 资源管 理中心的网络连接拓扑示意。 图 l 网络连接拓扑示意图 由图 l 可见 ,医疗保险管理服务局交换前置机 通过 防火墙 连接到前置 路 由器 ,再 连接到交 换网络 ,然 后通过交换 网络连 接 到信 息资 源管理 中心 。医保交换前置机 通过物理隔离 网闸连 接到医疗 保险管理服务局 的服务网络 。这样 的连 接方式 ,有 效 地保证 了医保 交换前置 机 、医保业 务主机 、医保服 务网络 的安 全 。医保交换前置机配置双网卡 ,分别设置 内、外 网 II)。 医保 数据从 医保交换 前置机交 换到信息 资源管 理 中心 由 TIB C O 交换 中间件完成。医保数据从医保数据库服 务器传送到 医保交换前置机 ,需要开发桥接软件来 完成 。桥接软 件的开发 应遵循如下规则 : (1) 不能直接对接收表单做更新、删除操作,只能做查询操作 ; (2) 可 以在接收表单 上增 加触发器 ,把接受 的增 量信息保 存到增 量数据表上 ,供各部门的桥接软件使 用 ; (3) 不能修改接收表 的结构 、表的主键 、索 引等信息 ; ◆ ⋯ ◆ ◆ ¨¨◆ ~li p◆ ¨¨◆ ~ill,◆ ◆ ,111,◆ Ⅲ ◆ ill·◆ I1 ◆ ◆ 一◆ ◆ -◆ 1 ◆ 一-◆ ◆ ◆ ◆ ◆ r◆ ,◆ -◆ · ◆ ◆ ◆ ◆ ill◆ -O . ·◆ iI h◆ ◆ -◆ il ◆ ◆ il ,ill 现了一个高度 自治 、安全 、便于管理的数据集成应用。随着我国 信 息化程 度的提高 ,数据交换方面 的需求和应用将越来越 多 , 本 文的研究工作应 当会有一定的参考意义 。 参考 文献 : 【1J 艇晓 威,付 远彬,李京.企 业数据 集成模 式研 究【J】计算机 工程 与应用, 2 0 0 2 .1 2 :2 5 3 ~2 5 5 【2 】宋善德,何 栋,梅 雪莲.在 J2 EE 体系结构 上构 建基于 X M L 的数据 交 换 系统【J】.小型微型计算机 系统,20 0 3 .24 (4):7 78 ~7 80 【3 】李军怀,周明全,耿 国华等.X M L 在异构 数据集 成中的应用研 究【J】.计 算机 应用,20 0 2 .22 (9):10 ~12 【4 】聂培 尧,魏 振刚.一种基于 X M L 的数据集成 系统 及实现【J】.计算机 应 用,2 0 02 .2 2 (9 ):24 ~ 2 7 _5 】徐 享忠,王精 业,蒋海 滨.基于 X M L 的数据 交换格 式 及其 应用[J l计 算机 工程 与设计,2 oo 3 2 4(5 ):7 7 ~8o 维普资讯 http://www.cqvip.com

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档

相关文档