



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3601 0引言 随着信息化建设的蓬勃发展, 目前各大企业和高校内运 行的应用系统数量已经比较庞大, 各个应用系统之间的交流 也越发频繁, 对数据交换的需求越来越迫切。数据交换平台 是为解决企业和高校内的各种数据交换与共享需求而提出的 一种综合性服务平台, 数据交换平台的建设和实施, 将能够解 决应用系统之间的数据共享和集成问题, 为企业和高校内的 应用系统提供全局数据视图、 全局数据权限视图和完善数据 交换服务, 从而解决企业和高校内部的诸多应用系统在 “联邦 模型”(一种应用系统间松散耦合的模型) 下出现的信息孤岛 问题, 让各种数据资源能够在应用系统间实现互联互通。 当前国内外大部分数据交换系统 13通常按照自有标准设 计, 没有采用通用的技术和架构标准, 因而通用性较差; 另外, 这些数据交换系统的开发一般均采用组件化、 模块化的软件 开发方式, 系统各模块间的耦合程度非常高, 致使数据交换系 统的维护和修改比较困难, 维护成本较高。为了解决上述问 题, 我们在数据交换系统的架构设计及系统实现上进行了深 入的研究, 通过提出更先进的系统体系架构和采用更好的系 统实现技术标准来解决数据交换平台建设和实施过程中所碰 到的通用性较差、 实现复杂度较高等问题。 本文提出的数据交换平台(data exchange platform, DEP)采 用松散耦合的 “服务器代理” 架构。 DEP 利用统一的消息服 务来控制数据交换过程中复杂的控制信息交互,利用统一的 数据传输服务解决数据交换过程中各种数据高效、准确的传 输, 并利用消息协议和数据交换协议来解决标准不统一问题, 实现了数据交换系统的通用性。 在具体的实现过程中, DEP参考了面向服务的体系架构 4,5 (service-oriented architecture, SOA),利用 SOA 的核心技术 (如 JMS、 Web Service、 ESB 等)来分别实现 DEP 消息服务、 数据传 输服务等核心构件的主要功能。 1数据交换平台研究 1.1数据交换平台概述 在参考了部分国内外数据交换系统 68的设计思想之后, DEP系统采用了 “服务器+代理” 式松散耦合的架构模式, 其结 构 (如图 1 所示) 特点如下: DEP 是一个分布式开放型网络系 统, 它由一个 DEP Server 若干个应用软件的 DEP Agent 构成, 数据交换中的各应用软件以DEPAgent作为接口, 通过与DEP Server 的消息和数据交互实现信息交换。 收稿日期:2006-02-12。 作者简介:梅立军 (1983),男,安徽庐江人,硕士研究生,研究方向为计算机网络与管理信息系统; 付小龙,男,工程师,研究方向为计算 机网络与应用; 刘启新,男,工程师,研究方向为计算机网络与应用; 沈锡臣,男,研究员,研究方向为管理信息系统。 基于 SOA 的数据交换平台研究与实现 梅立军, 付小龙, 刘启新, 沈锡臣 (清华大学 计算机与信息管理中心,北京 100084) 摘要: 为了改进传统数据交换平台实现过程中遇到的复杂度和通用性问题, 提出了“代理服务器”松散耦合模式的数据 交换平台系统,系统利用消息服务解决数据交换过程中的复杂的控制信息交互,利用数据传输服务解决数据交换过程中各 种数据高效传输。系统实现过程中借鉴了 SOA 体系架构思想,部分使用了 SOA 的相关核心技术,使该系统层次结构清晰, 具有良好的通用性和可维护性, 极大的降低了系统研发的难度。 关键词: 数据交换平台;面向服务的架构;消息服务;数据服务;企业总线 中图法分类号: TP311.13文献标识码: A文章编号: 1000-7024 (2006) 19-3601-03 Research and implementation of data-exchange platform based on SOA MEI Li-jun,FU Xiao-long,LIU Qi-xin,SHEN Xi-chen (Computer and Information Management Center, Tsinghua University, Beijing 100084, China) Abstract:Tosolve the complexityand flexibilityof traditional dataexchange platform, thedata-exchange platformbased on loose coup- ling pattern composed is put forward by agent and server. Message service is used to solve the complex interoperations during data ex- change procedure, and data transfer service is used to solve the high-efficiency data transport. The implementation of this system uses SOA architecture for reference, and makes use of some core techniques of SOA. The system has clearer hibernates,better flexibility and maintainability, and also reduce the hardship of development. Key words:data exchange platform;SOA;message service;data service;ESB 2006年10月计算机工程与设计 Oct. 2006 第 27 卷第 19 期 Vol.27No.19Computer Engineering and Design 3602 DEP Server 是 DEP 的核心管理中心, 它处于所有信息通 道的中间。DEP Server 的主要功能是为数据交换的各个应用 系统提供数据交换服务, 包括: 消息服务、 交换数据上传/下载 服务、 交换数据权限服务、 交换数据订阅服务等等。 DEP Agent 是 DEP 的重要组成部分, 它是 DEP 与各应用 系统之间交互的桥梁。DEP Agent 的主要功能是捕获应用系 统的数据交换事件、 按照DEP的数据传输规范获取交换数据, 然后通过消息与DEPServer进行交互, 控制交换数据通过DEP Server 的正确的传输,保证数据交换的流程正确完成。DEP Agent可作为一个逻辑部件集成在应用系统内部, 也可作为一 个独立实体挂接在应用系统外部。 1.2数据交换平台的服务模式 DEP 提供的数据交换服务模式主要包括“发布-订阅”和 “请求-应答” 两种。 (1)“发布-订阅” 模式 该模式是由数据交换服务的提供方 (提供源数据的应用 系统, 下同)通过 DEP Agent 将提供交换数据的相关服务发布 到DEPServer上, 而数据交换服务的需求方(需要源数据的应用 系统, 下同)则通过 DEP Agent 订阅 DEP Server 的相应服务, 服 务提供方会自动将发生改动的源数据发送给订阅相关服务的 服务需求方; 该模式是服务提供方主动发起的数据交换模式。 (2)“请求-应答” 模式 该模式是数据交换服务的需求方通过 DEP Agent 向 DEP Server 请求执行相关获取交换数据服务, DEPServer 通过与数 据交换服务提供方的交互获取相关结果,以应答的方式反馈 给数据交换的需求方;该模式是服务需求方主动发起的数据 交换模式。 1.3数据交换平台的服务架构 根据 DEP 服务模式特点可以设计出如下的 DEP 服务架 构: DEPAgent和DEPServer之间通过数据交换协议(包括消息 协议和数据传输协议)来完成整个数据交换过程, 利用数据传 输服务和消息服务来实现交换数据的传输和数据交换过程中 的流程控制。 DEP中的数据交换过程由更新数据的交换和控制消息的 交互两部分构成,即数据流和消息流。在传统数据交换系统 中, 数据流和消息流是不加区别的, 任一个数据包中既包含交 换数据, 也包含相应消息内容, 解析时需要同时解析消息和数 据, 因而使得系统实现起来复杂度非常高, 分开这二者, 分别 根据它们的特点来进行设计处理程序,可以有效的降低系统 实现的复杂度。 数据传输服务的主要功能是实现高速的数据传输通路, 保证交换数据的时效性, 可靠性和一致性, 并支持多种数据传 输的模式。数据交换平台通过统一规范的数据传输协议,在 DEP Server 和 DEP Agent 之间传输规范化的交换数据。数据 传输服务会根据传输数据量的大小采用不同的传输模式,从 而实现数据流的高效传输。 消息服务的主要功能是保证数据交换的安全可靠,在数 据交换的过程中,数据交换的参与方以及数据交换平台需要 通过消息的传递实现对数据交换的过程控制,包括通过消息 机制实现数据更新的通知、 数据交换的请求、 数据接受的确认 以及数据传输错误的纠错等。因此数据交换平台要制定并实 现统一规范的数据交换消息协议,应用系统必须通过标准的 消息协议和数据交换平台以及其它应用系统进行通信,以控 制数据交换的整个过程。 2基于 SOA 的数据交换平台实现 2.1基于 SOA 的系统实现架构思想 上文对 DEP 的系统结构特点、 服务模式和服务架构的阐 述表明: DEP 是一种基于松散耦合架构的数据交换系统; DEP 中的主要功能均按照其功能的特点进行了抽象,以规范的服 务形式提供;DEP 中的消息服务和数据传输服务均需要利用 一种基于统一标准、 支持异构的技术来实现。 根据 DEP 的上述特性, 系统实现过程应采用松散耦合的 架构模式, 为了提高DEP的通用性, 系统应该采用基于统一的 技术标准。基于的 SOA 软件架构思想满足了系统对松散耦 合和基于统一的技术标准的需求, 因此在 DEP 系统的实现过 程中引入了 SOA 的架构思想。 在层次设计上, DEP 采用了 SOA 的层次划分思想, 将整个 系统划分为6个层次: 商业流程层、 服务层、 组件层、 企业服务总 线层和服务质量及安全管理层。经过上述层次划分, 有利于构 建 DEP 面向服务的架构方式, 使得 DEP 系统更加规范和通用。 在技术使用上, DEP 广泛采用 SOA 技术标准, 其中消息 模块利用统一的消息服务技术JMS(javamessageservice)实现; 数据传输模块利用跨语言平台的 Web Service 来实现数据传 输;服务注册和服务查询模块利用企业总线技术进行服务的 集成和管理。 2.2基于 SOA 的数据交换平台实现 DEP 系统从部署角度来看分为 DEP Server 和 DEP Agent 两个部分, 而从系统实现的角度来看, 则可以 6个层次、 8个核 心模块, 下面分别从层次结构和模块结构来对 DEP 系统的实 现进行介绍。 (1) DEP 系统的层次结构:DEP 的层次结构参考了基于 SOA 的系统设计思想, 其示意图如图 2 所示。 从层次结构来看,DEP 中的主体功能将可以由以下 4 个 层次来实现: 服务层: 该层是系统中最重要的一层, DEP 所 有核心服务都集中在这一层,该层利用组件层的功能组件来 构建 DEP 所需要的不同功能的服务。所谓服务, 指的是具有 基于统一规范的服务接口、 服务调度模式、 完成特定功能的一 图 1基于 SOA 的数据交换平台应用 数据交换平台服务器 学生信息管理系统+代理 教务信息管理系统+代理人事信息管理系统+代理 校医院信息管理系统+代理 3603 个功能实体。服务层最为核心的两种服务是:消息服务和数 据服务(数据共享服务、 数据转发服务)。组件层: 组件层将 DEP的基础性功能封装成不同的组件形式, 如数据采集、 数据 存储、消息发布订阅等,为上层的服务提供颗粒度适中的组 件。企业服务总线层: 企业服务总线(enterprise service bus, ESB)对 DEP 的服务进行注册管理, 提供服务查询。这里有一 点需要指明, 在 SOA 的架构体系中ESB同时也承担了消息服 务的功能, 在DEP系统具体的设计过程中, 消息服务由于在整 个数据交换过程中提供服务,所以将消息服务划归服务层。 质量管理、 安全管理和监控层: 该层主要提供日志服务和身 份验证服务, 为 DEP 中的服务过程提供安全管理和服务质量 保证(如: 保证服务的健壮性)。 上述 4 层实现了 DEP 的主体, DEP 在具体部署使用过程 中除了上述 4 层外还需要下面两个层次用来在DEP和各业务 系统之间进行衔接: 业务层: 该层利用已经封装好的各种数 据交换服务来构建不同应用系统之间通过 DEP Agent 与 DEP Server 之间进行数据交换的流程。 已存在系统资源层: 该层 利用已经存在的信息系统, 例如客户信息管理系统、 员工信息 管理系统等, 这些系统将与组件层进行交互, 尽可能将现有系 统中的功能加以利用, 减少系统开发量。 (2)DEP系统的模块结构: 从模块结构来看, 8 个核心模块 实现了 DEP 系统的主体功能, 这些模块根据层次的划分而分 解为多个子模块, 每个子模块根据其特点划分到 DEP 的不同 层次, 其示意图如图 2 所示。 8 个核心模块的名称及各自主要 功能如下: 消息模块: 主要处理DEPAgent和DEPServer之间的互 操作控制信息。通过统一规范的数据交换消息协议控制数据 交换的整个过程。 数据传输模块: 主要处理DEPAgent和DEPServer之间 的数据传输问题。 通过统一规范的数据传输协议, 在 DEPSer- ver 和 DEP Agent 之间传输基于统一数据标准的交换数据。 服务监控模块: 主要对数据交换过程的服务进行监控, 保证服务的完整执行,同时在出现异常的情况下进行异常处 理, 保证数据交换服务的正确性。 数据存储模块: DEP 系统需要采用多种机制存储过程 数据、 源数据、 目的数据等交换过程中需要访问的重要数据 9。 对于存储转发型(数据提供方通过数据交换平 台将交换数据提供给数据需求方)的数据, 仅 在 DEPServer 和 DEPAgent 进行临时存储; 对 于共享型(数据提供方将交换数据发布到数据 交换平台,由数据交换平台统一向数据需求 方提供数据)数据, 则在 DEP Server 端进行长 期存储。 数据权限存储和数据权限验证模块: 数据权限是为了保证其存储数据的安全性和 一致性 10, 通过数据权限的验证限制, 系统可 以控制细粒度(控制到字段级)的数据权限, 只 允许相应权限的用户角色来访问。 服务注册和查询模块:服务注册和查 询模块提供了数据交换相关服务的注册和注 销等管理功能, 允许代理发布和取消代理的数据交换服务, 为 了便于维护, 该模块提供了服务服务查询功能。 身份验证和会话管理模块: 为了保证 DEP 系统的安全 性,系统通过在服务器的身份验证模块来实现对连接到服务 器端的代理进行身份验证。 出错处理和日志记录模块: 为了保证 DEP 系统的容错 性, 系统通过出错处理和日志记录两个模块来进行对 DEP 系 统在运行过程中出错情况下进行处理和记录, 保证 DEP 系统 在出错情况下可以很快恢复,日志记录还提供了系统的使用 过程中的重要运行信息。 对系统的层次和模块两个维度的分析和设计形成了DEP 系统的完整实现思路, 系统各个层次之间的接口明确、 访问方 式规范、 技术实现标准。特别是由于对 DEP 系统中的典型数 据交换服务进行了比较好的抽象且都集中到了服务层, 在DEP 系统具体实现过程中,只需要调整业务逻辑层的实现即可以 实现符合实际需求的数据交换平台系统,从而可以极大减少 因需求变更而引起的软件设计调整的工作量。 3结束语 本文通过对数据交换平台中消息服务和数据服务的抽 象,提出了松散耦合的 DEP 系统架构。DEP 系统通过“服务 器+代理” 的架构模式, 并借鉴SOA体系架构对数据交换平台 进行了层次化的实现,在应用系统间建立起了一个的松散耦 合数据交换系统: 通过服务、 组件、 企业总线等多个层次的分 离, 使得各层次分别注重自己的重点; 实现了数据交换中的消 息、 数据传输、 数据存储、 身份验证、 数据权限控制等功能; 同 时由于数据交换服务间的低耦合及可组合使用性,便于数据 交换流程的修改和数据交换系统的重构。目前,该系统已在 清华大学实施的数据交换平台项目中实际应用。实践证明, DEP 系统有效的降低了数据交换系统实现过程的复杂度,具 有很好的通用性和可维护性。 参考文献: 1章明,许青松,沈锡臣.基于XML的数据交换共享平台模型J. 清华大学学报, 2003,43(1):105-107,119. 图 2基于 SOA 的数据交换平台层次 组件层 已有系统资源层(利用系统已有的系统资源) 数据 权限 验证 模块 数据 权限 存储 模块 消 息 发 布 订 阅 模 块 服务层 业务层(封装业务逻辑调用)Qos , 安 全 管 理 , 监 控 企 业 总 线 ESB 数据存储 模块 数据传输模块 数据采集 模块 消 息 存 储 模 块 消 息 查 询 模 块 监控服务 模块 服务注册 模块 服务查询 模块 服务 注册 管理 服务 查询 消息服务监控服务 数据权限 验证服务 数据存储 服务 数据 获取 服务 数据 发布 服务 数据采集 模块 日志记录 模块 身份 验证 服务 日志 服务 身份验证 模块 会话管理 模块 出错处理 模块 (下转第 3627 页) 3627 Rightc()函数: 从指定字符串中返回最右端的的字符。用 于包含有双字节的字符表达式。 Floor()函数: 对数字表达式进行四舍五入取整。 4.3特殊要求报表的实现 在现时社会中可能还会遇到一些更为特殊要求的报表, 如图 5 中的电力调度命令票报表, “终结时间”字段要求和因 “操作项目” 分割的最后一条记录打印在同一行上, 而其它字 段要求和因 “操作项目” 分割的第一条记录打印在同一行上, 其它行上不打印。这种情况可以利用图 6 和图 7 中描述的算 法, 在对字符串进行分割时一并处理。另外, 对于主分表结构 的报表, 可按该文介绍的方法建立灵活处理。 5结束语 利用文中介绍的报表生成模型及实现算法,各种类型的 报表, 无论采用何种计算机语言编程, 都能实现规范输出。对 于主分表结构的报表, 文中虽然没有给出算法描述, 但可按该 文介绍的方法建立两个临时表,并将临时表与报表模板绑定 即可实现。 参考文献: 1孙伟.中国式报表生成研究J. 福建电脑, 2004,(7):63-46. 2张曦泽,王化文,王中秋.基于组件的报表自动生成系统的研究 与实现J.计算机工程与设计, 2005,26(5):1358-1360. 3胡立辉.基于 B/S 的超级汇总报表处理系统的研究与实现J. 计算机工程与设计, 2005,26(7):1900-1902,1906. 4李榕,丁岳伟,徐晓骏.基于XML的动态数据报表生成技术J. 微计算机信息, 2005,26:87-89. 5王宏.用Delphi6创建 CimpicityHMI日志数据库报表J.微计 算机信息, 2003,(1):36-38. 6陶剑青,沈国华.一个通用报表工具的设计与实现J.计算机工 程与设计, 2003,24(10):34-36. 7张长富.PowerBuilder 8 实例教程M.北京:希望电子出版社, 2002.270-291. 8只飞. Delphi 7 数据库开发指南 M. 北京: 希望电子出版社, 2003.191-231. 图 7程序流程 m=0 结束 report Y 开始 F T not eof (x) s=rightc(s,k+1) m=foor(len(s)/2) FT 将数组 W 的值 追加到表 Y 中 将数组 W 的值 追加到表 Y 中 w(i)=s1 append w to y k=k+1 s1=leftc(s,k) m=floor(len(s1)/2) mn append w to Y m=0 s1=left(s,n) m=floor(len(s1)/2) k=n m=n s=w(i) m=floor(len(s)/2) Read x scatter to w F T F T 从表 X 中读取一条记赋值给数组 W 将临时表 Y 与报表模板绑定 2Ruey-Kai Sheu, Shyan-Ming Yuan, Win-Tsung Lo. MEDEA-A model for the event-based data exchange architectureC. Iwate, Japan: Seventh International Conference on Parallel and Dis- tributed Systems Workshops, Iwate Prefectural University, 2000. 88-93. 3Zhang Yanping, Zhang Chun,Wang H P. An internet based STEP data exchange framework for virtual enterprises J. Compute
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泰享懂你 康养友伴-2024年新康养需求洞察白皮书-华泰人寿
- 九年级体育与健康上册《耐久跑》教学设计
- 2024中铁国资公开招聘6人笔试参考题库附带答案详解
- 2024中石化化销国际贸易有限公司公开招聘6人(上海)笔试参考题库附带答案详解
- 九年级信息技术下册 信息的获取与分析教学设计 青岛版
- 六年级语文上册 第一单元 3 古诗词三首《西江月 夜行黄沙道中》教学设计 新人教版
- 放射科工作人员岗位培训记录
- 九年级化学上册 第五单元 定量研究化学反应 第三节 化学反应中的有关计算教学设计 (新版)鲁教版
- 方钢焊接培训
- 初中音乐人音版七年级上册万马奔腾一等奖教学设计
- 第四专题 中国革命新道路的探索历程课件
- 采购工作调研报告(3篇)
- 《遥感导论》全套课件
- 希尔国际商务第11版英文教材课件完整版电子教案
- 《学弈》优质课一等奖课件
- 2023年6月大学英语四级考试真题(第1套)(含答案)
- 飞行器总体设计(二)
- 奥迪A7L汽车说明书
- 栖居之桥的现象学沉思-海德格尔的栖居之思(续)
- 钢结构焊接施工方案最终版
- 围绝经期妇女保健指导
评论
0/150
提交评论