(计算机应用技术专业论文)基于xml的异构数据合成的研究.pdf_第1页
(计算机应用技术专业论文)基于xml的异构数据合成的研究.pdf_第2页
(计算机应用技术专业论文)基于xml的异构数据合成的研究.pdf_第3页
(计算机应用技术专业论文)基于xml的异构数据合成的研究.pdf_第4页
(计算机应用技术专业论文)基于xml的异构数据合成的研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 x m l 正迅速成为w e b 上数据表示和数据交换的标准。作为自描述的标记语言,x m l 能够根据具体应用灵活地表现异构数据源中的各种信息,包括应用程序之间的数据交 换、结构化和半结构化文档以及数据库中数据的输出。同时,随着i n t e m e t 的发展,网 络上存在着大量多样异构的数据库,它们的异构性表现在多个方面,主要有如下几个方 面:1 ) 计算机体系结构的异构,各个数据库运行在大型机、小型机、工作站、p c 或嵌入 式系统中;2 ) 基础操作系统的异构,各个数据库系统的基础操作系统可以是u n i x 。 w i n d o w s n t , l i n u x 等;3 ) d b m s 本身的异构,可以是同为关系型数据库系统的o r a c l e ,s q l s e r v e r 等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象, 函数型数据库;4 ) 数据结构及语义异构,越来越多的用户需要同时访问和处理不同网络节 点的多个异构数据库的数据。因此,需要一种新的系统框架来解决多个异构数据库的信 息共享,前提是必需对用户透明,并保持本地数据库的自治性。本文对当前的各种的合 成方案进行了比较,最后提出了一种基于x m l 的合成模型。 本文首先对传统的异构数据合成方案进行广泛的调查分析,详细地讨论x m l 技术 并与数据库作比较。提出了一种异构数据库信息共享框架,该框架包括翻译器、合成器 和转换器,通过翻译器将关系数据发布为x m l 文档,然后通过合成器和转换器来提供 异构关系数据库的x m l 全局视图,允许外部用户直接访问或使用x m l 查询语言查询 这些视图。框架遵循定义的映射规范将关系数据库翻译为x m l 。本文的工作主要体现 在三大部分:第一,讨论了数据库模式和d t d 之间的映射机制并定义了x m l d b 映射语 言规范;第二,设计了三个组件翻译器、转换器和合成器来创建x m l 全局视图,以及视 图管理器组件管理全局视图;第三,提供了x p a t h 和x q u e r y 的编程接口,供用户查询x m l 全局视图。此外,拟采用j a v a 语言开发中间件,能够方便地用来构建异构数据库的信息 共享平台。 关键词:中间件;映射;订l ;数据转换;异构数据库 a b s t r a c t x m lh a sm e r g e d 嬲t l l es t a n d a r df o ri n f o r m a t i o ne x c h a n g ea n dd a t ab e t w e e nw e b a p p l i c a t i o n s a sak i n do f t a gl a n g u a g ew i t hs e l f - d e s c r i b i n gc h a r a c t e r i s t i c ,x m l c a r le x p r e s s a n yi n f o r m a t i o no fh e t e r o g e n e o u ss o u r e 2 sf l e x i b l ya c c o r d i n gt os p e c i f i e d a p p l i c a t i o n b e c a u s eo f t h er e a s o no f h i s t o r ya tt h es a n l et i m e , al a r g ea m o u n to f v a r i o u sd i f f e r e n td a t a b a s e t h a tc o n s t r u c t e de x i s to nt h en e t w o r k , i nal o to fr e s p e c t s ,t h e r ea r es e v e r a lt h ef o l l o w i n g r e s p e c t sm a i n l yi nt h e i rd i f f e r e n tc o n s t r u c t i n gn a t u r eb e h a v i o r :1 1t h ec o n s t r u c t i n gd i f f e r e n t l y o fs y s t e ms t r u c r l r eo ft h ec o m p u t e r , e a c hd a t a b a s ei sr u n n i n gi nt h em a i n f r a m e t h e m i c r o c o m p u t e ri s ,i nw o r k s t a t i o n , p co re m b e d d e ds y s t e m ;2 1t h ec o n s t r u c t i n gd i f f e r e n t l yo f b a s i co p e r a t i n gs y s t e m , t h eb a s i co p e r a t i n gs y s t e mo fe a c hd a t a b a s es y s t e mc a nb eu n i x , w i n d o w sn t ,l i n u x ,e t c ;3 ) t h ec o n s t r u c t i n gd i f f e r e n t l yo fd m b si t s e l fc a nb ea l lo r a c l eo f t h ed a t a b a s es y s t e mo fr e l a t i o nt y p e , s q ls e r v e r , e t c ,i tc a l lb ead a t a b a s eo fd i f f e r e n td a t a m o d e l st o o ,s u c ha sr e l a t i o n , m o d e ,l e v e l ,n e t w o r k , t a r g e to ff a c i n g ,n ”d a t a b a s eo ff u n c t i o n t y p e ;4 ) t h es t r u c t u r eo ft h ed a t aa n ds o m e t i m ea l ec o n s t r u c t e dd i f f e r e n t l y m o r ea n dm o r e u s e l sn e e dal o to fd i f f e r e n td a t aw h i c hc o n s t r u c tt h ed a t a b a s ev i s i t i n ga n dd e a lw i t hd i f f e r e n t n e t w o r kn o d e s 砒t h e $ a n l et i m e , s o 。n e e dak i n do fn e w s y s t e m a t i cf r a m et os o l v eal o to f d i f f e r e n ti n f o r m a t i o n s h a r i n go fc o n s t r u c t i n g t h e d a t a b a s e ,t h ep r e r e q u i s i t em u s t b e t r a n s p a r e n tt ot h eu s e r , a n dk e 印t h ea u t o n o m yq u a l i t yo ft h el o c a ld a t a b a s e t h i st e x t c o m p a r e dp r e s e n tv a r i o u sk i n d so f i n t e g r a t o ds c h e m e s ,p u tf o r w a r dak i n do f i n t e g r a t e dm o d e l b a s e do nx m la tl a s t t 1 1 i st e x tc a r r i e so ne x t e n s i v ei n v e s t i g a t i o na n da n a l y s i st ot r a d i t i o n a ld a t ai n t e g r a t i o na t f i r s t , d i s c u s s i n gx m lt e c h n o l o g ya n dc o m p a r i n gw i t hd a t a b a s ei nd e t a i l p r o p o s ee a c h d i f f e r e n tt oc o n s t r u c td a t a b a s ei n f o r m a t i o ns h a r i n gm o d e l ,t h i sm o d e lm a k et r a n s l a t o r , i n t e g r a t i n gm a c h i n ea n ds w i t c h i n gd e v i c e 。t h r o u g ht h et r a n s l a t o ri s s u e st h er e l a t i o nd a t aa s x m l f i l e ,t h e no f f e rd i f f e r e n tx m lo v e r a l lv i e ww h i c hc o n s t r u c t st h er e l a t i o nd a t a b a s e t h r o u g hi n t e g r a t i n gm a c h i n ea n ds w i t c h i n gd e v i c e , a l l o w i n gt h eo u t s i d eu s e rt ov i s i to ru s e x m la n di n q u i r e st h e s ev i e w sd i r e c t l y t i l i sm o d e lt r a n s l a t e st h ed a mt ox m l a c c o r d i n gt o t h em a p p i n gr u l e s t h e nt h em o d e lm a i n l yh a st h r e ep a r t s :t h ef i r s t ,d i s c u s s i o nd a t a b a s em o d e a n dm a p p i n gm e c h a n i s ma n dd e f i n ex m l m a p p i n gl a n g u a g es t a n d a r db yi d bb e t w e e nt h e d t d ;s e c o n d ,e s t a b l i s h i n gx m l o v e r a l lv i e wa f t e rd e s i g n i n gt h r e ep a c k a g et r a n s l a t o r s ,a n d p a c k a g em a n a g et h eo v e r a l lv i e wm a c h i n ew h om a n a g e sv i e w ;n 伦t l l i r d n 圮p r o g r a m m i n g i n t e r f a c eo f f e r i n gx p a t ha n dx q u e r y , s u p p o r tt h er i s e rt oi n q u i r ea b o u tx m lo v e r a l lv i e w i n a d d m o n o n ew h e na d o p t e dj a v aa n dd e v e l o p e dt h em i d d l e w a r e i tc a l lb eu s e df o rs t r u c t u r i n g t h ed i f f e r e n ti n f o r m a t i o n - s h a r i n gp l a t f o r m ,w h i c hc o n s t r u c t st h ed a t a b a s ec o n v e n i e n t l y k e y w o r d :m i d d l e w a r e ;m a p p i n g ;x m l ;d a t ae x c h a n g i n g ;h e t e r o g e n e o u sd a t a b a s e i n 华南理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名:f 翻了宴、 日期:7 弼年协月;日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属华南理工大学。学校 有权保存并向国家有关部门或机构送交论文的复印件和电子版,允许学位 论文被查阅( 除在保密期内的保密论文外) :学校可以公布学位论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论 文。本人电子文档的内容和纸质论文的内容相一致。 本学位论文属于: 口保密,在年解密后适用本授权书。 囵不保密。 学位论文全文电子版提交后: 口同意在校园网上发布,供校内师生和与学校有共享协议的单位浏 览。 作者签名闻豫 指导教师签名:纠芗玖 日期:吗,1 1 、3 日期:们,2 第一章绪论 第一章绪论 1 1 问题的研究背景 今天,越来越多的应用需要访问各种异构数据源。对于企业应用来说,这既是企业 内部发展的需要也是企业适应外部环境的需要。 企业在发展过程中积累了大量数据,并为存储和管理这些数据不断投资。然而,由 于实施数据管理系统的阶段性、技术性以及其他经济和人为因素的影响,以致即使在一 个单独企业,它们构成了企业的异构数据源。尽管这些数据管理系统能够满足数据存储 和管理要求,但是在许多情况下,为完成一项工作,企业应用可能需要访问分布在网络 不同位置上的多个数据管理系统中的数据。因此,需要一个强大的系统能够合成存在于 分布数据源的数据。 不仅如此,随着生存环境的不断变化,企业在把握机遇的同时也面临着许多挑战。 网络的发展使企业逐渐从一个孤立节点发展成为不断与网络交换信息和进行商务事务 的实体,企业数据合成也从企业内部合成走向了企业间合成。现在的企业比以往任何时 候都需要将内部数据进行发布和交换,这必然导致越来越多的企业应用需要访问各种异 构数据源,并且这些数据源可能分布在网络上任何地方。为了满足这种需求,必须有一 种系统能够支持异构数据源的数据合成。所以,无论从企业自身发展角度还是从企业问 数据合成的角度来看,越来越多的企业应用需要一种异构数据合成系统作为访问异构数 据源的支撑。 异构数据源合成是数据库领域的经典问题,并随着x m l 1 1 技术的兴起,再次成为了 该领域研究的一个热点。从为企业应用构建支撑系统的角度来讲,必须考虑企业异构数 据在合成过程中所遇到的特殊问题。总的来看,在构建异构数据源合成系统对,主要会 面对以下几方面问题: a 异构性 异构性是异构数据合成必须面对的首要问题,其主要表现在两个方面: 系统异构,数据源所依赖的应用系统、数据库管理系统乃至操作系统之间的不同构 成了系统异构。 模式异构,数据源在存储模式上的不同。一般的存储模式包括关系模式、对象模式、 对象关系模式和文档嵌套模式等几种,其中关系模式为主流存储模式。需要注意的是, 即便是同一类存储模式,它们的模式结构可能也存在着差异。例如o r a c l e 所采用的数据 华南理工大学硕士学位论文 类型与s q l s e r v e r 所采用的数据类型并不完全一致。 b 完整性 同构分布式数据库一般没有分布式完整性问题,因为其分布式数据库设计都是采用 “从上到下”的方法:首先定义约束条件,再以一致性的方式将其合并到每一个局部的完 整性子系统中去。可是在异构的多数据库系统中,全局数据库与局部数据库是层次划分 的,要保持完整性比较困难。 异构数据源数据合成的目的是为应用提供统一的访问支持。为了满足各种应用处理 数据的条件,合成后的数据必须保证一定的完整性,包括数据完整性和约束完整性两个 方面,其中约束完整性是本文研究的重点。 约束完整性中的约束是指数据与数据之间的关联关系,是唯一表征数据问逻辑的特 征。保证约束的完整性是良好的数据发布和交换的前提,可以方便数据处理过程,提高 效率。 c 性能 网络时代的应用对传统数据合成方法提出了挑战,提出了更高的标准。 d 语义冲突 信息资源之问存在着语义上的区别。这些语义上的不同可能引起各种矛盾,从简单 的名字语义冲突,到复杂的结构语义冲突。语义冲突会带来数据合成结果的冗余,干扰 数据处理、发布和交换。所以如何尽量减少语义冲突也是数据合成的一个研究热点。 合成两个或多个数据源的时候,数据源的数据之间可能存在着某种联系。把这种逻 辑联系附加到合成结果中的过程就成为附加约束。 e 合成内容限定 多个数据源之间的数据合成,并不是要将所有的数据进行合成,那么如何定义要合 成的范围,就构成了合成内容的限定问题。 1 2 合成异构数据的方法与研究现状 当前,实现异构数据库的合成一般有三种方法。第一种就是将原有的数据移植到新 的数据库系统中来,为了合成不同类型的数据,必须将一些非传统的数据类型转化成新 的数据类型。许多关系数据库供应商提供了类似的功能。这种合成方式的缺点是随着数 据库的升级,原来数据的相关应用软件,或是被废弃或是重新开发,以适应新的数据库 系统。因此,通常移植到一个新系统不是一个实际的解决方案。 2 第一章绪论 第二种方法是通过多数据库系统合成异构数据库。所谓多数据库系统就是一种能够 接受和容纳多个异构数据库的系统,对外呈现出一种合成结构,而对内又允许各个异构 数据库的“自治性”。多数据库系统主要采用自下而上的数据合成方法,因为异构情况 在前而合成要求在后。 第三种方法是利用中间件合成异构数据库,该方法并不需要改变原始数据的存储和 管理。中间件位于异构数据库系统和应用程序之间,向下协调各个数据库系统,向上为 访问合成数据的应用提供统一数据模式和数据访问的通用接口。各数据库的应用仍然完 成它们的任务,中间件系统则主要集中为异构数据源提供一个高层次检索服务。显然, 中间件系统模式是实现异构数据合成较理想的解决方案。 基于x m l 的异构数据的合成有多种技术选择,例如: 1 1 从采用基于x m l 技术的中间件来合成异构数据源或异构信息的角度来看,目 前,相关研究主要集中在国外。 美国政府在1 9 9 8 年通过o p a l 计划开始支持州2 j 1 ( 基于中间件的信息合成系统) 系统的研究,该系统采用m e d i a t o r w r a p p e r 中间件框架实现了关系模式和s g m l 到 o d m g 的转化,在2 0 0 0 年,该系统的研究再次受到o p a l 计划和a q u a r e l l e 资助, 并以研究基于x m l 中间件信息集成系统( y a t 系统) 为主,其中v c h r i s t o p h i d e s , s c l u e t 等人主要研究了以x m l 集成视图对异构数据的包装和查询,并提出了相应的 代数体系结构。 w i s c o n s i n 大学和i b ma l m a d e nr e s e a r c hc e n t e r 共同研究和实现了x p e r a n t o 4 5 中间件系统。该中间件系统支持对象关系数据的x m l 发布,支持基于x m lq u e r y 的 x m l 关系数据视图,采用了f l a t 模式转化算法,以d t d 为目标模式,但不支持主外 键等约束的描述,也不支持多表关系约束的转化。r o n a l d od o ss a n t o sm e l l o 等研究利用 中间层结构集成和查询x m l 数据源的问题。m a r y l a n d 大学研究了基于x m l 代码自动 部署和数据交换m o c h a 中间件。相比之下,国内还没有公开的相关研究。 2 ) 就关系模式到x m l 模式转化( 模式转换是基于x m l 的异构数据库集成中间件的 核心) 方面来看,已存在转化工具和大量相关算法的研究: 相关工具:一些商业产品实现了关系模式到x m l 文档的转化【6 7 1 。例如o d b c 2 x m l , o r a c l e sx s q l x m ls p y , s i l k r o u t e 工具。目前,除o d b c 2 x m l , x m ls p y , s i l k r o u t e 外,大部分的工具都是为相关的数据产品服务,不支持多种异构数据库更不支持其到 x m l 的集成,而o d b c 2 x m l ,x m ls p y , s i l k r o u t e 虽然支持多种数据库系统,但仍不 华南理工大学硕士学位论文 支持异构数据库的集成。同时,这些工具大部分都是输出x m ld t d 模式,支持x m l s c h e m a 模式的相对较少。 本文讨论的异构数据库的协同工作仅仅是异构数据问题的一个方面,也就是说,异 构数据源内部是关系型数据库。事实上,对于非关系型数据库,只要内部的数据格式确 定,也可以实现数据模型之间的转换。所以主要有以下几个主要内容唧: l 、分布式透明,也就是说,用户访问多个不同数据库和访问单个数据库的方式一 样。 2 、异构透明,用户采用与访问本地数据库相似的模型和语言来访问其他数据库模 式。 3 、本地自治,即不能改变现有数据库系统和应用系统。 4 、扩展性,可以容易地增加一个新的数据库。 5 、对数据库的访问包括查询和更新数据。 为了达到这些目标,必须将底层数据库的语义转换成一种集成的语义表达,这种语 义表达应该向用户隐藏多个数据库的异构性,用户能够使用这些语义表达来查询底层数 据库,查询过程需要底层自治异构数据库的合作。 在实际应用中受到青睐。另外,主流的数据库厂商也可能在适当的时机推出自己的 n a t i v e - x m l 数据库产品。第一个,可能也是最有名的商用n a t i v e x m l 数据库是位于美 国加州的s o f t w a r e a g 公司开发的t a m i n o 1 0 , 1 5 。除了可以存储和访问x m l 外,t a m i n o 还具有多项功能,包括o p e nd a t a b a s ec o n n e c t i v i t y 、符合u n i c o d e 要求、h t t p 通信及 处理非x l v i l 数据的能力。g m h e rg r o u p 的一份报告指出:“t a m i n o 特别适用于需要从 多种不同平台和格式整合信息并向业务伙伴或客户散发这些信息的机构。”据介绍, t a m i n o 拥有直接x m l 检索和特殊检索的能力,其查询语言强大而简短,可进入任意深 度,使s q l 相形见绌。其他n a t i v e - x m l 数据库包括d b x m l , e x c e l o n 和xh i v e d b , 分别由美国的d b x m lg r o u p l l c 公司、e x c e l o n 公司和荷兰的t h ec o n n e c t i o nf a c t o r y 公司b i a 2 研制。目前,许多主流的数据厂商都在把x m l 支持结合到其产品中,或者提 供可在其数据库中使用x m l 的工具。m m 提供x m le x t e n d e rf o rd b 2 ,以允许用户在 d b 2 中存储x m l 文档,并提供一些新功能协助用户处理x m l 文档;m i e r o s o t t 的s q l s e v e r 6 5 和7 0 也进行了x m l 扩充,o r a c l e 也拥有功能强大的帆索引引擎。 4 第一章绪论 1 3 研究工作及成果 本课题采用x m l 技术,研究异构数据库的x m l 全局共享视图及其查询,采用j a v a 技术来构建数据库间的联接,最终达到数据的合成。 具体来讲,有以下几点 1 3 , 1 哪: l 、采用一系列x m l 标准和技术,及其在本课题中发挥的作用。 2 、建立基于x m l 的异构数据库共享视图模型。 3 、探讨数据库和x m l 的映射关系,建立映射语言规范。 4 、采用基于映射语言规范的翻译器,将数据库数据翻译为x m l 文档。 5 、基于x s l t 转换语言的转换机制,将一种格式的x m l 文档转换成另外格式。 6 、基于x p a t h 语言的合成机制,将若干x m l 文档通过x p a t h 语句查询的x m l 片 断合成为一个完整的x m l 文档。 7 、探讨x m l 共享视图的建立和组织。 8 、采用x p a t h 和x q u e r y 查询语言,扩展x q u e r y 语言,为x m l 共享视图提供查 询接口。 研究成果包括实现了以上各个功能的中间件,以j a v a 类库形式提供,以及定义了相 关的文档规范;映射语言规范和视图配置信息规范,都是以d t d 格式提供。映射语言规 范定义了从数据库到x m l 的映射规范。 1 4 约定 由于国内采用的数据库多数是关系数据库,本课题研究的异构数据库主要是指关系 数据库。 5 华南理工大学硕+ 学位论文 第二章数据合成的相关基础理论 2 1 数据合成基础概念 2 1 1 数据合成的概念和特征 信息数据合成是指将分散的各种因素或单位结合成一个更加和谐的整体,共享内部 资源使得整个系统获得更好结果的过程。根据美国信息技术协会( i t a a ) 的定义,信息数 据合成是根据一个复杂的信息系统和子系统的要求把多个新产品和技术验明并连接入 一个完整的解决方案的过程。因此,数据合成不是简单设备的堆积,而是将原来没有联 系或者联系不紧密的单元组合成功能协调、联系紧密的新系统。 信息数据合成具有四个主要特征【1 6 1 : 1 、目的性:具有整体的、一致的目标,数据合成的目标是建立一个和谐统一的信息 系统; 2 、协调性:以原有系统和己有技术为基础进行结合并协调,数据合成是通过系统内 各要素有机的连接或合并来实现,因此,协调功能是数据合成的必要条件; 3 、过程性:数据合成是一个开发过程,其间会有新的要素、技术随机参与进来; 4 、多元性:数据合成是多种意义上的合成,包括支撑系统的合成、信息合成、应该 功能的合成、技术合成、方法合成、人的合成及综合合成。 因此,数据合成是一项涉及的方面的复杂过程,包括思想观念的转变、组织机构的 重组、业务流的重构,计算机系统的开放互联等等。其关键在于必须解决好系统的应用 合成开发以及各系统之间的互联性和互操作性,最终提供一个完整的合成化的系统,并 确保系统中各应用子系统间在软硬件产品、通信网路、应用软件之间的接口和内部互操 作一致性,达到资源的共享并产生附加值。 2 1 2 数据合成的主要任务及解决方向 尽管目前对数据合成的研究有很多方面,但工作主要集中在三个问题上:自治性 ( a u t o n o m y ) ,异构性( h e t e r o g e n e i t y ) 和分布性( d i s t r i b u t i o n ) 。通常,数据合成希望在各个坐 标上达到原点,各个维度典型的解决方案如下所述 1 7 , 1 8 , 2 1 】: l 、分布性除了许多应用本身是分布的以外,许多系统的分布性来自于一些系统 己经存在于所有的系统建好之前。代理( p r o x y ) 是一个用于屏蔽分布性的成熟技术。例如, r p c 的思想就是代替本地被调用进程,远端进程通过s t u b 进行调用。实际上,他调用 了一个s t u b ,这个s t u b 将参数列集( m a r s h a l ) 并发送到远端,在远端,另一个s t u b ( 或者 6 第二章数据合成的相关基础理论 叫s k e l e t o n ) 接收并散集( u n m a r s h a l ) 这些参数,并调用真正的本地被调用进程。这个s t u b 就是一个对应本地进程的代理( p r o x y ) o m g 的c o r b a 结构扩展了r p c 为面向对象的 r m i ( r e m o t em e t h o dc a l l s ) 。 2 、异构性独立的程序开发和使用组件的行为使得异构性普遍存在。从技术角度 说,异构来自于不同的硬件平台,操作系统,d b m s ,网络协议和编程语言。在语义方 面,异构来自于不同的程序设计模型和数据模型,即对同一客观世界概念的不同理解和 建模方法,例如使用同样的名字来表示不同的概念,使用不同的名字来表示相同的概念。 客观存在的资源自治性也意味着访问和表示( 计算机系统,o s ,数据库系统,接口 规范等等) 的异构性,以及内容的异构性( 部分重叠,不同的组织机构,术语语义的差异) 。 例如,某人的地址可以是一个系统中人对象的属性,也可以是另一个系统中的独立实体。 通常,语义问题直到基本的访问问题解决以后才会被注意到。 减少异构性是数据合成最困难的任务之一。典型的技术是使用统一的程序设计模型 和数据模型。专门领域的标准可用于定义信息的含义,使得在不同的组织机构可以共享 这些数据,使用一致接口的封装器合成遗留系统。 3 、自治性组件系统的自治性也是数据合成的关键问题。首先各组件在设计是自 治的。选择了同一个组件,开发者就选择了一致的程序设计模型和命名规则。再者,组 件的通信和处理也可以说是自治的。一个组件可以独立决定如何处理和外部世界的交 互。使用技术方法减少自治性的可能性非常的有限。通常来说,自治性只会随着组织机 构的改变而减少。 2 2 数据合成的几种模式 2 2 1 基于数据的合成模式 企业中的信息系统是由许多的应用系统组成,整个信息系统可以看作是各子系统的 合成。国外传统的合成模式都是基于企业应用合成e a i 思想而来的,简单的说e a i 是 企业信息数据合成的科学和方法,一般由低级到高级逐渐形成了数据合成、应用合成以 及业务合成的三种模式,其目的就是将企业的应用彼此联接起来,或在企业之间连接起 来。 最早出现的是应用于企业内部应用合成的一种模式是一种数据级的合成,支持不同 数据存储器如数据库之间的直接交换,实现主要针对各个应用系统之间的数据合成,通 常是使用点对点的合成方式。 7 华南理工大学硕士学位论文 企业采取各种手段来解决企业前端和后台应用合成的问题,通常来说有如下一些方 法: l 、数据共享企业中的每一个系统都包含它自己的数据,有些系统有着相同的 数据表或数据库,只要这些数据表或数据库拥有相同的标识,就可以共享同一个数据表 或数据库,如电子商务的呼叫中心的应用,实时查看后台系统数据库的库存或者客户购 买记录,就是一个典型的应用系统之间数据共享的例子。 2 、数据复制对于具有多个分支机构的企业,为了提高本地系统的运行速度, 往往在中心和分支办公室都有一个数据备份,然后利用数据复制实现两个数据库的一 致。数据库可以是同一厂商也可以是不同厂商的,甚至可在是采用了不同模型和管理模 式的数据库。对于数据复制的基本要求是其必须能够提供一种数据转化和传输的基础结 构,以屏蔽不同数据模型的差异。目前市场上有大量此类产品,许多面向数据库中间件 的解决方案也同样提供数据复制服务。数据复制服务的基本原理是这样的:在两个或多个 系统的数据库之间设置一个软件中介层,在一边,数据从源数据库中被抽取,而在另一 边,数据被导入目标数据库。 3 、数据迁移这一般发生在企业安装新系统时,需要从其它应用一次性装载大 量初始数据的场合。比如,在实施c r m 项目时,往往要从m e 系统分批调入客户和产 品的主数据。 这种基于数据合成的模式已经发展的相当的成熟了,现在的思想基本上形成了统 一,就是当存储在应用a 中的数据在应用b 中也需要时,需要创建一个接口。每一种 新的数据要求都需要创建一个新的应用接口,那么应用之间的接口数量就会急剧的增加 每个应用与其它的应用之间彼此都几乎有一个硬连接。如果要为所有相互之间都建立接 口,结果会导致一个复杂的蜘蛛网式的结构。 在技术实现上,从我们熟悉的点对点的f t p ,到c l i ,o d b c ,j d b c 数据网关等, 都可以支持不同数据存储器如数据库之间的直接数据交换。判断是否属于数据的标准, 就是看整合是否直接发生在应用系统的数据底层、有无触及应用的业务逻辑功能。 2 2 2 基于应用和业务的合成模式 基于应用和业务的合成模式是企业应用系统更高层次的合成,也是较难于实现的模 式。基于应用合成和业务合成模式实现的方法有:a p i 调用、业务组件调用以及目前最新 的基于服务功能调用三种方式实现。在技术实现上,有微软的c o m ,d c o m ,c o m + , o m g 的c o r b a ,以及j a v a 的e j b 组件标准。所有这些功能组件技术都可以用来对带 8 第二章数据合成的相关基础理论 有a p i 或没带a p i 的应用进行打包处理,使之可以被以组件为标准的最新应用( 如w e b 应用) 直接调用。不同应用通过交换消息来实现合成。此类合成利用了现有的数据转换 及合法性检查从而易于保持数据的完整性。但它需要修改现有应用以建立发送和接受消 息的接口。 应用a 要和应用b 进行合成,那么应用a 要为应用b 编写一个合成适配器,同样 应用b 也要为应用a 编写一个合成适配器。当情况更复杂一些,有三个应用存在的时 候,那么每个应用需要为另两个应用分别编写合成适配器。这简直是企业内部从事应用 合成的技术人员的噩梦。当然在这些领域里,也是有一些通用的合成手段,比如i b m 的m qs e r i e s 之类的方案,对于每个应用来说只有编写一个合成适配器就可以应用技术 框架完成合成了。然而,这类技术手段往往只能在一个公司的产品中使用,或者是在使 用相同类型平台的场合下使用。不具备通用性。 结构过于复杂,人们显然是无法接受的,尤其在大量的新应用不断出现的情况下, 更是如此。每个单独的接口对每个应用似乎都是合理的,但站在企业的整个合成结构的 角度看,他们有许多是多余的和不必要的。 当众多系统间需要信息共享时,往往以某一个或某几个关键应用系统为主,基于系 统提供接口进行二次开发,在需要共享信息的系统间由特定的程序员提供复杂的访问接 口,与其它系统进行整合,是一种复杂系统对接的模式【2 n 。 一个有规模的企业,想通过零星的“点对点”连接,使众多的“信息孤岛”联系起 来以便让不同的系统间交换信息,很难达到效果。原因很简单,n 个应用的企业合成信 息要付出n ( n 1 ) 份的努力,同时,企业不得不为每套应用配置特有的专业技术维护人 员,并保持与不同技术供应商的密切联系,接口的复杂性和大量化以及不同技术供应商 之间的工作协调往往使企业望而生畏,结果往往形成了众多的数据孤岛和小规模的紧密 合成。由于这种方式对某一个或某几个系统的过分依赖,没有站在企业应用合成这个全 局的高度,很难从根本上解决企业面临的信息共享问题,不能满足企业信息化进程的要 求。 2 2 3 分布对象计算技术及合成模式 分布计算( d i s t r i b u t e dc o m p u t i n g ) 是近2 0 年来影响计算技术发展的最活跃因素之一, 在网络计算平台上部署分布计算环境( 也称为中间件) 【2 引,提供开发工具和公共服务,支 持分布式应用,实现资源共享和协同工作。9 0 年代,工业界普遍遵循这一技术路线。 分布对象技末采用面向对象的多层客户服务器计算模型,该模型将分布在网络上的 9 华南理工大学硕士学位论文 全部资源( 无论是系统层还是应用层) 都按照对象的概念来组织,每个对象都有定义明晰 的访问接口。创建和维护分布对象实体的应用称为服务器,按照接口访问该对象的应用 称为客户。服务器中的分布对象不仅能够被访问,而且自身也可能作为其他对象的客户。 因此在分布对象技术中,客户与服务器的角色划分是相对的或多层次的。 分布对象存在于网络的任何地方,可被远程客户应用以方法调用的形式访问。而分 布对象的开发语言等实现细节对客户对象来说是透明的。分布对象具有动态性,可以在 网络上到处移动。他们是独立于特定的程序设计语言和应用系统、可重用的自包含的软 件成分称为组件。 图2 1 对象管理结构 支持客户异地分布对象的核心机制称为对象请求代理( o b j e e tr e q u e s tb r o k e ro r b ) o r b 处于分布对象技术的核心位置,从o m g ( o b j e c tm a n a g e m e n tg r o u p ) 的o m a ( o b j e c t m a n a g e m e n ta r c h i t e c t u r e ) p ,我们能够体会到面向对象的分布计算技术典型结构( 见图 2 1 ) 。其中,对象服务包括支持分布式系统正常工作的各类基本的系统能为服务,例如 名字管理、事件通告、对象事务管理、对象生命期、时间同步、并发控制等。公共设施 包括支持分布式系统高效开发和有效工作的各类面向各领域的常规服务和工具。例如 g u i 服务、数据库服务、电子邮件服务、系统管理服务以及面向电信、仿真和金融等应 用领域的构架等。应用对象涉及各种应用软件,它在对象服务和公共设施的帮助下完成 相应的应用逻辑。o r b 如同一条总线( b u s ) 把分布式系统中的各类对象和应用连接成相 互作用的整体。 由上可见,对象技术的特性使之成为通用的系统模型框架。它可以将分布、异构系 统的复杂工作模型化、简单化,即提供一个统一观察客观世界的视图:异构环境中的各个 应用被视为分布对象。应用间的作用反映为对象间通过接口调用对象的功能,而对象内 1 0 第二章数据合成的相关基础理论 部的功能是如何实现的、对象位于何处都是透明的,对象为可确认的、封装的实体,提 供一种或多种服务,对象实现则为位于服务器上的代码和资料。分布对象是一种典型的 组件对象,基于分布对象技术的分布式应用开发就是分布对象的开发和组装。 华南理工大学硕士学位论文 第三章数据合成的相关技术 3 1x m e 技术 随着i n t e m e t ,w e b 的出现,超文本标记语言h t m l 语言应运而生,它是s g m l 的 子集,简单、易于理解。h t m l 的主要目的是用户可以用它来描述文档结构的每个部分 如何表示,如字体、大小、颜色等。h t m l 的优点是它容易学习,并且有许多浏览器支 持。然而,h t m l 没有提供修改文档大小结构以适合屏幕的大小,以及限制了数据的表 示格式,无法从h t m l 文档中提取数据信息。这些缺点促使了表示能力更强大的x m l 语言的出现并迅速流行。 简单地说,x m l 是标记语言的一个开放家族,利用它,你可以设计描述数据的方 法,通常如存储、传送或程序如何处理等。x m l 是一个描述性标记语言的元语言,它 使人们可以方便地为数据定义或扩展他们自己的描述术语以及这些术语间的结构化关 系,这就是“可扩展”的含义也是x m l 的基础。 x m l 具有如的功能特征田捌: l 、x m l 是可扩展的。通过定义数据元素和属性来定制x m l 文档以满足特定的需 求。 2 、x m l 和关系数据库关系密切。x m l 创建和管理层次数据结构,关系数据库系 统使用关系模式来关联数据实体表,以简化数据排序、查询、获取。虽然这两种数据结 构方法大不相同,但都创建了层次结构。 3 、跟任何背景无关。创建和处理x m l 文档与具体的编程语言、操作系统、计算平 台等无关。任何计算平台使用文本编辑器便可以开发x m l 文档。 4 、x m l 是自我描述的。一个x m l 文档应该是易于阅读的,这是由于定义数据元 素和层次关系的过程是在设计者自己对数据的理解基础上进行的。 5 、x m l 利于标准化数据表示的开发。不同数据库厂商开发的使用不同操作系统 的数据库系统之间转换数据是非常复杂的过程。x m l 可以开发不同数据库系统都能理 解的独立的数据格式。 一个x m l 文档通常包括两个主要部分:文档类型定义( d t d ) 和实际内容。在d t d 中 作者可以定义自己的元素集合,每个元素有特定的属性和内容类型。每个应用领域可以 定义d t d 表示该领域的数据和信息。通过相同的d t d ,不同来源的数据可以互相交换、 理解、整合,甚至进一步处理,如重新组织,查询等。 第三章数据合成的相关技术 自从x m l l 0 规范发布之后,x m l 的有关技术规范不断涌现。w 3 c 在1 9 9 9 年先 后推出了n a m e s p a e e sx m l ( x m l 中的命名空间) 、c s s 2 , s s o c i a t i n gs t y l e 、s h e e t sw i t h x m l ( 将样式表关联到讧l 文档) 等推荐标准。与x m l 有关的重要技术规范还包括d o m x s l , x l l , x l i n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论