




已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)基于corbaxml数据交换中间件的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博士硕士学位论文:基王q 堕丛丛b 数量变逸生间娃煎婴壅星座厦:。 除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体 已经公开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:年月日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密口( 请在以上方框内打“”) 论文作者签名:导师签名: 日期:年月只 摘要 随着企业规模的不断扩大,企业信息系统的规模也随之扩大,由于实施数据 管理系统的阶段性、技术性以及其它因素的影响,以至于即使在一个单独企业, 每个部门或单位就是一个数据源,每个数据源都可能是异构的,它们构成了企业 的异构数据源。 不仅如此,网络的发展使企业逐渐从一个孤立节点发展成为不断与外部网络 交换信息的实体,企业数据集成也从企业内部集成走向了企业间集成。现在的企 业比以往任何时候都需要将内部数据进行发布和交换,这必然导致越来越多的企 业应用需要访问各种异构数据源,为了满足这种需求,必须有一种系统能够支持 异构数据源的数据集成。 本文首先讨论了结构化的异构数据库集成时所面临的问题、集成的策略以及 所用的技术,在此基础上提出了一个解决异构数据源集成的总体解决方案,并在 工业生产领域中应用了该系统。由于x m l 语言的灵活性和扩展性使其可以对不同 应用甚至是差异很大的应用问的数据进行描述,因此该集成系统采用x m l 模型作 为公共模型,将各种异构数据源都转换为x m l 文档来进行交换。 关键词异构数据源、数据集成、x m l 、领域数据 a b s t r a c t w i t ht h es u s t a i n i n gd e v e l o p m e n to ft h es c a l eo fc o m p a n y , t h es c a l eo f c o m p a n y si n f o r m a t i o ns y s t e ma l s oi n c r e a s e s i n f l u e n c e db yt h ed i f f e r e n t p l i a s e so ft h ed a t aj i 】a n a g e m e n ts y s t e 田, t e c h n i c a lf a c t o r sa 兀de t c ,e v e ni n as i n g l ec o m p a n y ,e v e r yd e p a r t m e n tw i l lb e c o m ead a t as o u r c e a n de a c hd a t a s o u r c eh a s i t so w nf r a m e w o r k :a 1 1o ft h e s ed a t a c o n s t i t u t et h ed i f f e r e n t d a t as o u r c eo ft h ec o m p a n y i na d d i t i o n ,t h ed e v e l o p m e n to ft h ew e ba l s o1 e a d st h ec o j i 】p a n yf r o m as i n g l ep o i n tt ot h ec o m p a 兀ye n t i t y ,w h i c hk e e p se x c h a n g i n gi n f o r m a t i o n a n dt h ei n t e g r a li o no ft h ec o m p a n y sd a t ah a sc h a n g e df r o mt h ei n s i d e i n t e g r a t i o nt ot h eo u t s i d ei n t e g r a t i o n n o w a d a y s , t h ec o m p a n yn e e d st o p u b l i s ha n de x c h a n g et h e i ri n f o r m a t i o nm o r et h a na t8 n yt i m eb e f o r e ,w h i c h w i l l l e a dt ot h er e q u i r e m e n t st h a tm o r ea n dm o r ec o n l p a n yn e e dt ov i s i ta l l s o r t so fd a t as o u r c e i no r d e rt om e e tt h i sd e m a n dw en e e dt h es y s t e m ,w h i c h c a ns u p p o r tt h ei n t e g r a t i o no ft h ed i f f e r e n td a t as o u r c e t h et h e s i sf i r s tw i l ld i s c u s st h ed i f f i c u l t yi nt h ep r o c e s so ft h e i n t e g r a t i o no ft h es t r u c t u r a l i z e dd i f f e r e n ts o u r c ed a t a b a s e , t h es t r a t e g y o fi n t e g r a t i o n ,t h et e c h n i q u eo fi n t e g r a t i o n t h e nt h et h e s i sw i l lp r o p o s e a no v e r a l lp r o j e c t ,w h i c hc a ns o l v et h ei n t e g r a t i o no fd i f f e r e n td a t as o u r c e i n c l u d i n gt h eh a l f s t r u c t u r e dd a t a a n da tt h es a m et i m e ,t h ec o r e s u b s y s t e 【r i _ 一e x c h a n g es u b s y s t e mi sr e a l i z e d d u et ot h ea g i l i t ya n dt h e e x p a n s i b i l i t yo fx m ll a n g u a g e , i tc a nd e s c r i b e d a t af o rd i f f e r e n t a p p l i c a t i o n s t h u s ,t h i si n t e g r a t i o ns y s t e mw i l lu s ex m lm o d e la st h e i r p u b l i c 玎l o d e la n da l lo ft h ed i f f e r e n td a t as o u r c ew i l lb ec h a n g e di n t ox m l d o c u m e n tf o r t h ef u r t h e re x c h a n g e k e y w o r d s :d i f f e r e n td a t as o u r c e , d a t ai n t e g r a t i o n , d a t am o d e l ,x m l 1 1 课题背景 第1 章绪论 近年来各部门各行业各领域根据各自不同的应用需求、业务流程、信息结构 和计算机软硬件环境等特点分别在不同历史时期先后建立起并运行着越来越多各 种各样的信息系统,众多的信息系统绝大部分都是采用各自不同的开发工具、不 同的硬件平台、不同的操作系统、不同的网络协议、不同的数据库管理系统( d b m s ) 开发的。 企业在发展过程中积累了大量数据,并为存储和管理这些数据不断投资。然 而,由于实施数据管理系统的阶段性、技术性以及其它经济和人为因素的影响, 以至即使在一个单独企业,采用的数据管理系统也大不相同,从简单的文件数据 库到复杂的网络数据库,它们构成了企业的异构数据源。尽管这些数据管理系统 能够满足数据存储和管理要求,但是在许多情况下,为完成一项工作,企业应用 可能需要访问分布在网络不同位置上的多个数据管理系统中的数据。例如,某公 司需要了解一套架型的生产和使用情况,那么,相关应用首先必须访问生产科、 组装、以及使用车间的不同的数据库系统来提取相关数据,然后进行处理。很显 然,原有的数据管理系统并不能提供这种支持,需要一个强大的系统能够集成存 在于分布数据源的数据。 随着企业信息系统的不断发展,越来越多的用户需要同时访问和处理不同网 络节点的多个异构数据库的数据,希望屏蔽各个层次的异构特性,他们不必知道 各物理数据库系统的分布,也不必知道各物理数据库的结构组成,不必自己去进 行数据转换和结果汇总,只需通过简单的全局查询便可以得到一个综合结果。特 别是在i n t e m e t 出现后,利用i n t e r n e t 技术建立在宽带高速网络之上的许多应用系 统如电子商务电子政务办公自动化o a ( o 历c ea u t o m a t i o n ) 、呼叫中心 ( c a i l c e n t e r ) 、e r p ( e n t e p r i s er e s o u r c ep l a n n i n g ) 企业资源规划、c i m s ( c o m p u t e i m e r g r a c e dm a n u f k “l r i n gs y s t e m ) 计算机集成制造和决策支持系统d s s ( d e c i s i o n s u p p o r ts y s t e m ) 等也都需要基于一个能共享各部门行业和领域各类信息的统一平 台。 1 2 异构数据集成研究现状 异构数据源集成系统除了集成具有规则结构( w e l l s 乜1 l c n l r e d ) 的数据之外,还 需集成来自w w w 等数据源的半结构化( s e m i s t r u c t u r e d ) 数据( 包括声音、图形多 媒体信息、w w w 上的h t m l 文件等其他格式的文件) 。这些数据源模型不同,给 系统集成带来了许多问题。 目前,解决异构数据源互连接的方法一般有3 种 1 ) 分布式数据库,其基本思想是抛弃原有的数据库系统在网络环境下建立分 布的数据库系统,在体系结构,事务处理模型等方面重新设计,从而解决信息共 享与互操作问题。 2 ) 联邦式数据库,它是由一组能协调工作,又可独立自治的部件数据库组成。 它可以是原先不分布的,又可以是分布的。它具有分布性、异构性、自治性3 大 特征。 3 ) 在原数据库上进行扩充,具体地又可分为如下两种: a ) 数据库网关( d a 乜l b a s cg a t e w a y ) ,数据库网关是一种中继器,它能提供应用 级的数据库互连的手段。网关的主要作用是转换和通信。转换包括模式转换、操 作变换等。数据库网关可建立稳定和透明的连接。但该方法存在有如下局限:仅 仅能完成特定的数据库查询语言到另外种特定的数据库查询语言的同等转换, 并不涉及如何屏蔽数据库之问的异构性;不支持事务处理,没有提供并发控制和 2 事务处理能力;用户受制于特定的数据库。 b ) 中间件技术( m i d d l ew 缸e ) 。即几个后台数据源和前台应用之间建立一个抽 象层。使系统对每个不同数据源的操作变为对单一的中间件的操作,而后再由中 间件进行异构处理。 目前通用异构数据源系统的研究尚处于起步阶段,未有真正的通用数据集成 系统出现,通过包装为各数据源提供标准界面以实现数据集成系统的通用性和可 扩展性己形成共识。一个通用异构数据源的基本结构如图1 1 所示。其中,每个数 据源都配备自己的包装器( w r a p p e r ) ,各数据源的数据经包装后成为公共数据模型 表达的对象, 图i l 异构数据源集成系统的基车结构 在通用异构数据源的基本结构图中,虚线框实质上是一种基于中间件的开发 思想,中间件和包装器之间分割处理任务。包装器对特定数据源进行封装,将其 数据模型转换为系统所采用的通用模型作为其输出模式,并提供一致的物理访问 机制。中间件使用通用模型描述的全局模式,通过调用包装器或其他中间件来集 成数据源的信息,解决数据冗余和不一致问题,提供一致协调的数据视图和统一 的查询语句,屏蔽异构数据间的差异。因此集成后的异构数据对用户来说是统一、 无差异的。 3 目前,x m l 技术逐步成为数据集成研究的热点,它的出现使得对各种不规则 的数据信息( 当然也包括规则信息) 的标准化描述成为可能,使用x m l 技术为基 石建立数据集成平台,是数据集成技术发展的趋势。 异构数据集成平台为企业解决多平台、多结构数据的集成提供了一条解决途 径。通过这样一个集成系统,可以把企业内部和外部的各种相关数据资源进行整 合,为企业的信息资源规划提供了可能,从而搭建起整个企业的信息平台。解决 异构数据集成问题也是基于构件的开发方法的关键问题之一,异构数据集成后向 构件开发者提供统一的视图,构件之间的独立性将更强,增加了构件对数据依赖 的柔性m ,构件可以在更大范围内实现复用,同时,分析领域数据的特征,解决领 域数据的集成问题对于领域构件的开发至为重要。可以加大领域可复用构件的粒 度,提高软件开发的效率。 1 3 本文工作 总结和归纳国内外构件、中间件技术和数据集成方面的一些最新学术成果和 应用成果;剖析了领域异构数据的特点以及领域构件对领域数据的相关性:讨论了 利用当前相对成熟的软件构件技术c o r b a 和数据集成技术x m l 以解决数据集成 问题的具体方法,并比较了这两种方案的利弊;提出了c o r b a 技术和x m l 技术 结合解决数据集成问题的思想:最后,用j b u i l d e r v i s i b r o k e rf o rj a v a 和i b mx m l p a r s e rf o rj a v a 实现了一个基于c o r b a ) ( m l 的工业生产领域数据集成平台的实 例。 本学位论文的其余部分安排如下:第二章对当前数据集成相关技术进行学习和 探讨;第三章主要论述设计异构数据库信息共享交换平台体系结构所采用的分布式 对象技术;第四章介绍x m l 与数据库的集成;第五章针对工业生产领域的异构数 据库,建立共用信息平台来实现异构信息的共享;最后为论文总结与展望。 d 第2 章数据集成相关技术 2 1x m l 技术及其现状 2 1 1x m l 的简介 x m l 和h t m l 一样,都来自s g m l 即标准通用标记语言的一个子集。s g m l 是一种用标记来描述文档资料的通用语言,它包含了一系列的文档类型定义( 简 称d t d ) ,在d t d 中定义了标记的含义,因而s g m l 的语法是可以扩展的 x m l 是一个精简的s g m l ,它将s g m l 的丰富功能与h t m l 的易用性结合 到w e b 的应用中。x m l 保留了s g m l 的可扩展功能,这使x m l 从根本上有别于 h t m l 。x m l 要比h t m l 强大的多,它不再是固定的标记,而是允许定义数量不 限的标记来描述文档中的资料,允许嵌套的信息结构。h t m l 只是w 曲显示数据 的通用方法,而x m l 提供了一个直接处理w 曲数据的通用方法。h t m l 着重描 述w 曲页面的显示格式,而x m l 着重描述的是w c b 页面的内容,因此结合h t m l 和x m l 可以实现数据与页面框架的分离,使得w e b 应用程序更易于扩展和移植。 2 1 2 x m l 优点 简单地说,x m l 是标记语言的一个开放家族,利用它,你可以设计描述数据 的方法,通常如存储、传送或程序如何处理等。x m l 是一个描述性标记语言的元 语言,它使人们可以方便地为数据定义或扩展他们自己的描述术语以及这些术语 问的结构化关系,这就是“可扩展”的含义也是x m l 的基础。x m l 具有如下的 功能特征: ( 1 ) x m l 是可扩展的。 通过定义数据元素和属性来定制x m l 文档以满足特的需求。 s ( 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 l o 规范发布之后,x m l 的有关技术规范不断涌现。w 3 c 在1 9 9 9 年先后推出了n a m e s p a c e sx m l ( x m l 中的命名空间) 、c s s 2 、a s s o c i a t i n gs t y l e 、 s h e e t sw 曲) 。v i l ( 将样式表关联到x m l 文档) 等推荐标准。与x m l 有关的重要 技术规范还包括d o m 、x s l 、x l l 、x l i n k 、d t d 、x m ls c h e m a 和x q e r y 等。 2 2d t d 和s c h e m a d t d 和s c h e m a 都是用来检验x m l 的有效性,使用d t d 和s c h e m a 定义可以 方便地创建一个格式良好的x m l 文件以供大家共享。 2 2 1d t d 简介 d t d 全称d o c m e mt y p ed e f i 血i o n ( 文档类型定义) 。d t d 一套关于标记符 的语法规则。它规定在文档中使用那些标记,这些标记按什么顺序出现,哪些标 记可以出现于其它标记中,哪些标一记有属性等等。一个有效的x m l 文档首先应 该是一个格式良好的l 文档,除此以外,它还必须遵守文档类型定义d t d 中 已声明的种种规定。d t d 实际上描述了一个置标语言的语法和词汇表,也就是定 义了文档的整体结构以及文档的语法。它定义了一个语法分析器,用于解释一个 “有效的”x m l 文档所需要知道的所有规则细节。 2 2 1 1d t d 中元素的定义 在d t d 中元素的定义是通过关键字“e l e m e n t ”来进行的,一般的元素定 义如下: ! e l e m e n te i e m e n t n a m ec a t e g o d 口 o r 2 2 1 2d t d 中属性的定义 在d t d 中,属性是通过关键字a t t l i s t 来定义的。一般属性定义方法: 在属性定义中a n r i b u t e - t y p e 可选的值如表2 一l 所示。 表2 la n n b u t e - t ) 一p c 可选值 值说明 c da = r a不可以解析的数据 ( e n l l e n 2 1 )属性的值必须从列表中选择 i d 属性的值是一个i d 值,也就是该属性是唯一的 i d r e f 该属性的值是另一个元素的i d 值 i d r e f s 该属性值是其它i d 值的列表 n m t o k e n 该属性值是一个有效的x m l 名 n m t o k e n s 该属性值是一系列有效的x m l 名 e n t i t y 该属性是一个实体 e n t i t i e s该属性是一系列实体 n o 玑朝叮o n 该属性值是一个n o d 辐1 0 n 的值 x m l该属性值是一个经过预定义的x m l 值 2 2 2s c h e m a 简介 为了验证x m l 文档的有效性,可以使用d t d 。但是许多常用的限制不用d t d 来表述,比如数据的有效类型,如整型、布尔型、字符串型等,不能用d t d 来表 述。这就促使了s c h e m a 的产生。与d t d 相比,s c h c m a 不但功能上更加强大,而 且s c h e m a 本身也是x m l 文档,而不像d t d 那样是一种特殊的格式。 2 2 2 1s c h e m a 声明 s c h e m a 元素是x m l s c h e m a 中出现的第一个元素,用于声明该x m l 文档是 一个s c h e m a 文档。s c h e m a 语法表达如下: s c h e m a 具有两个属性:n a m e 指定该s c h e m a 的名称,而x m l n s 则指定该 s c h c m a 包含的命名空间。 2 2 2 2s c h e m a 中元素的定义 在s c h e m a 中元素的定义是通过关键字e 1 e m e n t t y p e 来进行的,一般的元索定 义规则如下: e l e m e n t 聊ec o n t e n t _ ” 锄p t yt e x t o n l y 咄o n l y i m i x e d ) , d t :帅e = “d a t d 呻e ” m o d e l 2 ” o p e n c l o s e d ) ” n a m e = ”e l e m e m n a m e ” o r d e r = ” o n es e ql m a n y ) ” e l e m e n tt y p e = ”子元素名”) 以上的定义中,表达式” ”的作用是为元素增添一个 子元素,使该元素成为元素类型。 下面简要介绍该定义中常用的几种属性的意义。 e i e m e n t l 卯e 的c o n t e n t 属性 浚属性的可选值有四个,即:e m p 玑t e x t o n l ”e l t o n l y 和m i x e d 。 其中e m p t y 表示内容为空,这与d ,i 、d 中的关键字e m p t y 的作用相同。 t e x t o n l y 表示只包含文本类型的内容,这与d t d 中的”卯c d a 噙”的作用相似。 e l t o n l y 表示只包含元素类型的内容。而m i x e d 表示包含上述任何情况,也就是它 可以即包含文本,又可以包含元素类型的内容。 e l e m e n t l e 的d t :t y p e 属性 这个属性用于指定元素文本的数据类型。在表2 2 中给出了一些常见的用于指 定元素文本和属性值的数据类型。 表2 2 数据类型衰 数据类型说明数据类型说明 b o o l e a n布尔型 c h a r 字符型 日期型日期时间型 d a c cd a t e t i m e 如:”2 0 0 5 3 1 5 ”如:”1 9 7 7 3 1 5 t 1 8 :3 9 :0 9 ” f 1 0 a t实型i m整型 n u m b e r 数字型 t i m e 时间型如:”0 6 :0 7 :0 8 u i n v e r s a i 如: u r i r e s o u r c e u u i d 3 3 3 c 7 b c 4 4 6 0 f 1 1 d 0 b c 0 4 0 0 8 0 i d e n t i 6 e r 的简写 c 7 0 5 5 a 8 3 e n t i t v 实体类型 e n t i t i e s 实体类型 e n u m e r a n o i d 类型,该类型可以确定元素的 枚举类型 i d n 唯一性 从d t :帅e 属性的书写形式可以知道字符d t 是一个名域前缀。所以在引用这个 名域前缀之前,必须定义这个名域前缀。 2 2 2 3s c h e m a 中属性的定义 在s c h e m a 中属性的定义是通过关键字”a i t 抽u t e t y p e ”来进行的,一般的元素 定义如下: a t t r i b u t et 卯e d e f a u l t = ”d e f a u l t a l u e ” d t :帅e = p r i m i t i v e - 1 y p e ” d t :v a 】u e s = - ,e n u m e r a t e d v a l u e s ” n 锄e = ,n 锄e ” r e q u i r e d = = ” y e s n o ) 修 o 以上的定义中,表达式“ ”中啪e 属性的值是一样的。 2 3x m l 的a p i 呻e = ”属性名修”用于引用特定的属性。 属性的值一般与表达式“ a t t r i b u t et y p e = ” d e 甑l l t 属性则是用来指定一个缺省值。 围绕x m l 出现的应用程序接口( a p i ) 对于x m l 应用开发来说无疑是十分 重要的。应用开发者可以使用这些标准的接口来获得和设置x m l 文档中的元素、 属性、数据内容等。在这些x m l 的应用编程接口中,最重要的是w 3 c 制赢钓o o m ( d o c 啪e n t0 b j e c tm o d e ) 弄s a x ( s i m p l ea p if o rx m l ) 。 2 3 1d o m d o m ( d o c 哪e n to b j e c tm o d e l ) 就是一个结构化文档编程接口( a p i ) ,它定义 了文档的逻辑结构以及访问和操纵文档的方法、x m l 文档中的元素就是d o m 树 中的节点对象。使用d o m 模型、程序员可以方便地创建文档、导航及其结构或 增加、修改、删除、移动文档的任何成分【3 1 。 d o m 是平台无关、语言无关的应用程序接口( a p i ) 。它用对象模型来描述文 档的逻辑结构。在d o m 中,文档的逻辑结构类似一棵树。文档、文档中的根、元 素、元素内容、属性、属性值等都是以对象模型的形式表示的。d o m 中还包含注 释、处理指令、文档类型、实体、实体引用、名空间、事件、样式表等多种对象 模型。利用d o m ,程序开发人员可以动态的创建文档,遍历文档结构,添加、修 改、删除文档内容,改变文档的显示方式等等。可以这样说,文档代表了文档中 的数据,而d o m 则代表了如何去管理这些数据。 总之,d o m 是一个应用程序接口,d o m 分析器对x m l 文档分析的结果是内 存中的一棵d o m 树,使用这种a p i ,x m l 解析器就类似遍历一棵树一样处理x m l 文档,比较适合随机访问。 1 1 2 3 2s a x s a x ( s i m p l ea p if o rx m l ) 是一种“事件驱动”的x m l 软件开发包接口。s a x 用基于事件的方式来处理x m l 文档。当一个l 被处理时,x m l 解析器就会告 诉我们有关事件发生的情况,诸如元素的开始,元素的结束等。但是不会构造新 的内部结构,不适合随机访问。 使用s a x 的过程有两步。首先,用户使用s a x 的a p i 来定义元素标记事件。 然后启用解析器来解析x m l 文档。当解析器遍历x m l 文档时遇到用户定义过的 元素标记事件时产生事件,该事件将驱动应用调用相应的程序去处理该特定的元 素。否则,解析器继续解析。基于事件的方法使s a x 为应用开发者提供了处理特 定元素的方法,而不必要求在应用层次处理之前预先建好元素,处理过程实时进 行。这对需要处理元素子集或处理大规模x m l 文档时特别有效。否则建立大量对 象会耗费大量内存。 s a x 是比d o m 更低层的接口,s a x 运行很快,有较大的灵活性。 2 4x m l 显示与样式单 x m l 关于文档浏览的基本思想是将数据的显示分别定义。因此无论是在 d t d 中定义标记,还是在其后根据这些标记来说明数据,x m l 文档本身都没有涉 及各种数据的具体显示方式。文档的显示实际上是通过一个外部样式表,即样式 单来描述。样式单是一种描述结构文档表现方式的文档,它既可以描述这些文档 如何在屏幕上显示,也可以描述它们的打印效果,甚至是声音效果。 迄今为止,w 3 c 已经给出了两种样式单语言的推荐标准。一种是层叠样式单 c s s ( c a s c a d i n gs t y l es h e e t s ) ,另一种是可扩展样式单语言x s l ( e x t e n s i b l es t y l e s h e e t l a i l g u a g e ) 。我们下面介绍后一种x s l : x s l ( e x t e n s i b l es t y l e s h e e tl a n g u a g e ) 是描述x m l 文档样式信息的一种语言, t 2 是由w 3 c 制定的。它是x m l 的首选样式表语言。 x s l 是通过x m l 进行定义的,遵循x m l 语法规范,是x m l 的一种具体应 用。它由两大部分组成:第一部分描述如何将一个x m l 文档进行转换,转换为可 浏览或可输出的格式;第二部分则定义了格式对象f 0 ( f o m a t t e do b j e e t ) 。 在输出时,首先根据x m l 文档构造源树,然后根据给定的x s l 将这个源树 转换为可以显示的结果树;然后再按照f o 分析结果树,产生个可以在屏幕上输 出的结果。 使用x s l 显示x m l 的基本思想,就是通过定义模板将x m l 源文件转换为带 样式信息的可浏览文件。 在x m l 中使用如下语句声明x s i ,样式单: 2 。5 旺l 模式与关系模式的相互转化技术现状 x m l 迅速成为在w w w 上交换商业数据的标准。然而,大部分商业数据存储 在关系数据库系统中 4 j 。由于历史等原因,商业m i s 系统的数据库系统不少是分布、 异构的。异构数据库的异构性主要体现在以下几个方面:计算机体系结构的异构:操 作系统的异构;d b m s 的异构。为了完成异构数据库之问的通讯,必须实现r d b m s 到x m l ,x m l 到r d b m s 之间的转换,目标在于实现不同数据之间的数据信息 资源的共享。 到目前为止,已有大量支持x m l 与数据库的数据转换技术和应用。 其中,微软的a d o 控件技术w 可以根据数据库表的内在结构直接输出x m l 文档,丈档的格式将符合默认的d t d 定义。 d b 2 x m l 转换工具是一种将数据从关系数据库转换成x m l 文档的工具,是 种样式驱动的应用,其输出的x m l 文档实际上是一组表格,而具体内容耿决于 1 1 用户输入的s e l e c t 命令。 o d b c 2 x m l 转换工具是由i n t e l l i g e n ts y s t e mr e s e a r c h 开发的共享软件,它实 际上是一个、矾n d o w s 库d l l ,通过它,可以将数据从数据库中提取出来并转换成 x m l 文档。该软件属于模板驱动。 x o s l 转换工具用于将数据从数据库中提出并转换成x m l 文档,它运用了 a d o 技术。该软件属于模板驱动,它利用特定的x o s l 元素将查询语句嵌入到模 板中。 a s p 2 x m l 组件是由s t o n e b r o o m 开发的。它实际上是一个用来在x m l 文档和 任一0 d b c 或者o l e d b 数据库之间双向传输的o l e c o m 组件。该产品是模板 驱动的,并且将x m l 文档模型化成一个单一的表刈象。 这些技术实现了x m l 文档和关系数据库之间的数据转换。但是要求与关系数 据库相互转换的x m l 文档只能是二维表格形式的。不能直接从数据库中提取出带 有层次关系的x m l 文档,也不能将这种文档的数据直接存入关系数据库中。虽然 o r a c l e 8 i 等数据库可以使用对象视图的方法来直接提取和存储带有层次关系的 x m l 文档,但其局限性是对每种格式不同的x m l 文档,都必须先创建对象视图 和存储过程。 二维表格形式x m l 文档带有大量冗余,不适合直接在系统之间传输,实际在 商业贸易伙伴之间传输的单据常常是带有层次关系的。采用上述技术不能直接实 现商业贸易伙伴之间的数据转换和传输,需要x s l 语言州来实现二维表格形式的 x m l 文档与有层次关系的x m l 文档之间的转换。 第3 章分布式对象技术 分布式对象技术是伴随网络而发展起来的一种面向对象的通信中间件技术。 随着网络的发展,许多软件需要在不同厂家的硬件平台、网络协议、操作系统异 构环境下运行,应用规模也从局域网发展到广域网。中间件就应用而生。中间件 是位于操作系统和应用软件之间的通用服务,它的作用是用来屏蔽硬件平台的差 异性和操作系统与网络协议的异构性,是应用软件能够比较平滑地运行于不同平 台。随着面向对象技术的发展和应用需求的进一步复杂化,出现了分布式对象技 术。分布式对象技术是伴随着网络和面向对象技术的发展而不断的完善起来的。 分布对象往往又被称为组件或构件,组件是独立于特定的程序设计语言和应用系 统、可重用和自包含的软件成分,在分布计算的环境下可以是一个简单的对象, 但大多数情况下是一组相关的对象复合体,提供一定的服务。分布环境下,组件 是一些灵敏的独立软件模块,他们可以位置透明、语言独立和平台独立地相互发 送消息,实现请求服务。 分布式对象技术的出现为网络计算平台上软件的开发提供了强有力的解决方 案。目前,分布式对象技术已经成为建立服务应用框架和软件构件的核心技术, 在开发大型分布式应用系统中表现出强大的生命力,逐渐形成了以下三个比较有 影响的主流技术规范:o m g 起草与颁布的c o r b a ;微软公司推出的 c o m d c o m c o m + ;s u n 发表的j a v a b e a i l s 。 3 1c o m d c o m 和c o m + c o m 是个开放的组件标准,有很强的扩充和扩展能力。c o m 规定了对象模 型和编程要求,使c o m 对象可以与其他对象相互操作。这些对象可以用不同的语 言实现,其结构也可以不同。基于c o m ,微软进一步将o l e 技术发展到o l e 2 。 1 其中c o m 实现了o l e 对象之间的底层通信工作,其作用类似于c o r b o r b 。 在o l e 2 中出现了拖放技术以及o l e 自动化。 c o m 规范包括c o m 核心、结构化存储、统一数据传输、智能命名和系统级 的实现( c 0 m 库) 。c 0 m 核心规定了组件对象与客户通过二进制接口标准进行交 互的原则,结构化存储定义了复合文档的存储格式以及创建文档的接口,统一数 据传输约定了组件之间数据交换的标准接口,智能命名给予对象一个系统可识别 的唯一标识。 c o m 应用有如下特点:丰富的综合服务,包括事务、安全性、消息队列和数据 存取,以支持最广泛的应用:组件间通过基于指针的a p i 调用实现互操作,调用透 明性好;对w i n d o 、s 依赖性强,其他操作系统的支持相对不足;供货商可使用多种开 发语言开发,如v c 、v b 、c + + b u i l d e r 等淀制应用软件和可重用组件的广泛用户 基础:可靠的重用性,充分利用用户和开发人员的现有投资。 在c o m 系统中,客户对组件对象功能的调用接口一般采用c o m i d l 来描述。 c o m 定义了两类服务器,进程内服务器( 1 n - p r o c e s s ) 和进程外服务器( o u t o f p r o c e s s ) 。进程内服务器即本地机上的d l l ,进程外服务器分为两类,一是本地 机上的e x e 可执行程序,二是远程机上的d l l 或e x e 程序。服务器内部包括组 件接口的实现体( i n t e r f a c ei m p l e m e m ) 和类工厂( c l a s sf a c t o r y ) ,类工厂生产组 件对象,将对象的接口指针返回给客户。组件服务器的定位由c o m 库完成并返回 对象指针。c o m 对象位置的透明性处理由c o m 的服务控制机制保证。进程外的 对象必须先调用服务控制机制提供的代理,代理生成服务对象的远程过程调用 r p c ( r e m o t ep r o c e s sc a l l ) 。 d c o m 是微软与其他业界厂商合作提出的一种分布组件对象模型,它是c o m 在分布计算方面的自然延续,为分布在网络不同节点的两个c 0 m 组件提供了互操 作的基础结构。d c o m 增强c o m 的分布处理性能,支持多种通信协议,加强组 l6 件通信的安全保障,把基于认证i n t e r n e t 安全机制同基于w i n d o w s n t 的c 2 级安全 机制集成在一起。但从系统内部的实现机制而言,d c o m 所采用的技术仍符合 c o m 模式。 d c o m 自动建立连接、传输信息并返回来自远程组件的答复。d c o m 在组件 中的作用有如p c 机间通信的p c i 和i s a 总线,负责各种组件之间的信息传递,如 果没有d c o m ,则达不到分布计算环境的要求。微软通过纳入事务处理服务、更 容易的编程以及对u n i x 和其它平台的支持扩充了d c o m 。 建立d c o m 时和使用c o m 建立对象的方式是相同的,只需再加入一个机器 名称的参数。如果c o m 通过w i n d o w s a p i 的c o g e t c l a s s o b j e c t 建立对象,只需再 输入机器名称的参数即可在远程指定的计算机中建立对象,并且取得指定接口的 信息。它构造于r p c 的技术之上,并且使用t c p i p 作为网络通信协议。 c o m + 倡导一种新的设计概念,把c o m 组件提升到应用层,把底层细节留给 操作系统,使c o m + 与操作系统的结合更加紧密。c o m + 的底层结构仍然以c o m 为基础,但在应用方式上则更多地继承了m t s ( m i c s o rt r a n s a c t i o ns e r v e r ) 的处 理机制,包括m t s 的对缘环境、安全模型、配置管理等。c o m 十把c o m 、d c o m 和m t s 三者有机地统一起来,同时也新增了一些服务,如负载平衡、内存数据库、 事件模型、队列服务等,形成一个概念新、功能强的组件体系结构,使得c o m + 形成真正适合于企业应用的组件技术。 c o m + 最具特色的系统服务有的从m t s 继承过来,如事务、对象池、安全模 型以及管理特性,有的是新增加的,如队列组件、负载平衡、内存数据库和事件 服务。c o m + 以系统服务的形式提供应用有多方面的好处,其一,客户或者组件程 序直接利用系统服务,避免底层细节处理,减少开发成本,降低编码量;其二,有 些系统服务涉及到较复杂的逻辑,如需进行底层系统资源的访问,应用层较难实 现;其三,使用系统服务可增强可靠性。 i7 3 2c o r b a 技术 公共对象请求代理体系结构c o 砒拾( c o m m o no b j e c tr e q u e s to b j e c t a r c h i t e c t u r e ) 是由o m g ( o b j e c tm a i l a g e m e n tg r o u p ) 组织制定的一个工业规范。 o m g 组织的中心任务是基于实用的对象技术,建立一个体系结构和一组规范,在 分布式环境下实现应用的集成,使得基于对象的软件成员在分布异构环境中可重 用、可移植和可互操作。 c o r b a 规范是开放分布式处理发展到一定程度,在现有技术和认识条件下的 产物,它的出现具有必然性,更具有重要性。 l ,现有分布式处理技术的不足 r p c ( 远程过程调用) 是i s o o s i 组织制定的关于远程过程通信的标准,d c e ( 分布式计算环境) 是基于r p c 机制实现分布式计算的标准,在标准颁布的时候, 岜们确实对分布式处理的发展起到了积极的推动作用,但是随着新应用、新技术 和新需求的出现,它们开始变得有些不适应,主要存在的明显的不足之处有:1 ) 虽 然是按照客户服务器模式构建的系统,但是客户程序和服务器程序之间的调用关 系是静态的,例如客户程序必须事先知道所需服务由哪个服务器提供,调用的具 体方式是怎样的。2 ) 调用关系的静态性质导致了所构建的系统也是静态的,也就 是说,一旦有程序发生改变( 尤
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新型汽车典当借款业务协议书
- 2025年度电力施工废弃物处理合同范本
- 2025年度保密协议范本:数据安全保密协议
- 2025版进口货物军事物资运输与安全保密合同
- 2025版铺面出租与品牌战略合作合同
- 2025版速冻粘玉米电商平台品牌形象设计与推广合同
- 2025茶青期货交易市场参与协议
- 2025船舶码头船舶垃圾收集与处理合同
- 2025年度城市景观改造土石方爆破作业合同
- 2025版商标注册代理及国际保护合同
- 学校门卫岗位职责及管理制度
- JJG 1105-2015氨气检测仪
- GB/T 8118-2010电弧焊机通用技术条件
- GB/T 17421.7-2016机床检验通则第7部分:回转轴线的几何精度
- 呆滞物料预防与处理(精益培训)
- 《中式面点制作第二版》教案高教版
- 看门狗定时器
- 质量整改通知单(样板)
- 进展性脑卒中的诊疗策略课件
- 2020届高三北京高考“多文本阅读”总攻略
- (高职)中外民俗电子课件(全套)
评论
0/150
提交评论