




已阅读5页,还剩51页未读, 继续免费阅读
(计算机软件与理论专业论文)基于xml的异构关系数据库集成技术的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 建立分布式协作开发环境是实现设计工具之间进行交互与数据共享、提高设 计与开发效率的一种重要手段。不同工具所使用或产生的数据往往存储在不同的 关系数据库中,为使这些数据在不同工具之间得到共享与利用,必须提供有效的 数据访问机制。 异构关系数据库集成系统能够使协作开发环境中不同工具之间的数据访问摆 脱工具本身的限制,从而实现不同工具在同一设计任务中的相互协作。为满足异 构关系数据库集成的灵活性和完整性要求,本文提出了一种基于x m l 的异构关系 数据库数据转换方法,分别制定了关系数据库模式和关系数据库数据与定制格式 的x m l 文档的映射规则,设计了相关的转换算法,通过模式转换和数据迁移的方 式实现了关系数据库之间的数据转换。实验表明,上述方法能够高效的完成异构 关系数据库数据转换,并且保证了被转换数据的实体完整性和参照完整性。 关键词:工具集成数据转换x m l 映射规则完整性约束 a b s t r a c t a b s t r a c t a ni m p o r t a n ta p p r o a c ht om a k et h ed e s i g na n dd e v e l o p m e n tm o r ee f f i c i e n ta n dt o r e a l i z et h ei n t e r a c t i o na n dd a t as h a r i n gb e t w e e ns e v e r a ld e s i g nt o o l si st oe s t a b l i s ht h e d i s t r i b u t e dc o l l a b o r a t i v ed e v e l o p m e n te n v i r o n m e n t t h ed a t at h a tu s e do rg e n e r a t e d b yd i f f e r e n tt o o l su s u a l l ya res t o r e di nh e t e r o g e n e o u sr e l a t i o n a ld a t a b a s e s t h e ns o m e e f f e c t i v ed a t aa c c e s s i n gp r o t o c o ls h o u l db ep r o v i d e dt om a k et h e ms h a r e df r e e l ya m o n g t h e s et o o l s a h e t e r o g e n e o u sr e l a t i o n a ld a t a b a s e si n t e g r a t i o ns y s t e mp r o v i d e st h et o o l si nt h e e n v i r o n m e n tw i t ht h ea b i l i t yt oa c c e s sd a t aw i t h o u tt h er e s t r i c t i o nt h a t 也e yc a n n o tu s e t h ed a t as t o r e di nv a r i o u sd a t a b a s e s ,a n df a c i l i t a t e sm u m a lc o o p e r a t i o no fd i f f e r e n tt o o l s u s e di nt h es a m ed e s i g np r o c e s s t og a i nt h ef l e x i b i l i t ya n di n t e g r i t yw h i l ep e r f o r m i n ga h e t e r o g e n e o u sr e l a t i o n a ld a t a b a s e si n t e g r a t i o n , a l la p p r o a c ht h a te m p l o y sx m l a si t s i n t e r m e d i a t ef o r m a tt of u l f i l lr e l a t i o n a ld a t ac o n v e r s i o ni sp r o p o s e di nt h i sp a p e r t h e m a p p i n gr u l e so fr e l a t i o n a l d m a b a s es c h e m aa n dd a t at ox m ld o c u m e n t sw i t h c u s t o m i z e df o r m a ta r es e p a r a t e l yf o r m u l a t e d t h e n ,t h ec o r r e s p o n d i n gc o n v e r s i o n a l g o r i t h m sa r ed e s i g n e da n di m p l e m e n t e dt h r o u g ht h ea p p r o a c ho fs c h e m ac o n v e r s i o n a n dd a t at r a n s f o r m a t i o ns e p a r a t e l y t h ee x p e r i m e n t a lr e s u l t sd e m o n s t r a t e 豳a b a s e do n t h ea b o v ea p p r o a c h ,t h ed a t ac o n v e r s i o na m o n gd i f f e r e n tr e l a t i o n a ld a t a b a s e sc a l lb e i m p l e m e n t e de f f i c i e n t l ya n d ,a tt h es a m et i m e ,e n t i t yi n t e g r i t ya n dr e f e r e n t i a li n t e g r i t y o fc o n v e r t e dd a t aa leg u a r a n t e e d k e y w o r d :t o o l si n t e g r a t i o n d a t ac o n v e r s i o nx m lm a p p i n gr u l e s i n t e g r i t yc o n s t r a i n t s 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:日期:加。n 乡舌 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其他复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在 年解密后适用本授权书。 本人签名: 导师签名: 日期:丝竺鱼:至生 日期:伊毕与l 第一章绪论 第一章绪论 1 1 项目背景 本论文的工作来源于“系统设计工具集成技术研究”,该课题主要面向综合电 子信息系统,研制出一种面向系统设计工具的集成平台,并提供相应的数据访问 协议,实现系统设计工具之间的分布式协作开发。 综合电子信息系统为是一类复杂的人机交互系统,系统的研制风险很大。长 期以来,研制单位在进行综合电子信息系统的需求分析、总体规划、指标论证、 总体设计时,主要依据的还是以往的经验,缺乏有效的方法指导和技术手段及工 具支持,设计分析过程和内容也缺乏统一的规范和要求,这引发了以下两个问题1 : 问题1 系统分析设计能力薄弱,缺乏必要的方法与工具的支持,是制约综合 电子信息系统建设和发展的瓶颈之一。 综合电子信息系统的研制和维护必须采用先进实用的、符合国情的开发技术、 开发环境与工具。采用基于组件的系统集成设计概念、内容及过程,建立面向综 合电子信息系统的分布式协作开发环境( 以下简称为分布式协作开发环境) ,提供相 应的系统设计工具集成平台,则是解决综合电子信息系统建设和发展的瓶颈问题 的一种重要思路与手段。 问题2 在建立分布式协作开发环境时,深入研究系统设计工具集成技术是其 中重要的一环,然而工具的集成缺乏一致的规范。 分布式协作开发环境中,既有商品化的系统设计工具软件,也有自行研制的 系统设计工具。在完成同一设计任务时,设计结果要能够在不同工具之间相互衔 接与利用,使用不同工具完成同一设计任务的流程要能够平滑相连,是构成系统 集成设计过程的基本条件。实现设计工具的插件化,也是使得分布式协作开发环 境具有可扩充性的重要手段。此外,分布式协作开发环境中要集成一批综合电子 信息系统领域的功能组件,因此工具的集成还应当与组件的集成相互协调,尽可 能采用一致的集成规范。 针对以上两个问题,作为建立分布式协作开发环境的重要工作之一,有必要 进行有针对性的系统设计工具集成技术研究。 1 2 研究目标与内容 本项目的研究目标是研究面向分布式协作开发环境的系统设计工具集成技 2 基于x m l 的异构数据库集成技术的研究与实现 术,研制分布式协作开发环境中的开放式、可扩展的系统设计工具集成框架,实 现对基于组件的系统设计工具的集成,为提高综合电子信息系统的开发水平提供 有效的、实用的支持。 本项目的主要研究内容是: 研究内容l 与协作单位合作研究分布式协作开发环境中工具的集成方法与集 成手段,研制系统设计工具集成框架,并将其加入分布式协作开发环境。 研究内容2 研究系统设计工具之间的数据交换规范和数据格式转换机制,并 将其加入到集成框架中。 研究内容3 研究系统设计工具的数据统一管理技术,研制透明的数据管理与 访问服务平台,并将其加入到工具集成框架中。 研究内容4 研究针对系统设计工具的统一管理、控制与协同机制,并将其加 入到工具集成框架中。 研究内容5 在集成框架上集成一组分布式协作开发环境中的系统设计工具。 本项目研制的系统设计工具集成平台,包括以下几个部分:用于工具集成的 插件支撑层、提供相关功能服务和数据格式转换的服务容器层、统一数据服务层 和协同控制层。系统设计工具集成框架的总体结构如图1 1 所示: 1 插件支撑层:将待集成工具封装为插件,采用运行时支持机制调用插件功 能,屏蔽不同工具在数据和功能访问上的差异,为协作控制层和统一数据服务层 提供透明的、无差异的数据访问和功能调用,从而为数据集成、应用程序接口集 成奠定基础。另外,插件支撑层也可根据开发环境的要求,进行一定程度的共同 人机界面集成,实现集成工具的统一管理。因此,插件支撑层集中解决数据提供、 功能提供和部分数据转换问题。 2 服务容器层:为服务提供运行环境,接受、解析服务请求,并调用相应的 服务与返回服务计算结果。服务请求将采用语言中立的消息通信方式,由s o a p 技术实现。服务容器中服务所需的核心计算将由插件层提供。 3 统一数据服务层:统一数据服务提供与数据存储和数据访问相关的接口集 合。工具数据尽可能被其他协作者或者工具所使用,为避免工具在数据上产生相 互依赖,统一数据服务层集中所有的工具数据进行统一的存储和访问管理,并提 供一致的数据访问服务;为实现数据的统一,还需提供数据对象转换服务及版本 服务。 4 协同控制层:采用工作流脚本描述语言,在数据集成的前提下,协调控制 集成完成工具之间数据和功能的组织、安排与调度,达到工具之间数据和控制流 转的平滑连接。 第一章绪论 康 夯 接 述 l 系统设计工具l| 系统设计工具2 系统设计工具3 1 分布武协作开1 分布式协作开11 分布式协作开 插 制发环境客户端 划发环境槔户端l 制发环境客户端 斧 支 服务生成工具 ; 撑 一篇 - - ” i ii it i il 厨 一二l 一。 一:一一一l t io r 1 - l l 1 一 l 霸八 t y 一蠹、j l i _ l 一居a l j lj 【一属r i 鲫圈一辫堕豇_ j | r 一天一百一爻ar 百一- t - 一爻一 i 仪。洲流凶 网络 鲫粼流帅c 蛮离礤 笳: 摆据 錾 l ; 7 一:弓| 擎臀;矧 寸访 1 : 孓 象问 本 或l 辍 心 岔荔 l 统一数据对象服务7 ,l 孽 努 w 用i i 唠;裂凸l 箩 服务k 翕 理 1 3 1 国外研究现状 图1 1 系统设计工具集成框架总体结构图 1 3 国内外研究现状 电子信息系统现代化水平比较高的国家,如美国、俄罗斯、以色列等,都十 分重视系统集成设计过程的一体化建设。其在综合电子信息系统的集成设计与分 析技术领域,研究工作主要可以分成三个方面: 1 ) 针对系统设计内容和过程,创造和发展了多种系统设计方法与技术,如系 统快速原型法、面向对象设计、基于组件的设计等,相应地开发了多种商品化的 系统设计工具,如s y s t e ma r c h i t e c td e s i g n e r 、s t k 、o p e n n c t 设计分析工具等: 2 ) 建模与仿真被用作系统设计分析与评估的主要手段和工具,例如利用仿真 试验床或仿真系统来仿真分析和评估上述设计方法和工具所得到的系统模型,根 据仿真试验结果对系统设计进行修改和优化等; 4 基于x m l 的异构数据库集成技术的研究与实现 3 1 综合集成上述两个方面的技术、方法及工具,建立了集设计、建模与仿真、 测试评估等功能于一体的分布式协作开发环境,以满足复杂大系统的一体化设计 与分析的需要。 在分布式协作开发环境中,设计工具的集成是其中的一个关键环节。目前, 国外已经有一些开发环境在集成软件过程中多阶段开发工具与开发结果方面提供 了有效的支持,典型的有以下几种: 1 e c l i p s e :是一个开放源码、基于j a v a 的可扩展开发平台,它提供了一个框 架和一组服务,通过插件式的组件来构建开发环境,支持基于g u i 和非g u i 的应 用开发环境,且独立于语言和运行平台。e c l i p s e 的核心组件包括:插件开发环境 ( p l u g i nd e v e l o p m e n te n v i r o n m e n t ,p d e ) 、j a v a 开发工具集和e c l i p s e 平台,底层 由标准j a v a 2 虚拟机支持。 2 m m 的r a t i o n a lx d e :以建模、运行时分析和自动化测试为目标,是个 覆盖整个软件开发生命周期的设计、编码、测试、团队沟通与构建文档的集成开 发环境。它综合了软件分析、设计、程序开发以及自动化测试,并以m mw e b s p h e r e s t u d i ow o r k b e n c h 或m i c r o s o f tv i s u a ls t u d i o n e t 作为基础平台。 3 i b m 的r s a :是一套设计与开发工具,它借助于u m l 2 0 技术实现了模型 驱动的软件开发模式。r s a 作为m mr a t i o n a l 业务驱动软件开发平台的核心部件, 提供了与需求管理工具、测试工具、配置与变更管理工具、项目管理工具的集成 支持。r s a 中,提供了u m l 到j a v a 、u m l 到c + + 、u m l 到e j b 的模型转化机 制,为模型驱动软件开发( m d a ) 的模型转换提供了多侧面的工具支持。 4 微软的v i s u a ls t u d i o2 0 0 5t e a ms y s t e m :包含了项目管理人员、架构师、 开发人员、测试人员、开发管理人员所使用的一组工具。它支持用户界面集成、 数据集成和过程集成,同时也支持用户界面、数据、过程三个方面的可扩展性。 通过使用一个公共的、跨工具集的数据仓库,v i s u a ls t u d i o2 0 0 5t e a ms y s t e m 解 决了在大多数软件开发生存周期工具中建立数据仓库这一问题,并启动了一个聚 合的项目状态视图,团队根据能够收集到的规则来管理项目。在v i s u a ls t u d i o2 0 0 5 t e a ms y s t e m 中,工具的行为由项目开始时选择的过程来决定。 5 r h a p s o d y :是基于模型驱动的、面向嵌入式应用软件开发的可视化建模与 开发工具,广泛用于系统建模,使得用户在系统建模时无需关注软件实现的细节, 将重点放在系统高层的功能划分、结构分解、行为规范和需求分析上。r h a p s o d y 为系统工程师提供了部件图( m o c kd i a g r a m ) 来描述系统总体结构,同时也支持传统 软件建模常用的数据流概念。 综上所述,国外主流的商品化开发环境与工具都向着一体化以及集成设计和 开发的方向发展,反映出目前软件工程方法和工具的应用与发展趋势。然而,这 些开发环境与工具不是面向应用系统开发过程的,特别是没有提供对基于仿真的 第一章绪论 开发过程与设计工具的必要支持,因此不能直接运用到综合电子信息系统的建模、 设计、仿真、评测评估中。 但是,上述国外商品化开发环境与工具中采用的一些先进技术,如:插件式 可扩充开发平台( 如e c l i p s e ) ,模型驱动的软件开发模式( 如r s a 、r h a p s o d y ) ,支持 用户界面集成、数据集成和过程集成( 如v i s u a ls t u d i o2 0 0 5t e a ms y s t e m ) 等,这些 对于分布式协作开发环境既是开展研究的可行性依据,也是可借鉴的技术基础。 1 3 2 国内研究现状 国内在基于组件的综合电子信息系统设计方法以及分布式协作开发环境的建 立和应用方面基本处于空白,没有将系统设计方法及过程有机地结合起来,没有 形成基于组件的系统集成设计概念、方法及技术。但是在相关技术领域( 如指控系 统建模与仿真、系统设计工具等) 已经开展了研究与应用工作。国内在这些领域的 研究成果为开展基于组件的综合电子信息系统设计技术研究工作奠定了基础。 可见,国内在设计工具集成方面的研究相对国外起步比较晚,在集成技术的 研究面也相对比较窄。尽管如此,以上研究成果也为我们进一步研究工具集成提 供了一定的工作基础。同时也可以看到,开展面向基于组件的系统设计工具的集 成方法和技术的研究工作已经迫在眉睫。 1 4 论文的工作与组织结构 如图1 1 所示,系统设计工具集成平台通过集成一系列的系统设计工具并提 供相应的工作流程,实现已集成工具之间平滑的分布式协作,同时,平台提供统 一数据服务提供与数据存储和数据访问相关的接口集合。工具数据尽可能被其他 协作者或者工具所使用,为避免工具在数据上产生相互依赖,统一数据服务层集 中所有的工具数据进行统一的存储和访问管理,并提供一致的数据访问服务;为 实现数据的统一,还需提供数据对象转换服务及版本服务。本文作者负责的工作 就是数据转换服务,使得保存在各个不同的关系数据库( r e l a t i o n a ld a t a b a s e ,r d b ) 的数据能够集成在一个系统里使用,使得设计工具既能够以各自原有的方式运行, 也能够以数据共享的模式协同工作。 由于各个设计工具的数据通常存储在不同的关系数据库中,这给工具间的协 同工作带来很大的困难。联邦数据库系统( f e d r a t e dd a t a b a s es y s t e m ,f d b s ) 。可以 达到部分数据共享的目的,但这样联邦中需要建立n 木( n 1 ) 个模式映射规则,当参 与联邦的数据库很多( n 值很大) 时,建立映射规则的任务便变得难以实施。所以, 联邦数据库集成系统适合于自治数据库的数量比较小的情况卜儿“。可扩展标记语言 6 基于x m l 的异构数据库集成技术的研究与实现 ( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 1 的广泛使用使其成为在不同的应用间交换数 据的理想格式。本文首先研究了关系数据库与x m l 的结构特点,形式化定义了关 系数据库5 1 和x m l 中间文件格式,定义了r d b 与x m l 的映射规则儿7 i ;然后将 异构数据源集成工作分成了两步来完成:首先实现一个基于规则的异构关系数据 库数据抽取模块,并将抽取出来的数据存储在特定格式的x m l 中间文件中;第二 步实现将上一步产生的x m l 中间文件根据映射规则导入到目标关系数据库中。 在“系统设计工具集成技术研究 项目中,o r a c l e9 i 与s q l s e r v e r 两种数据 库管理系统是各种设计工具经常用到的,因此,在本文中各种技术的实现,均以 o r a c l e 与s q l s e r v e r 作为数据转换测试的数据源。 论文一共分为五章,各章节内容简介: 第一章:绪论。主要介绍了项目背景,论文的研究目标和内容,项目的整体 介绍,并对国内外在系统集成方面的研究现状进行了简要的介绍。 第二章:相关技术与理论。着重介绍了项目中的相关技术,包括工具集成技 术,s o a 技术,b e p l 、w e b s e r v i c e s 等以及与本文工作相关的x m l 的相关技术和 o d b c 技术。 第三章:r d b 与x m l 映射模型的分析与设计。描述了异构关系数据库集成 框架的结构及其工作原理,给出了关系数据库模式与关系数据库数据与x m l 中间 文件之间的映射规则,建立了映射模型 第四章:映射模型的实现。在第三章的基础上,对转换模型和存储模型的具 体的实现方法和策略进行描述。 第五章:实验研究。通过实验对异构数据库集成系统进行了测试和验证。 第六章:结束语。总结本文所作的工作,并对下一步的工作进行了展望和讨 论。 第二章相关技术与理论 2 1 1 工具集成技术 第二章相关技术与理论 2 1 项目中采用的相关技术 工具集成一1 是指多个工具共享一个用户界面,分别支持一个完整开发过程的 各个开发阶段,通过数据交换完成共同的目标。工具集成一般包括a p i 集成,用 户界面集成i 集成) 和数据集成。 a p i 集成是指通过数据封装和行为重用为用户和其他工具提供a p i ,使其数 据能被访问。在使用一组工具时通常需要将不同工具的部分功能进行特定方式的 组合以提供新的功能。目前有很多框架规范的实现可以做到这一点,如c o r b a 、 d c o m 和w e bs e r v i c e s 等,它们都提供了接口和实现的分离,接口可以看成两个 软件构件之间的一种协议。 用户界面集成p 1 是指在集成平台中实现对各个被集成工具的界面控制。界面 集成有两种方式:其一,将被集成的工具界面连接或嵌入到集成平台中,用户在 集成平台中对所需的工具界面进行切换使用。这种情况可用电视作比喻,电视屏 幕相当于集成平台界面,不同频道的电视节目相当于被集成的不同工具的界面。 其二,将被集成的工具视为一个模块,在集成平台的界面中对该模块进行控制, 各个模块互相协作,受集成平台的控制在后台运行。如果将这两种方式的集成效 果用一个算式来表示,则前一种是“1 + 1 = 2 ”,而后一种是“1 + 1 2 ”。 数据集成”“是指维护数据源整体上的数据一致性,数据在各个被集成的工 具中实现共享和自动调用,提高信息共享的效率。数据共享是指将数据用特定的 数据结构加以表示,使被集成的工具识别并使用这些数据。数据自动调用是指数 据按一定的协议在被集成的工具间交换和使用。数据集成系统为用户提供统一的 数据源访问接口,执行用户对数据源的访问请求。数据集成的核心任务是要将互 相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据 源。 本文中的内容主要是针对项目中遇到的一些没有提供a p i 和源码的工具,无 法用a p i 集成对该类工具集成,而项目又对该类工具有功能服务的要求,详细分 析了一种工具功能模拟的方法。 基于x m l 的异构数据库集成技术的研究与实现 2 1 2s o a 技术【1 2 】 面向服务的架构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 是一个组件模型,它将应 用程序的不同功能单元服务( s e r v i c e s ) ,通过服务间定义明确的接口和契约联 系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统 和编程语言,使得在这样的系统中所构建的服务可使用统一和标准的方式进行通 信。因此,对于分布式协作开发环境的分布式开发要求和集成更广泛的设计工具, s o a 具有积极的支持作用。但是,s o a 主要面向的服务具有无状态保持的特征, 因此需要与其他有状态保持能力的集成技术相互综合后加以应用p “。 本项目采用s o a 的思想对工具进行集成,将待集成工具的能力包装为服务, 通过调用服务接口实现对工具功能的使用,在高层次上采用b p e l ( b u s i n e s sp r o c e s s e x e c u t el a n g u a g e ) 实现对一些既定流程的设计和组织,系统从整体上看是松耦合 的,具有较强的可替换性,并屏蔽了工具集成的实现细节。 w e b 服务是一个软件接口,它描述了一组可以在网络上通过标准化的x m l 消息传递访问的操作。它使用基于x m l 语言的协议来描述要执行的操作或者要 与另一个w e b 服务交换的数据。在面向服务的体系结构( s o a ) 中,一组以这种方 式交互的w e b 服务定义了特定的w e b 服务应用程序。w e b 服务试图解决的主 要问题是数据和应用程序集成的问题,以及将技术性的功能转换为面向业务的计 算任务的问题。这两个方面使企业可以就流程或应用程序层面与他们的合作伙伴 进行交流,同时为适应新形势或按照需要与不同合作伙伴进行合作留有动态的余 地。 w e b 服务所使用的x m l 可以用真正与平台无关的方式来描述任何( 所有) 数 据,以实现跨系统的交换数据,实现应用程序间的松耦合。而且,w e b 服务可以 在较抽象的层面上工作,较抽象层面可以按照需要动态地重新评估、修改或处理 数据类型。所以,从技术层面上讲,w e b 服务可以更方便地处理数据,并且允许 软件更自由地进行通信。 从更高的概念层面上讲,我们可以将w e b 服务视为一些工作单元,每个单元 处理特定的功能任务。再往上一步,可以将这些任务组合成面向业务的任务,以 处理特定的业务操作任务,从而使非技术人员可以考虑一些应用程序,这些应用 程序能够在w e b 服务应用程序工作流中一起处理业务问题。因此,一旦由技术人 员设计并构建好w e b 服务之后,业务流程架构师就可以聚集这些w e b 服务来解 决业务层面上的问题。这里借用汽车引擎来作类比,业务流程架构师考虑将整个 汽车引擎与汽车框架、车身、变速器和其他系统组合在一起,而不是研究每个引 第二章相关技术与理论 9 擎内的各个部件。而且,动态平台意味着引擎可以与其他汽车制造商的变速器或 部件一起工作。 最后一个方面是,w e b 服务有助于在组织内的业务人员和技术人员之间架起 一座桥梁。w e b 服务使业务人员更容易理解一些技术上的操作。业务人员可以描 述一些事件和活动,然后技术人员可以将这些事件和活动与相应的服务相关联。 2 1 4w e b 服务业务流程执行语言b p e l 1 3 】 w e b 服务业务流程执行语言( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e b s e r v i c e s ,b p e l ) 是一种用于自动化业务流程的形式规约语言。用x m l 文档写入 b p e l 中的流程能在w e b 服务之间以标准化的交互方式得到精心组织。这些流程 能够在任何一个符合b p e l 规范的平台或产品上执行。 b p e l 允许定义使用w e b 服务的业务流程,也允许定义把业务流程的功能具 体化为w e b 服务的业务流程【9 】。w e b 服务是独立的模块化的业务流程应用程序, 它基于这些行业标准技术:( 用于描述的) w s d l 、( 用于做广告和联合的) u d d i 以 及( 用于通信的) s o a p 。它们使用户能够以平台独立和语言独立的方式连接不同的 组件,在连接时甚至可以跨越组织边界。 但是,这些标准都不能定义w e b 服务的业务语义。所以,目前的w e b 服务 是孤立的不透明的。打破孤立就是要把w e b 服务连接起来并指定怎样共同使用一 组w e b 服务来实现更复杂的功能业务流程就是一个典型的例子。 业务流程指定了一组w e b 服务的操作的可能执行顺序、这些w e b 服务间共 享的数据、业务流程涉及哪些伙伴以及这些伙伴在业务流程中扮演什么角色、一 组组w 曲服务的共同异常处理以及关于多个服务和组织是怎样参与的其它问题。 特别是它允许指定w e b 服务间长期运行的事务,提高w e b 服务应用程序的一致 性和可靠性。打破w e b 服务的不透明性就是要指定一些约束,这些约束将限制怎 样使用一组w e b 服务的操作和它们共同的行为其结果是这和指定业务流程 也很相似。 w e b 服务的业务流程执行语言允许指定业务流程以及它们和w e b 服务的关 系。其中指定了业务流程是怎样使用w e b 服务来达到它的目的,还指定了由业务 流程提供的w e b 服务。用b p e l 指定的业务流程是完全可执行的,且在符合 b p e l 的环境间是可移植的。无论实现b p e l 业务流程的伙伴的w e b 服务是否 基于b p e l ,b p e l 业务流程都能和这些w e b 服务互操作。最后,b p e l 支持伙 伴之间的业务协议规范和复杂内部业务流程的视图。 1 0 基于x m l 的异构数据库集成技术的研究与实现 2 2 可扩展标记语言x m l x m l 表示可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ) ,是一种具有数据 描述功能、高度结构性及可验证性的语言。x m l 允许用户自行定义标记与属性, 并可以按照所定义的标记与属性的语法来开发应用程序,因而具有很好的扩展性。 在x m l 文件中,可以使用标记来描述数据或配合属性来辅助描述数据,因此x m l 十分适合用于作为标准的描述语言;由于可以借助验证规则来规范一个x m l 文件 的内容与结构,保证x m l 文档的有效性,所以x m l 又很适合作为一种数据交换 的格式。 x m l 允许开发与自己的特定领域有关的标记语言,这使得人们可以该领域中 交换数据和信息,而不用担心接收端的人是否有特定的软件来创建数据。 x m l 具有较好的保值性。大多数计算机数据的丢失,不是因为自然损害或是 备份介质的磨损,而只是因为没有人写出如何读取这些数据介质和格式的文档。 以不常用的格式保存二进制数据,数据也许会永远地消失了。x m l 在基本水平上 使用的是非常简单的数据格式,可以用纯a s c i i 文本来书写,也可以用几种其他 定义好的格式来书写。 x m l 具有在应用间交换数据的能力。由于x m l 是非专有的并易于阅读和编 写,就使得它成为在不同的应用间交换数据的理想格式。x m l 使用的是非专有的 格式,不受版权、专利或是其他种类的知识产权的限制。x m l 的功能非常强大, 并且容易阅读和编写,因而成为交换语言的首选。 将符合以下六个条件的x m l 文档称为形式良好的( w e l l f o r m e d ) x m l 文档。 1 ) 文档的开始必须是x m l 声明,并且必须以小写 x m l ”进行声明,并设置 v e r s i o n 属性,而且必须出现在第一行,而e c o d i n g 则是可选属性; 2 ) 有且仅有一个根结点( r o o t ) ; 3 ) 除了内容为空的标记之外,所有标记的开始标记、结束标记必须成对出现; 4 ) 内容为空的标记结尾必须加上尸,这种标记称为:“空标记”; 5 ) 标记名称与属性必须合法,且大小写被视为不同,属性的值必须在双引号 或者是单引号之内; 6 ) 特殊字符必须按照规定处理,例如小于号( ) 和结点的开始标记“ 相同, 必须用“& l t :”来取代。 目前有两种方式对x m l 进行有效性验证:文件类型定义( d o c u m e n tt y p e d e f i n i t i o n ,d t d ) 1 5 1 和x m l 模式( s c h e m a ) 陋18 1 。下面分别对这两种验证规则进行 描述。 d t d 用来规范x m l 文件的格式定义,它必须定义在文件头中,以便x m l 第二章相关技术与理论 分析器在一开始便可以得到这个x m l 文件的格式定义。用d t d 来规范一个x m l 文件主体格式,可分为下面四个部分:规定标记( 元素) 出现的排列方式;元素的构 成( 即标记内容的构成) ;属性的种类和实体的声明。 既可以声明内部d t d 又可以声明外部d t d ,内部d t d 的声明语法是: ,外部d t d 的声明语法是: 仍以上面例子中关于学生信息的x m l 文档为例,其d t d 文档如下: x m ls c h e m a 完全遵循x m l 的基本语法。它是一种描述信息结构的模型,通 过它可以定义x m l 文档的有效结构,规范文件中标签和文本可能的组合形式。 w 3 c 定义了x m ls c h e m a 文档的文法,其中比较常用到的有元素声明、属性声明、 复杂类型声明以及简单类型声明等,下面便对它们声明的表达式做出简要说明: 1 ) 对元素类型的声明:元素声明用于给元素指定元素类型名称和数据类型。 元素声明可以是全局的,也可以是局部的,全局元素的父元素是s c h e m a ,局部元 素只出现复杂类型定义内部【1 8 。 2 ) 对属性元素的声明:属性声明可以是全局的,也可以是局部的。全局属性 声明出现在模式文档的最顶层,也就是说,它的父元素是s c h e m a 元素,局部属性 声明完全出现在复杂类型定义中,它们仅能在该类型定义中使用,而且不能被其 他类型重用 1 9 】。 3 ) 对复杂类型的声明:复杂类型的元素拥有子元素或属性,复杂类型的声明 为复杂类型的元素提供一种表示方法 1 3 。 4 ) 对简单类型的声明:元素和属性都可以使用简单类型来描述组件的数据 内容,简单类型有三种:原子类型、列表类型和联合类型。 x m ls c h e m a 在很多情况下作用和d t d 相同,但x m ls c h e m a 的功能却要远 远超过d t d 。与d t d 相比,x 1 ls c h e m a 有如下优点: 1 ) 任何一个x m ls c h e m a 文件本身就是一个w e l l f o r m e dx m l 文件,可以像 处理l 文档一样进行处理。 2 ) x m ls c h e m a 对于数据类型的支持较多,包含有字符串、布尔值、整数、 浮点数、时间、日期等,而且还支持由这些简单的类型生成复杂的类型。 3 ) x m ls c h e m a 利用两个属性m i n o c c u r s 与m a x o c c u r s 来达到控制元素出现 次数的目的,比起d t d 来更具有灵活性。 4 ) 用户自定义数据类型,被称为原型( a r c h e t y p e s ) 。并且原型可修改,d t d 定义的内容模式是封闭的,而x m ls c h e m a 定义的是开放的、可修改的,x m l 中 定义的类型可以继承p 7 “。 1 2 基于x m l 的异构数据库集成技术的研究与实现 2 2 1x m l 编程模型 在处理x m l 文件时需要用到应用程序接口( a p i ) ,不同的厂家实现了不同的 a p i ,目前处理x m l 文件的标准a p i 主要有两种:文档对象模型( d o c u m e n to b j e c t m o d e l ,d o m ) 卜“。和x m l 简单编程接口( s i m p l e a p if o rx m l ,s h x ) “。 d o m 是一个抽象数据结构,将x m l 文档表示为由节点构成的树。o r g w 3 c d o m 包中的不同接口可以表示元素、属性、字符数据、说明和处理指令,它们都是公 用n o d e 接口的子接口。n o d e 接口提供了在树中导航与处理的基本方法。 树的根是d o c u m e n t 对象,表示一个完整的形式合理的文档。分析器读取x m l 文档并建立d o c u m e n t 对象。客户应用程序调用d o c u m e n t 和其他d o m 接口的方法, 在树中取得x m l 文档信息。程序还可以在内存中操纵树,增加、删除、移动或改 变节点。程序甚至可以在内存中从头生成全新的x m l 文档,然后再将这些新文档 写入x m l 文件中。广度优先搜索、深度优先搜索、中序遍历、先序遍历、后序遍 历都适用于d o m 数据结构。 树中每个节点还有一个局部名称、名字空间u r l 和前缀,但有些节点的这些 项目是n u l l 。例如,说明的局部名称、名字空间u r l 和前缀是n u l l 。每个节点还有 一个节点名。对于元素和属性,节点名是前缀名。对于标记与实体等其他项目, 节点名是项目名。对于文本节点之类没有名称的节点,节点名是匹配节点类型的 下列值:# d o c u m e n t 、# c o m m e n t 、# t e x t 、# c d a t a - s e c t i o n 、# d o c u m e n t f r a g m e n t 。最后, 每个节点还有一个字符串值。对于说明和文本节点之类的文本项目,字符串值通 常是节点的文本。对于属性,字符串值是属性的规范化值。对其余项目,包括元 素和文档,这个字符串值是n u l l 。d o m 把节点分为十二类:文档节点、元素节点、 文本节点、属性节点、处理指令节点、说明节点、文档类型节点、文档段节点、 标记节点、c d a t a 段节点、实体节点和实体引用节点卜“一。 d o m 用接口定义语言( i n t e r f a c ed e f i n i t i o nl a n g u a g e ,i d l ) 定义,因此是语言 中立的。d o m 可以关联在大多数面向对象的语言中。 简单编程接口s a x 是1 9 9 7 年末到1 9 9 8 年初发明的,p e t e rm u r r a y r u s t 和几 个用j a v a 编写x m l 分析器的作者发现不应该用多个相似而不兼容的a p i 来做相 同的事。m u r r a y r u s t 最早提出了“y a x p a p i ,( 另一个x m l 分析器a p i ,y e t a n o t h e r x m l p a r s e r a p l ) ,他希望建立一个人人都能同意的标准a p i 。分析器作者t i mb r a y 与d a v i dm e g , n s o l l 迅速参与了这个项目,开始在舳1 一d e v 邮件清单上公开工作, 并得到许多人的参与。m e g g i n s o n 编写了最初的s a x 草案,经过一个短时间的测 试后,1 9 9 8 年5 月1 1 日推出了s a x1 o 。 用抽象接口而不是具体的类来定义s a x ,使其可以放在分析器现有的a p i 之 上。s a x 并不是最复杂的x m la p i 。分析器厂家很容易用不同的体系结构实现 第二章相关技术与理论 s a x ,使其取得成功和迅速标准化。尽管s a x 是个事实标准,但没有进行任何正 式的标准化过程。1 9 9 9 年后期,开始s a x 2 的工作,从根本上改造了s a x ,同时 保持基本的面向事件体系结构,几乎替换了s a x l 中每一个类。这个巨大改变的 主要动力是为了使s a x 支持名字空间。但是,s a x 2 中还增加了许多其他新功能, 包括过滤和可选支持词典事件与d t d 。s a x 2 于2 0 0 2 年5 月完成,比s a x l 取得 了更大成功。事实上,s a x 2 是目前最完整的x m l a p i 。2 0 0 2 年,所有支持s a x 的主要分析器都支持s a x 2 。 s a x 是不同x m l 分析器之间共享的第一个标准a p i 。s a x 在x m l a p i 中的 独特之处在于它建模分析器而不是建模文档。 两个关键s a x 接口是x m l r e a d e r 和c o n t e n t h a n d l o r ,前者表示分析器,后 者让分析器与客户应用程序通信。分析器从头到尾读取文档,在此过程中遇到开 始标志、结束标志、文本、说明、处理指令等。在s a x 中,分析器通过调用 c o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全教育记录培训效果课件
- 猫咪的衣服课件
- 安全教育消防培训演练课件
- 农业无人机租赁市场产业链上下游协同发展前景研究
- 安全教育新员工培训记录课件
- 犬猫疫苗课件
- 农业废弃物资源化利用项目在农业生产过程中的环境保护作用研究
- 牧场新员工安全培训课件
- 安全教育季度培训计划课件
- 农业品牌建设资金申请项目申报策略研究报告
- 2025年教师资格考试趋势分析与模拟试题洞察未来方向(含答案)
- 2025浙江省旅游投资集团人才招聘17人(第四批)考试模拟试题及答案解析
- 医院医疗收费培训课件
- 上消化道出血药物指导
- 南通蓝印花布课件
- 2025上海市中学生行为规范
- 《煤矿安全规程》2025
- 燃气综合考试题及答案
- 临建人员安全教育
- 年产50万件巴枪以及快递包装袋生产项目报告表
- 柴油使用安全管理办法
评论
0/150
提交评论