已阅读5页,还剩59页未读, 继续免费阅读
(计算机软件与理论专业论文)面向服务的数据集成中间件的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 数据资源的集成是当今企业信息化面l 临的一个主要问题,如何提高数据集成 方案的集成和扩展能力,降低管理部署的复杂性,是开发数据集成产品的关键。 w e b 服务基于标准i n t e r n e t 协议提供构造分布式计算平台的基础,能够方便地支 持应用系统以松散耦合的方式实现集成与协同。 文章以x i n s 和a x i s 两个w e b 服务开发框架为例,详细介绍了应用框架在 w e b 服务应用系统中的作用。然后结合数据集成应用的特点和封装已有数据集成 产品o n c e d i 的功能需求,提出了一种面向高层复用的w e b 服务数据集成应用框 架w s d i ( w e bs e r v i c eb a s e dd a t ai n t e g r a t i o nf r a m e w o r k ) 。w s d i 以x i n s 和a x i s 为基础,扩展了一系列的子框架和组件,旨在对面向w e b 服务的数据集成应用 系统的中间层提供一整套完整的解决方案,简化数据集成应用的开发,提高数据 集成应用系统的可用性、可靠性和可扩展性。w s d i 包含用户接口、控制处理、 服务实现、配置管理等模块,论文给出了每个模块的详细设计方案及部分实现代 码。 我们在设计和实现w s d i 后,通过功能测试和不断的回归测试检验w s d i 中w e b 服务的运行性能,经过与普通s o a p 样式w e b 服务的比较,得到r e s t 样式w e b 服务除了开发简便性以外在性能和扩展性方面具有一定的优势。 在论文工作前期,我们还承担了数据集成中间件o n c e d i 中基于w e b 的 s t u d i o 的开发,通过该工作熟悉了o n c e d i 的体系结构、命令解析与处理及所提 供的交互接口,为设计和实现w s d i 奠定了基础,论文对这部分工作也进行了简 要介绍。 【关键字】数据集成,w e b 服务,可扩展框架,s o a p a b s t r a c t t h ei n t e g r a t i o n0 td i f f e r e n td a t ar e s o u r c e s1 sac e n t r a lp r o b l e mi ne n t e r p r i s e i n f o r m a t i o nc o n s t r u c t i o n h o wt oe n h a n c et h e s c a l a b i l i t ya n dd e p l o ya b i l i t yi n d e s i g n i n gh i g hq u a l i t yd a t ai n t e g r a t i o n s o l u t i o nh a v ec o m et ob e k e yi s s u e s m o r e o v e r ,w e bs e r v i c e sp r o v i d e sf o u n d a t i o n sf o rb u i l d i n gd i s t r i b u t e dc o m p u t i n g p l a t f o r m s b a s e do ns t a n d a r di n t e r n e t p r o t o c o l s i te f f i c i e n t l ys u p p o r t s t h e l o o s e c o u p l e di n t e g r a t i o na n dc o o p e r a t i o no fd i f f e r e n ta p p l i c a t i o ns y s t e m s f i r s to fa l l ,t h i sp a p e rt a k e sx i n sa n da x i sf o re x a m p l e ,d e s c r i b et h eb e n e f i t s f r o mw e bs e r v i c e sd e v e l o p i n gf r a m e w o r k c o n s i d e r i n gt h ed a t ai n t e g r a t i o ni n t e r e s t s a n dt h ew e bs e r v i c e si n t e r f a c en e e d sf o ro u rd a t ai n t e g r a t i o np r o d u c to n c e d i ,ah i 曲 l e v e lr e u s i n go r i e n t e dw e bs e r v i c e sb a s e dd a t ai n t e g r a t i o nf r a m e w o r kw s d i ( w e b s e r v i c e sb a s e dd a t ai n t e g r a t i o nf r a m e w o r k ) i sp r o p o s e d i ti sb u i l to na x i sa n dx i n s , a n dw i t has e r i e so fn e wd e v e l o p e ds u bf r a m e w o r k sa n dc o m p o n e n t s i ta i m st oo f f e r ac o m p l e t es e to f s o l u t i o n sf o rt h em i d d l el a y e ro f w e bs e r v i c e sb a s e dd a t ai n t e g r a t i o n a p p l i c a t i o n ,l o w e rt h ed i f f i c u l t i e so fd e v e l o p i n g ,e n h a n c et h eu s a b i l i t y , r e l i a b i l i t ya n d s c a l a b i l i t yo f d a t ai n t e g r a t i o na p p l i c a t i o ns y s t e m w s d ic o n s i s t so fs e v e r a lm o d u l e s ,s u c ha su s e ri n t e r f a c em o d u l e ,c o n t r o l p r o c e s s i n gm o d u l e ,s e r v i c ei m p l e m e n t a t i o nm o d u l e ,m a n a g e m e n ta n dd e p l o y m e n t m o d u l ee t c t h ep a p e ro f f e r st h ed e t a i l so fe v e r ym o d u l e sd e s i g ns o l u t i o n sa n dp a r to f t h ec o d e s w ed e s i g na n di m p l e m e n tp e r f o r m a n c et e s ta n ds c a l a b i l i t yt e s tt oc o m p a r et h e p e r f o r m a n c ea n ds c a l a b i l i t yo fs o a ps t y l ew e bs e r v i c e sa n dr e s ts t y l ew e bs e r v i c e s t h er e s u l t ss h o wo u tr e s ts t y l ew e bs e r v i c e si sn o to n t yc o n v e n i e n tf o rd e v e l o p i n g , b u ta l s oh a sh i g h e rp e r f o r m a n c ea n dh i g h e rs c a l a b i l i t y i nt h ep e r i o do f w r i t i n gt h i sp a p e r , w ew e r ea tw o r ko nt h ep r o j e c to f w e bs t u d i o o fo n c e d i t h ee x p e r i e n c eo ft h a tp r o j e c th e l p su sg e tf a m i l i a rw i t ht h e0 n c e d i s y s t e ms t r u c t u r e ,m a n a g e m e n ta p i ,a n dc o m m a n d sp a r s e ra n dp r o c e s s i n g i tl a i da f o u n d a t i o no ft h el a t t e rw s d lw o r k t h ep a p e rg i v e sab r i e fd e s c r i p t i o no ft h i sp a r to f w o r kb u ta 】s o 【k e y w o r d 】d a t ai n t e g r a t i o n ,w e bs e r v i c e s ,s c a l a b l ef r a m e w o r k ,s o a p 6 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 1 引言 本章从数据集成的发展背景分析数据集成产品目前的现状以及未来面临的 问题,并介绍论文的主要工作和文章的组织。 1 1 研究背景 1 1 1 数据集成概述 在现代经济社会中,数据驱动着切商业活动。如何安全地存储数据,如何 快速地获取数据,如何保证数据时刻有效,都是至关重要的。 数据集成的主要作用是在企业应用中处理和管理分布的数据资源,为上层应 用提供一致和高质量的可用数据。它在企业应用集成中发挥着越来越重要的作 用。数据集成技术的涉及面非常广泛【1 】,主要包括:1 ) e t l ,即跨操作系统、跨 数据源的数据抽取、转换和装载;2 ) 数据档案和质量管理,即记录管理集成过 程中数据的变化、来源等档案信息;3 ) e d i ,企业间的电子数据交换;4 ) 联邦 数据库,集成多个局部数据源为一个虚拟的数据源,支持局部数据源对用户的透 明:5 ) 数据复制,数据集成过程中保证分布数据变动的一致性;6 ) 适配器,为 访问异构数据源提供连接支持;7 ) e a i ,应用集成技术;8 ) 建模和元数据管理。 如图1 所示。 1 1 2 主要集成方案 目前,主要的数据集成方案包括联邦数据库、数据仓库和中间件形式的数据 集成等。下面,我们分别考查每种集成方式的特点。 中国科学技术大学硕士学位论文面向服务的数据集成中问件的研究和实现 a d a p t e l r s 1 1 2 1 联邦数据库 a p p l i c a l j o l li n t e g r a t i o n m i d d l e w a ml e a i d r d a t a e d e r a t i o n l ”e l l ” 蕊i 誊掣“、屿 。 、 m o d e l i n g : ,m e t a d 甜a - ? 一+ 图1 数据集成技术涉及的应用范畴 g a r t n e 早期的数据集成致力于构造多数据库系统( m u l t i d a t a b a s es y s t e m s ) 。它是多个 分布式数据库的集合,这些组件数据库存在某种形式的异构且需要共享或交换数 据。 联邦数据库( f e d e r a t e dd a t a b a s e s ) 是多数据库系统的一种特殊形式,它是多个 互相协作的自治数据库的集合。根据组织方式的不同,它分为紧耦合和松耦合的 两种。在紧耦合的联邦数据库中,管理和操作针对整个联邦,而在松耦合的联邦 数据库中,组件数据库有某种程度的管理独立性。 组件数据库自治是联邦数据库的最大特征。自治有多方面的含义,包括设计 自治p e s i g na u t o n o m y ) 、通信自治( c o m m u n i c a t i o na u t o n o m y ) 和执行自治 ( e x e c u t i o na u t o n o m y ) 等。设计自治允许组件数据库的设计者在选择数据模型和 查询语言等方面有更多的自由。然而,自治与共享数据的需要是相矛盾的,因此, 在实现数据互操作的前提下,通常要牺牲某种自治性。 现代数据库系统成功的使用三层体系结构来分离数据库的物理实现和逻辑 表示,然而对于联邦数据库来说是不够的,我们通常使用五层体系结构来表示 个典型的联邦数据库系统。如图2 所示。 在这样的五层体系结构下,存在着五种数据模式,通过在五种模式间转换查 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 询,来实现数据的互操作。这五种模式是: 本地模式( l o c a ls c h e m a ) :与传统的三层模式中逻辑模式对应; 组件模式( c o m p o n e n ts c h e m a ) :适应于在联邦数据库间共享数据的模式, 由本地模式转换而来; 导出模式( e x p o f ls c h e m a ) :组件模式中与组成数据库联邦相关的部分模 式; 联邦模式( f e d e r a t e ds c h e m a ) :整个数据库联邦的集成模式,各个组件数 据库的导出模式可以与其映射; 外部模式( e x t e r n a ls c h e m a ) :提供给应用或用户的外部视图。 1 1 2 2 数据仓库 图2 联邦数据库体系结构 数据仓库从功能上来说,超越了数据集成的研究范围。建立数据仓库的目的, 通常是在企业应用环境中,对一系列分布的数据源进行收集、清洗和集成,然后 把合格的数据集中存储,之后可能进行某些聚集操作或联机分析处理。典型的数 据仓库应用如图3 所示。 中国科学技术火学硕士学位论文 面向服务的数据集成中问件的研究和实现 图3 数据仓库模型 由于在构建数据仓库时,数据处理大多数是应用相关的,且数据量非常庞大, 我们通常使用特殊的技术来实现数据的聚集,如多维数据库和数据方体等。在上 述体系结构中,包装器( w r a p p e r ) 和仲裁器( m e d i a t o r ) 负责数据集成。在这个过程 中,通常采用积极和懒惰的两种数据更新策略,前者指组件数据库旦有数据变 化,即更新其实视图的数据,而后者只有在使用数据时才查询变化。 包装器和仲裁器体系结构是数据集成的一种主要模式,其主要思想是为每个 数据源提供一个包装器,通过它与统一的协调器协作完成数据集成,而协调器则 以标准的形式提供全局事务处理及数据访问的方法。该集成方式通过定义全局模 式与各本地模式的映射来提供数据互操作,但是通常不能定义算法来解决数据冲 突。 1 1 2 - 3 基于中间件技术的数据集成 联邦数据库和数据仓库的应用成功解决了许多数据集成问题,然而也使许多 用户望而却步,主要是: 数据集成是面向主题的:在进行集成工作之前,各数据源的本地模式是 己知的,数据集成的目标是明确的,构建导出模式或建立包装器时局限 于己知应用,由于主题的多样性,必然丧失了灵活性与适应性; 全局模式难以构建:在联邦数据库中,由于本地设计自治的需要,导出 模式差异较大,要建立与各种导出模式相协调的联邦模式比较困难。对 4 中国科学技术大学硕士学位论文 面向服务的数据集成中间件的研究和实现 于包装器和协调器模式的数据集成,有些系统甚至不能提供全局模式, 转而依赖于匹配算法等方式来进行模式集成; 因此,我们考虑提供一种轻量级的数据集成中间件,利用它能够灵活地完成 绝大部分的数据集成工作。在数据集成过程中,实现数据互操作要通过转换查询 或转换数据。在数据仓库等应用中,数据的转换是集成的主要工作。无论数据从 操作性系统流入数据仓库中,还是从旧的操作性系统流入重构的系统中,数据的 e t l 工作必不可少,即我们必须能够实现数据的抽取、清洗、传输转换和加载 等操作。 一个简单的数据集成中间件体系结构如图4 所示。 嗲圈呤囤囤 c a ,p t 。u r e g o m n e n t p ov 圆毫圜 寻 圄q 回和回q 圆 l o a d c o m p o n e n t t r a n s p o r t c o m p o n e n t 图4 数据集成中间件体系结构 ,t r a n s f o r m a t i o n c o m p o n e n t 该体系结构下数据集成的流程或需要进行的主要工作如下: 1 数据抽取 文档化需要转换的数据源:原始的数据源可能是无格式的,甚至是 没有机器存储的,这需要我们首先鉴别感兴趣的数据,分析商业数 据的意义、数据间的关系和商业规则等,然后按需要格式化存储数 据; 决定数据抽取的方法:般情况下,我们采用抽取工具或数据处理 语句获得所有感兴趣的数据,然而对于具有大数据量的系统,比如 o d s ,需要能够敏感的发现变化的数据,包括增加、修改和删除了 的数据,以提高效率; 保证数据的合法性:数据抽取过程中还需要保证数据符合现实需求, 5 中国科学技术大学硕士学位论文 面向服务的数据集成中间件的研究和实现 合乎预定义的商业规则,满足数据间的约束关系等,以提高数据的 质量。 2 数据传输 提供灵活的数据传输方式,保证在资源缺乏的情况下,至少有一种 可用的数据传输渠道; 提供可靠的数据传输方式,保证数据可靠的到达目的端,并且在传 输过程中采取压缩和加密等措施。 3 数据转换 提供全局模式供各个本地模式间互相转换,包括从源数据模式到全 局模式的转换和全局模式到目的模式的转换。 4 数据加载 确保成功的把传输过来的源数据加载到目标系统中,按一定的策略 解决可能造成的数据冲突。 1 1 3 基于w e b 服务的数据集成中间件 w e b 服务是c o r b a 和d c o m 技术的新发展,它以分布在w e b 站点上的活 动对象形式提供分布式服务。对于分布式数据管理系统来说,它可以使系统独立 于操作系统和应用语言,解决了部分结构异构问题。它为某些数据集成中的组件 行为提供了高级别的抽象,如包装器、协调器和通讯行为等。在此,我们简单描 述w e b 服务和数据集成的相似性,为建立基于w e b 服务的数据集成提供依据。 简单说来,基于w e b 服务的软件总的机制是发布、查找和绑定,w e b 服务 的以下标准可满足数据集成的需求: 服务信息发现:用户可以通过查询黄页来发现信息提供者,这由u d d i ( u n i v e r s a ld i s c o v e r yd e s c r i p t i o na n di n t e g r a t i o n ) 标准实现。u d d i 是一 个基于w e b 的分布式信息注册服务标准,也提供了可公共访问的部分实 现。 理解如何获取信息:这由w s d l ( w e bs e r v i c ed e f i n i t i o nl a n g u a g e ) 语 言实现,它描述了w e b 服务的接口,与c o r b a 的i d l 相似。它使用 x m l 格式描述网络服务,基于操作和消息。操作和消息的描述是抽象的, 只有在绑定到具体的网络协议和消息格式时才可以定义一个具体的服 务。 6 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 获取和使用信息:我们可以通过s o a p ( s i m p l e o b j e c t a c c e s s p r o t o c 0 1 ) 协议获取和使用信息,它是基于x m l 的用于在分布式环境下交换信息 的轻量级协议,允许标识参数和服务结果的类型。 从数据集成的角度考虑,我们也发现许多组件与w e b 服务有相似之处: 通过目录服务等发现数据源的存储位置; 找到数据源的描述( s c h e m a ) ; 如果进行异构数据的集成,需要对数据源进行包装; 在进行集成时,使用协调器完成异构数据的转换,这是数据集成的核心 部分; 执行数据查询。 一般来说,后三步是数据集成的关键,而忽略了前两步工作,即假定数据的 模式和语义是已知的。为了在w e b 上实现数据的自动集成,需要克服机器、操 作平台和应用语言等诸多障碍,w e b 服务可有效辅助解决这些问题。我们用如图 5 表示在w e b 服务支持下的数据集成体系结构( 包装器协调器集成模式) 。 图5 使用w e b 服务标准的包装器协调器集成模式 在w e b 服务的框架下,使用一组w e b 服务协议,构建信息集成系统,对每 个数据源都为其创建一个w e b 服务,然后使用w s d l 向服务中心注册。当要构 建一个新的集成应用时,集成端首先向注册中心发送查找请求,收集并选择合适 的数据源,然后通过s o a p 协议从这些数据源获取数据。这种方法克服了单个 的联邦系统和基于组件的分布式集成系统的缺陷,具有完好封装、松散耦合、规 范协议和高度的集成能力等特性。因此,基于w e b 服务的信息集成方案是构建 网络资源集成平台的理想体系结构。 7 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 1 2 论文的主要工作 本文的主要工作集中在四个方面,首先对数据集成框架的研究,然后是设计 基于w e b 服务的数据集成开发运行框架w s d i ,对w s d i 进行系统实现和w e b 服务性能测试。作为沦文的工作基础,还承担了数据集成中间件o n c e d i 的基于 w e b 的s t u d i o 开发。 ( 1 ) 基于w e b 服务的数据集成框架研究 通过对已有数据集成产品的研究,我们发现它们有的缺乏w e b 服务接口, 难于内部扩展新的功能,有的在w e b 服务开发上缺乏有力的支持,二次开发用 户面临繁琐的接口定义工作和项目风险。当面向企业级应用进行开发时,它们或 者在功能上不完备,或者在性能以及可扩展性上不能满足要求。文章以x i n s 和 a x i s 两个w e b 服务开发框架为例,详细介绍了应用框架在w e b 服务应用系统中 的作用。然后结合数据集成应用的特点和封装已有数据集成产品o n c e d i 的功能 需求,对面向高层复用的w e b 服务数据集成应用框架进行研究,并提出设计方 案,形成完整的基于w e b 服务的数据集成框架w s d t ,从真正意义上简化了数据 集成应用的开发,提高数据集成应用系统的可用性、可靠性和可扩展性等特性。 ( 2 ) 基于w e b 服务的数据集成框架w s d i 的设计与实现 论文在基于w e b 服务的数据集成框架研究基础上,进一步对w s d i 进行模 块设计与实现。w s d i 着眼于满足基于w e b 服务的数据集成框架的设计需求,以 x i n s 和a x i s 为基础,并结合数据集成的服务扩展、应用接口多样化和数据传输 事务性要求高等特殊要求,扩展了一系列的子框架和组件,面向高层复用,将作 用范围扩大到整个w e b 服务应用体系结构的多层;加入了新的功能模块和组件, 对部分业务逻辑和数据交互进行封装;对框架和组件进行高度的功能抽象,分离 冷点和热点,引入了一些代码生成机制,可以辅助生成框架中部分模块和组件的 代码。 ( 3 ) w s d i 的测试和性能比较 w s d i 框架中w e b 服务的运行性能是系统可用性的一个关键。论文对w s d i 中的w e b 服务运行性能进行了测试和优化。经过测试对比,w s d i 作为面向w e b 服务的数据集成框架,针对数据集成应用对性能以及可扩展性要求高的特点,采 用r e s t 样式的w e b 服务来代替传统的s o a p 样式的w e b 服务。 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 ( 4 ) 基于w e b 的o n c e d ls t u d i o 的开发 o n c e d i 是中科院软件所开发的数据集成中间件产品,由服务器和: 作室 ( s t u d i o ) 两部分组成。s t u d i o 实现数据集成中间件的管理和部署,在数据集成 中具有重要的作用。原有的o n c e d is t u d i o 是用c 语言开发的,在实施数据集成 案例中需要在各个点进行部署,并在本地进行管理和配置,这给应用带来了很大 的不变。作为论文工作的前期基础,承担了数据集成中间件o n c e d l 基于w e b 的 s t u d i o 的开发,实现基于浏览器方式的o n c e d i 远程部署与管理。通过该工作熟 悉了o n c e d i 的体系结构、命令解析与处理及所提供的交互接口,为设计和实现 w s d i 奠定了基础。 1 3 论文的组织 论文的后续章节按以下方式组织: 第二章介绍了当前典型的w e b 服务框架a x i s 和x i n s ,分析其优缺点;介绍 r e s t 样式w e b 服务的定义和一般实现。最后介绍了数据集成方面,中科院软件 所的数据集成产品o n c e d i ,分析了它的优势特点以及一些局限性。 第三章介绍w s d i 框架的设计和实现,从最初的需求开始,介绍w s d i 框架 中各个模块的作用以及具体实现,分别介绍用户接口模块、控制处理模块、服务 实现模块以及配置管理等等模块。最后介绍w s d i 的测试,从性能测试和伸缩性 测试两方面和传统的r e s t 样式服务做了对比。 第四章介绍论文的一个前期工作,即数据集成中间件o n c e d i 中基于w e b 的 s t u d i o 的开发,实现o n c e d i 基于浏览器的远程管理与部署。 第五章对全文工作进行总结。我们列举了论文工作的主要贡献,并且对进一 步研究提出展望,特别是对于面向w e b 服务的数据集成框架下一步工作进行了 设想和思考。 9 中国科学技术大学硕士学位论文 面向服务的数据集成中间件的研究和实现 2w e b 服务应用框架和数据集成 本章介绍了当前典型的w e b 服务框架:a x i s 和x i n s 。分析其优缺点和适合 的应用范围。另外接着介绍了中科院软件所的数据集成产品o n c e d i ,分析其优 点以及局限性,最后介绍了r e s t 样式w e b 服务的定义和一般实现。 2 1a x l s a x i s 5 】本质上是一个s o a p 引擎,但却又不只是个s o a p 引擎。除了s o a p 引擎的基本功能还包括: 一个简单而独立的服务器 可以被插, 入( p l u g s i n ) s e v l e t 引擎( 像是t o m c a t ) 而作为一个服务 提供对于w s d l 更多的支持 一个发行工具,协助将w s d l 转换为j a v a 程序代码 一些网络服务范例程序 一个可以用来监视t c p i p 封包的工具 a x i s 是a p a c h es o a p 的第三代工具( a p a c h es o a p 是由i b m 的s o a p 4 j 演 化而来) 。在当时a p a c h es o a p 第二版的设计者在讨论如何将该引擎设计得更有 弹性、更容易安装,而且可以同时处理s o a p 和当时即将被w 3 c 通过的x m l 传输标准( 也就是后来的w s d l ) 。经过一连串的讨论和提案,最后开展了a x i s 这个项目。 a x i s 最主要的价值就在提供数种简单的模式协助程序设计师开发他们的网 络服务。包括如下: 最简单的模式,直接可以指定将某个对象以网络服务的方式发布。 a x i s 会自动产生相关的程序代码和产生w s d l 。程序设计师不需要去 了解详细的网络服务定义即可撰写网络服务。 由w s d l 产生j a v a 程序代码。a x i s 会产生此网络服务所需使用到的 大部分程序代码,程序设计师只要针对所提供的服务撰写关键的程序 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 代码( 例如企业规则、和后端系统的连接) 即可。 由j a v a 程序代码产生w s d l 。藉由提供j a v a 类别或是接口,可产生 出w s d l 定义档。在由此w s d l 产生必要的程序代码,以建构网络 服务。 图6 a x i s 的系统组成结构 a x i s 2 框架结构如图6 所示。a x i s 2 包含以下几个模块: c o r e 核心模块( 包含e n g i n e 模块,e n g i n er e g i s t r y 模块,c o n t e x t s 模块, h a n d l e rf r a m e w o r k 模块和p h a s er e s o l v e r 模块) d e p l o y m e n t 模块 a x i so b j e c tm o d e l 模块( a x i o m ) w s d lo b j e c tm o d e l 模块 c l i e n t a p i 模块 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 2 2x i n s x i n s 4 3 是一个开源的w e b 服务框架。x i n s 支持p o x r p c 、s o a p 、x m l - r p c 等协泌,它的主要组成部分是一个基于x m l 规范格式和一个基于j a v a 实现的框 架。从它的规范上来说,x i n s 可以生成h t m l 、w s d l 、c l i e n t 端代码、s c r v e r 端代码、基于h t m l 的测试表单等等。 图7 x i n s 概要一览 x i n s j a v a 服务器框架对于x i n sa p i 实现来说,就像s e r v l e t 容器和s e r v l e t 的关系,它会检查输入请求和输出响应,来检查是否合乎规范。主要功能有事务 日志、唯一性日志文档、访问控制和诊断性上下文指针等。除此以外x i n s 还提 供了x i n s j a v a 客户端框架,它使得调用x i n s a p i 更加简单。它提供了客户端的 负载平衡,错误恢复和各种超时处理,所有这些也都有日志支持。 2 3r e s t 目前对于w e b 服务的实现有2 大途径,一个是r e s t ( r e p r e s e n t a t i o n a ls t a t e t r a n s f e r ) 样式7 ,另一个是s o a p 样式,两者的最大区别在于:r e s t 样式 的w e b 服务面向资源,它简化和统一了操作接口,用户可以通过u r i ( u n i v e r s a l r e s o u r c ei d e n t i f i e r ) 定位所需的一个或一组资源,对这些资源的操作由h t r p 标 准限制,关键操作只有:g e t 、p o s t 、p u t 、d e l e t e ,分别对应于对资源的获 取、修改、新建和删除。s o a p 样式的w e b 服务是面向操作的,它更关心服务提 供者可以提供的多种具体而详细的操作和功能,对远端服务的调用和返回消息都 需要以s o a p 消息格式封装。两者各有各的优势和缺点,关键看应用场合。目前, l3 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 a m a z o n sw e b 服务【8 同时提供s o a p 样式和r e s t 样式的w e b 服务,而8 5 的 使用都是r e s t 样式的w e b 服务。 至于r e s t 样式w e b 服务的实现方式,需要作以下几步工作:1 ) 定义服务 的w s d l 描述;2 ) 定义各r e s t 样式服务r e s p o n s e 的返回格式,以x m ls c h e m a 实现;3 ) 编写服务代码。制定服务资源所在的u r i ,比如: 纛+ 荔凄t i 、蠹。 篙警誉i 鬻蠢雾j 毫鼍蠹豢囊i r e s t 样式的w e b 服务为w s d i 带来了诸多方便,如:服务实现代码开发难 度降低:用户应用代码开发难度降低;代码可读性提高;省去了s o a p 消息的封 装和解开,使得服务的性能、可扩展性、独立性都有所提高。 2 4o n c e d l o n c e d i 是中科院软件所软件工程技术中心研制的开放网络计算平台o n c e 平台中,负责数据集成的一个关键子平台。它可以灵活的定制开发,满足不同的 数据集成需求,跨平台,跨多种数据源( 包括常见的各种数据库产品,以及文本 文件,文件夹,x m l 文档等) ,具有增量传输,冲突解决等多种实用机制,并提 供完善的安全和管理工具。同时在数据传输方面,支持f t p ,e m a i l ,o n c e m q 等 传输渠道。 o n c e d i 的系统功能和特点主要包括: 1 ) 操作的任务化及自动化 o n c e d l 支持数据提取、转换、传输和加载全过程的操作,通过任务定义的 方式定义数据处理流程,完成在各种网络条件下的数据复制和传送操作。任务可 阻手工执行和自动执行,特别是可以灵活定义触发条件,如确定时刻触发、确定 间隔触发,实现数据的自动复制;同样,也可预先设定任务停止触发的时间。 用户一旦定义了自动执行的任务,就不再需要人工干预,系统会根据设定的 条件自动地将数据从源数据端复制到目的数据端,并进行自动加载。 2 ) 支持异构数据源 1 4 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 图8 0 n c e d i 数据集成示意固 o n c e d l 支持多种类型的数据作为信息交换的对象,包括关系数据库的数据、 x m l 文件和普通文件。数据发送端和数据接收端可以为异构的数据资源,系统 自动实现之间的相互转换,如o r a c l e 数据库到s y b a s e 数据库、关系数据到x m l 文档等。除了关系数据库和x m l 文件,系统还任意的普通文件作为数据源。对 于普通文件,系统负责从指定的位置抓取文件,并存放在接收端的指定位置。 3 ) 支持不同的传送方式 为满足不同用户的需求,如有的用户强调可靠性,而有的用户强调利用已有 的通信方式,o n c e d i 的数据传送方式可以是通过f t p 、e m a i l ,也可以是具有更 好传输可靠性的消息通信中间件,如o n c e m q 等。 4 ) 增量数据复制 在很多应用中,数据传输操作是一个定期的、频繁的工作,同一个传输任务 可能需要每月、每周甚至每天执行,或者隔一个时间间隔就得执行一次,为了能 够节省资源和提高性能,系统提供增量复制功能,即保证在上一次已经传输过的 数据只要在这期间没有任何变动,下一次传输时将被忽略。 5 ) 数据冲突解决方案 o n c e d i 大量应用于数据汇总的场合,如下级机关向上级机关汇报数据,如 果多个下级机关使用了同样的业务系统,那么有可能报送的数据完全是一样的, 从而有可能在总部进行加载时出现数据冲突的情况。为了解决这类问题,o n c e d i 提供了完善的关键字冲突解决方案,可以添加、修改、删除关键字字段。 数据发生冲突的另外一种情况是,接收端收到的数据与本地已经有的数据重 复。例如,往关系数据库中存贮数据时,收到的数据中的关键字与表中已有数据 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 关键字冲突;往文件中存贮数据时,收到的文件的文件名与已有的文件名重复等。 为此,用户可以选择多种冲突解决方式,例如,用新收到的数据覆盖已有的数据, 抛弃收到的发生冲突的数据,抛弃收到的全部数据,甚至清除已有的数据等。 6 ) 安全控制 o n e e d i 在数据操作和传输过程中提供完善的安全机制,系统提供用户管理 和身份认证功能,只有合法的用户才能通过发送端管理器( 接收管理器) 或发送 端c l i ( 接收端c l i ) 连接到发送服务器( 接收服务器) 中,并进行与其权限相 应的操作。另外,系统还可以使用o n c em q 通信系统的安全机制。 7 ) 适配器、插件的动态加载和卸载 适配器、插件的动态加载和卸载是o n c e d i 的一个重要特色,使系统具有更 高的灵活性和可扩充性。动态加载要求在不重新编译系统核心甚至在系统运行 时,可以将满足某个要求的功能适配器或插件模块集成到系统中,或者从系统中 删除某个适配器和插件模块。 但随着企业应用的需求不断提升,o n c e d i 在实际应用中也遇到一些问题: 集成后的数据需要共享,并要增强安全性和开发方便性:o n c e d i 在为企 业定制特定的数据集成业务后,得到的集中数据只服务于定制开发的应 用,不能很好的和企业中以前和将来的应用集成,形成局部的信息孤岛。 如果将这些集中数据做成w e b 服务,可以很好的方便企业内部和外部其 他应用的开发。另外对于企业外部、企业间的b 2 b 应用,有效的防止数 据格式等重要信息的外泄,需要进一步增强安全性,并提供通用的访问 接口来方便应用开发。 本身强大功能需要共享,且接口要跨语言:o n c e d i 可以进行定时、增量、 一致完整的集成数据,除此之外,还有其他很多强大的功能。这些功能 一定程度上,只为o n c e d i 私有调用了。当然o n c e d i 也提供了必要的开 发接口来调用这些强大的功能。但对于不用c + + 语言编写的其他企业应 用,在集成上存在技术难度,影响客户的总体拥有成本。如果将这些功 能包装成w e b 服务,则解决了跨语言的问题。 未来的发展,需要增加功能:传统d i 产品正逐渐向企业应用集成e a i 靠拢。数据集成产品的功能和涉及面也层出不穷,比如:1 传统e t l ;2 数据档案和质量管理( 保存管理集成过程中数据的变化等信息) ;3 e d i 企业间数据交换;4 联邦数据库,将分布异构数据集成为统一视图;5 查 重和同步,数据集成过程中,保证分布数据变动的一致性;6 适配器, 为访问异构数据源;7 e a i 集成;8 模型化m e t a d a t a 的管理。 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 在1 11 中提到的数据集成功能和涉及面中,o n c e d i 包括了一半。在目前流 行的企业服务总线e s b ( e n t e r p r i s es e r v i c eb u s ) 框架下,有的功能我们可以自 己实现并以w e b 服务的方式发布,有的则可以使用其他产品,比如o n c e p i 增加 o n c e d i 流程管理的功能,并由e s b 中统一的安全服务来管理o n c e d i 的安全。 但目前e s b 框架尚未成形的情况下,我们的研究工作还只在s o a 为o n c e d i 带 来的集成便利上。w e b 服务的安全独立的将由w e b 服务支撑平台,如w e b 服务 器来保证。 中国科学技术大学硕士学位论文面向服务的数据集成中间件的研究和实现 3w s d i 框架的设计与实现 本章首先介绍w s d i 的设计需求,接着从总体结构和模块框图一一介绍每个 模块的具体设计与实现。 3 1w s d i 的设计需求 w s d i 的设计初衷在于两方面的工作:对内,为o n c e d i 建立易于扩展,方 便开发编程的框架环境;对外,为o n c e d i 扩展标准的w e b 服务接口。一般来讲, 这方面的工作会趋于冗长繁重的重复劳动,为此,需要开发一整套方便的可复用 的框架结构,通过细节的工具生成所需要的代码,降低开发周期和复杂度。 ( 1 ) 面向高层复用,便于扩展 面向高层复用在这里有两层含义:1 ) 应用框架的功能模块、组件甚至应用 框架本身都可以进行复用,而这些复用要尽量避免涉及到框架的底层技术细节, 避免过多的底层代码的编写,尽量达到黑盒复用。这样,就得保证框架功能模块、 组件和框架本身的独立性和完整性,并且提供功能无关的松散耦台的接口,以便 于不同的w e b 应用都能重用这些资源。2 ) 应用框架本身是可扩展的,具有良好 的框架结构和接口,可以集成已有的功能模块和组件。 ( 2 ) 着眼于自动生成,工具开发 为了便于d i 外部应用程序的开发,在应用框架的设计时就考虑到一些自动 生成的因素是很有必要的。其中关键一点就是对框架中的模块和组件进行高度的 抽象和设计通用的描述方法,将其不变和可变部分,也就是冷点与热点进行清晰 的分离,在自动生成时,对于冷点可以静态的拷贝或引用,而对于热点则通过某 种便捷的配置方法( 如x m l 文件) 对其功能进行完整清晰的定义,开发工具在 运行时对此定义文件进行解析,从而生成框架中的可变部分 ( 3 ) 成熟易用,降低项目风险 w s d i 将被应用于企业级关键业务的数据集成系统的开发,框架本身必须是 成熟、稳定和安全的,带有尽量多的实践经验和尽量少的实验性质,对于新技术 的使用也要谨慎,降低项目风险;w s d i 应用框架本身也要力求简洁和轻量级, 易于使用,避免复杂庞大的a p i 和底层代码的操作,这样可以减少项目培训投入, 缩短开发周期。因而在设计w s d i 应用框架时,必须要将技术的先进型、功能的 1 9 中国科学披术大学硕士学位论文面向服务的数据集成中间件的研究和实现 强大性和系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西南宁隆安县红十字会招聘公益性岗位工作人员1名考试笔试模拟试题及答案解析
- 2025广西来宾市糖业发展局招聘城镇公益性岗位人员1人笔试考试参考试题及答案解析
- 2025贵州安顺市委社会工作部招聘公益性岗位人员2人考试笔试参考题库附答案解析
- 甘肃省平凉市市直学校招聘2026届国家公费师范生和国家优师计划毕业生37人笔试考试参考试题及答案解析
- 2025福建省翼食荟餐饮管理有限公司及南安市翼融信资产运营有限公司招聘工作人员补充笔试考试参考试题及答案解析
- 2025玉溪市峨山县林业和草原局招聘短期综合应急救援队员(11人)考试笔试模拟试题及答案解析
- 2026长光卫星校园招聘考试笔试参考题库附答案解析
- 2025四川德阳市广汉市事业单位考核招聘6人笔试考试备考试题及答案解析
- 2025上海市保健医疗中心工作人员公开招聘笔试考试参考题库及答案解析
- 2025安徽芜湖红庙镇选拔村级后备干部12人笔试考试参考题库及答案解析
- 铁路工务安全规则试题(含答案)
- 2025广东学法用法考试题目及答案
- 2025四川遂宁发展投资集团有限公司招聘8人笔试参考题库附答案
- 2025年数字金融行业数字金融与金融科技研究报告及未来发展趋势
- 中国马克思主义与当代2024版教材课后思考题答案
- 可复用物品消毒灭菌管理
- 老年人的养老规划方案
- 2025河南郑州巩义市金桥融资担保有限公司招聘3人考试笔试备考题库及答案解析
- 2025江苏农村商业联合银行股份有限公司社会招聘考试笔试参考题库附答案解析
- 房建测量培训教学课件
- 物联网应用技术大学生职业生涯规划书
评论
0/150
提交评论