已阅读5页,还剩58页未读, 继续免费阅读
(计算机科学与技术专业论文)基于xml数据库的中间件的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
| | ,:、 、 一t 本人声明所 成果。尽我所知 包含其他人已经 教育机构的学位 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 - 本人签名: , 日期:望! ! :垒:! 里 关于论文使用授权的说明 本人完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在 校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校 可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。 本人签名: 导师签名: 墨丝 一日期: 弘| o 弓 - 奄 、, 。j_, 基于x m l 数据库的中间件的研究与实现 摘要 s a a s 软件服务模式通过将离散的软件买断模式转化为集中的软 件租用模式,使用者可以根据自己的业务特点和需要灵活的定制数据 库的相关功能。同时中间件的发展为s a a s 模式提供了新的思路,它 能有效地屏蔽对不同数据库系统的访问方法和用户接口,为用户提供 一个访问异构平台的分布式数据库的公共接口。由于x m l 数据库简 单,动态可扩,且提供多用户、w e b 服务的平台数据存储兼容性。这 种数据库提供了相对廉价的设计存储平台,并拥有庞大的扩充潜力。 用户通常只需用多少就给多少,而其需求增长时配额能随之而增。与 此同时,供应商能基于总用量动态扩充平台,整个平台的大小几乎不 受限制,由此引出研究的必要性。所以我们说x m l 数据库是s a a s 平 台的最佳搭档。 本文致力于研究基于x m l 的数据库中间件的设计与应用问题。它 能为应用程序提供便利的x m l 与关系数据库的双向访问。本文首先探 讨了x m l 数据库的特点、优点和发展趋势,并指出各种独立应用软件、 w e b 数据库( 体现在数据收集与发布) 、异构数据库集成都越来越多地 以x m l 作为数据格式。在此基础上探讨了x m l 用于数据存储与表示时, 它与关系数据库的比较,及它们之间的转换等。 本文成果为设计和实现了基于x m l 数据库的数据库中间件系统, 从异构集成的角度出发,利用x m l ,c o r b a ,j a v a 技术,以x m l 作为 公共数据模型,为用户提供一个统一的查询接口,而且查询结果以 x m l 格式输出。系统具有以下主要模块:客户端适配与通讯、用户与 连接管理、主控模块、压缩解压、x m l 与关系数据库的模式映射及数 据迁移等。基于应用需求、中间件特性、应用灵活性来考虑,分析了 各模块设计思路。并指出本中间件比较其它数据库中间件的特点和优 点。本文进一步详细讲述各模块基于j a v a 的实现。如:系统配置管 理模块,通讯适配器线程,主控线程,系统管理监控进程,缓冲管理 模块,模式映射等。 关键词:x m l 数据库中间件s a a s 模式映射智能表单 :,jj运+ _ l d e s i g na n di m 田l e 匝n t a t i o no fm i d d l e 厂a r ef o r x m i ,d a t a b a s e s a bs t r a c t s a a ss o f t w a r es e r v i c ep a t t e r n 仃a n s f o r m sd i s c r e t es o f t w a r ep u r c h a s em o d e li n t o s o f t w a r er e n t a lm o d e l t h eu s e rc a nc u s t o m i z ed a t a b a s e a c c o r d i n gt o t h e i r c h a r a c t e r i s t i c sa n dn e e d sf l e x i b l y t h ed e v e l o p m e n to fm i d d l e w a r el i g h t st h ef u s i o n a m o n gt h eh e t e r o g e n e o u ss o f t w a r ea r c h i t e c t u r e s i tc a na v a i l a b l yw r a pt od i f f e r e n t d a t a b a s es y s t e m sm e t h o d sa n di n t e r f a c e s p r o v i d es e v e r a lp u b l i ci n t e r f a c e sf o ri t s c l i e n tt ov i s i tt h ed i s t r i b u t e dd a t a b a s e si nt h eh e t e r o g e n e o u sp l a t f o r n l b e c a u s eo ft h e x m ld a t a b a s ed y n a m i c a l l ye x p a n s i o n i t sv o l u m eo fp l a t f o r mi sn o tl i m i t e d t l l i s d a t a b a s ep r o v i d e sr e l a t i v e l yc h e a p e rd e s i g na n ds t o r a g ep l a t f 0 1 1 1 1 s ot h a tu s e r sn e e d o n l yw h a tt h e ya c t u a l l yw i l lc o n s u m e ,l c a d i n gt ot h en e e df o rt h er e s e a r c h h e n c e , x m ld a t a b a s ei sr e f e r r e dt oa sp e r f e c tp a r t n e rf o rs a a s t h er e s e a r c hb a s e do nt h ex m ld a t a b a s em i d d l e w a r ed e s i g na n da p p l i c a t i o ni s p r o p o s e di nt h i sp a p e r t h em i d d l e w a r ew i l lf a c i l i t a t ep r o c e d u r e sf o rt h eu s eo f ) ( m l a n dr e l a t i o n a ld a t a b a s ea c c e s si nb o t hd i r e c t i o n s f i r s t l y , t h ex m ld a t a b a s e sf e a t u r e s a d v a n t a g e sa n dd e v e l o p m e n tt r e n d sa r ee x a m i n e di nt h ea r t i c l e a n da l s o ,av a r i e t yo f i n d e p e n d e n ta p p l i c a t i o ns o f t w a r e w e bd a t a b a s e ( r e f l e c t e di nt h ed a t ac o l l e c t i o na n d d i s s e m i n a t i o n ) a n dt h em o r ef r e q u e n t l yu s eo fx m lf o r m a ti nh e t e r o g e n e o u s d a t a b a s ei n t e g r a t i o na r en o t e d f i n a l l y , t h ex m li sc o m p a r e dw i t ht h er e l a t i o n a l d a t a b a s ea n dt h e i rr e l a t i o n s h i pw h e ni ti su s e df o rd a t as t o r a g ea n de x p r e s s i o n t h em i d d l e w a r ef o rx m ld a t a b a s e si s d e s i g n e di n t h i sp r o j e c t f r o mt h e p e r s p e c t i v e o fh e t e r o g e n e o u s i n t e g r a t i o n ,i tu t i l i z e sx m l ,c o r b aa n dj a v a t e c h n o l o g yb yu s i n gx m la st h ec o m m o nd a t am o d e lt op r o v i d eu s e r sau n i q u e s e a r c hi n t e r f a c e t h ef o l l o w i n gm a i nm o d u l e sa r ed e s i g n e di nt h i sa r t i c l e :t h ec l i e n t a d a p t e ra n dc o m m u n i c a t i o n ,u s e ra n dc o n n e c t i o nm a n a g e m e n t ,c o n t r o lm o d u l e s , c o m p r e s s i o nd e c o m p r e s s i o n x m la n dr e l a t i o n a ld a t a b a s es c h e m am a p p i n ga n dd a t a m i g r a t i o n t h ea p p l i c a t i o ni sc o n s i d e r e db a s i n go nt h ea p p l i c a t i o nr e q u i r e m e n t sa n d m i d d l e w a r ef e a t u r e sf l e x i b i l i t y a n dt h e d a t a b a s em i d d l e w a r ea r ec o m p a r e dw i t h c h a r a c t e r i s t i c sa n da d v a n t a g e so fx m l o t h e rd a t a b a s em i d d l e w a r e t h em o d u l e b a s e do nt h ei m p l e m e n t a t i o no fj a v ai se x p o u n d e di nd e t a i l ,s u c ha s :s y s t e m c o n f i g u r a t i o nm a n a g e m e n tm o d u l e ,c o m m u n i c a t i o na d a p t e rt h r e a d s ,t h r e a dc o n t r o l , s y s t e mm a n a g e m e n ta n dm o n i t o r i n gp r o c e s s , b u f f e rm a n a g e m e n tm o d u l e sa n d m a p p i n gm o d e k e y w o r d s x m l ,d a t a b a s em i d d l e w a r e ,s a a s ,s c h e m am a p p i n g , s m a r tf o r m 目录 第一章绪论1 1 1 研究背景l 1 2 研究内容2 1 3 本文组织结构3 第二章x m l 和数据库中间件技术4 2 1x m l 技术4 2 1 1 ) 【m l 概述4 2 1 2x m l 概念与主要技术5 2 2 中间件技术9 2 2 1 中间件技术综述9 2 2 2 数据库中间件技术1 4 2 3 本章小结1 7 第三章x m l 数据库中间件的总体设计1 8 3 1x m l 数据库中间件体系结构1 8 3 2x m l 数据库中问件模块设计2 1 3 2 1 中间件客户端中工作流程设计2 1 3 2 2 中间件客户端的模块设计2 2 3 2 3 中间件服务器端的设计2 6 3 3 本章小结2 8 第四章数据库中间件的详细设计与实现2 9 4 1 中间件客户端的实现2 9 4 1 1 中间件客户端与业务处理系统接口参数的处理2 9 4 1 2 中间件客户端和中间件服务器端通信接口的定义3 0 4 1 3 中间件客户端调用中间件对象服务器端的实现3 l 4 1 4 中间件客户端解析封装调用结果的实现3 l 4 1 5 缓冲管理模块的实现3 2 4 2 中间件服务器端的实现3 2 4 2 1 数据库连接初始化的实现3 2 4 2 2 对中间件客户端远程调用的实现3 4 4 3 本章小结3 6 第五章基于开源数据库的应用实例分析智能表单管理平台3 7 7 8 1 2 5 3 3 4 4 4 一 一口 一 一一一接一一 y 。自 - j 一一件一一 一 一问一一一中一一一一库一一 一 一据一 一一一数一一一一本一一一一的一一一一用一一 景计调置行背设所配一运用统台统统应系平系系 1 2 3 4 5 5 5 5 5 5 5 6 本章小结4 8 第六章结束语5 0 6 1 论文工作总结5 0 6 2 问题和展望5 0 参考文献5 2 致谢5 3 攻读学位期间发表的学术论文5 4 一 一 - : 曩 - c o 北京邮电大学硕士学位论文 1 1 研究背景 第一章绪论 近年来,一种通过在线软件使用的服务越来越受到企业广泛的关注。一时间 a s p 服务、软件租用、月租型软件、托管型软件、在线软件充斥着软件世界,而 月租型c r m 、在线o a 、托管型e r p 更是让人耳目一新。一个逐渐进入人们视 野之中的名词“s a a s ”正悄悄地带来一场软件服务行业的革命。 在传统的应用程序部署模式中,企业得到一个永久性的软件许可证,并且假 设了软件执行和运行的职责,这对最终用户是很多不利的,因为软件在购买之前 是模糊的和不透明的。重要的是,企业购买者对软件的成本、复杂性以及从自己 的投资中认识到价值所需的时间的不满在不断的增加,这使得他们灰心丧气并且 去寻求一种更好的方法。l l j s a a s ( s o f t w a r ea sas e r v i c e ) 一一“软件即服务 是一种新型的软件服务模式, 企业用户通过软件服务商提供的网站可以了解到自己花多少钱,可以得到多少应 用功能的软件服务,并通过在线试用,确定在符合自己需求的基础上,购买软件 服务,并通过互联网络来在线使用这种服务。因此这种服务模式具有集中式、规 模化的特性。 在设计s a a s 系统的数据模型时出于服务客户及减低开发成本等考虑,在数 据的共享和隔离之间求得一定的平衡是必须考虑的一个重要因索。一般而言, s a a s 系统的数据模型有三种形式。 1 独立数据库将每个客户的数据单独存放在一个独立数据库, 2 共享数据库单独模式所有客户使用同一数据库,但各自拥有一套不 同的数据表组合存在于其单独的模式之内。 3 共享数据库共享模式用一个数据库和一套数据表来存放所有客户的 数据。 在这三种数据模型中,共享模式具有最低的硬件成本和维护成本,而且每台 服务器可以支持最大数量的客户。但是由于所有客户使用同一套数据表,每个用 户租用的软件服务都不相同,且可能是系统功能的很小一部分,因此可能会造成 极大的存储空间浪费。同时需要在保证数据安全性上花费更多额外的开发成本, 以确保一个客户永远不会因系统异常而访问到其他客户的数据。这些缺点使得这 一模型并无法达到节约成本的目的。 然而,这些缺点之所以存在,是由关系数据库的局限性导致的。而键值数据 北京邮电大学硕士学位论文 库可以解决这些问题。而键值数据库应用最广泛的代表就是x m l 数据库。【2 】 x m l 数据库是面向项目的,这意味着所有与项目有关的数据都被存储进该 项目中。一个域( 可以把它视为表) 可以包含大量不同的项目。比如说,一个域 里可以同时包含客户项目和定单项目。这意味着在一个域内,不同项目间的数据 通常是重复的。这在实践上是可行的,因为磁盘空间相对廉价。但这个模型允许 一个单一的项目包含完所有相关数据,就可以通过消除对多表的数据连接的需求 来改善可扩性。而在关系数据库中,那样的数据需要被连接到一起,以便能重组 为相关属性。 由于x m l 数据库简单,动态可扩,且提供多用户、w e b 服务的平台数据存 储兼容性。这种数据库提供了相对廉价的设计存储平台,并拥有庞大的扩充潜力。 用户通常只需用多少就给多少,而其需求增长时配额能随之而增。与此同时,供 应商能基于总用量动态扩充平台,整个平台的大小几乎不受限制。 所以我们说x m l 数据库是s a a s 平台的最佳搭档。 1 2 研究内容 当前x m l 数据库的需求随着云的出现已经越来越大,相应的,对x m l 数 据库的使用也越来越广泛。但是,传统的编程人员对x m l 数据库并不熟悉,这 就使得他们对向x m l 数据库的转型感到力不从心。本中间件将不仅可用于b s 模式,还可用于c s 模式。更一般地,它将为应用程序开发者提供便利的x m l 数据库的双向访问,兼有传统非x m l 应用中异构数据库集成能力,解决了应用 系统的平台独立性、客户无关性、数据库访问性能以及系统的适应性和可伸缩性 等几个方面的问题,将为大型应用、企业集成和遗留系统的现代化改造带来极大 效益。 本文研究的数据库中间件实质上是一个将x m l 数据库中的数据提取出来, 经过处理和转换,得到符合目标数据源结构格式的数据并加载到目标数据源中的 过程及其逆操作的过程。在顺利实现数据交换,一个重要的问题就是如何消除两 端数据的差异性,即解决数据在结构和语义上的不同。由于目前市场上x m l 数 据库的应用场合已经非常广泛,在本文中,主要考虑兼容x m l :d ba p i 的x m l 数据库作为数据源时的情况。此外,随着业务需求的发展变化,可能随时会有新 的数据源加入到数据交换的队伍中来,或者是需要对己有的数据交换进行修改。 如何随需而变,灵活配置就是在数据交换中须解决的另一个关键问题。 综上所述,本论文主要研究的有以下一些具体内容: 1 系统结构设计 2 源数据结构与x m l 模式的映射 2 一 一 北京邮电大学硕士学位论文 3 研究如何把s q l 命令转化为x q u e r y 等,以与x m l 数据库交互 4 研究如何把面向对象的操作转化为x q u e r y 等,以与x m l 数据库交互 5 设计适配不同场合、不同客户端的方案。既能作为本地组件使用,又能 作为中间件服务程序运行 6 性能优化,对用户连接、数据库连接、x m l 文档和映射信息的缓存和管 理 7 加入压缩功能,以减少网络流量,提高传输速度,系统配置及监控 迄今为止,应用于x m l 数据库的数据库中间件在国内尚属空白。数据库系统 是除操作系统外最重要的核心软件,也是我国信息化建设中需求量最大、应用最 广泛的基础性软件。但中国数据库软件市场主导者一直是国外厂商。我国信息化 建设的深入,w t o 的加入都迫切需要中国人在数据库软件上有所作为。因此,本 x m l 数据库中间件,希望能为国产数据库的发展做出贡献。 1 3 本文组织结构 本文以“课题提出背景知识概要设计详细设计与实现应 用”的顺序来论述的。详细结构为: 1 、第一章绪论,主要介绍课题背景和研究内容。 2 、第二章x m l 和中间件技术,详细讲解作为本数据库中间件的核心知识 之一的x m l ,以及作为指导思想的中问件技术。 3 、第三章系统设计,介绍了数据库中间件的设计,包括应用结构和系统结 构和建模。重点阐述系统设计思路及其来源。 4 、第四章详细设计,详细讲解系统各模块的一些重点实现细节。 5 、第五章应用与配置和实例应用分析,主要介绍智能表单管理平台中x m l 数据库中间件的实现情况。 6 、第六章总结,回顾问题与总结论文内容,讨论不足展望未来。 北京邮电大学硕士学位论文 第二章x m l 和数据库中间件技术 x m l 技术能够成功的解决s a a s 模式所需要的扩充性的问题。而数据库中间 件技术则能够解决底层数据库的异构问题。下面就分别介绍它们的相关特性,以 展示采用这两行技术的必要性。 2 1x m l 技术 简单地说,x m l 是一种界定文本数据的简单而标准的方法,是继承自s g m l 的可扩展的标记语言。 2 1 1x m l 概述 i b m 最初为解决公司内部文档交换与存取而发明了通用标记语言g m l ( g e n e r a l i z e dm a r k u pl a n g u a g e ) 。后来完善为s g m l ( s t a n d a r dg e n e r a l i z e d m a r k u pl a n g u a g e ) 。s g m l 应用有以下特征【3 】: 1 、文档类型定义( d t d ) 提供一组语法规则,必须遵守该规则,文档才有效。 2 、s g m l 规范指出文档中合法的字符和定界符。 3 、描述d t d 框架中提及的标记语义和限制规范。 4 、有包含实际数据和标记的文档实例。 s g m l 定义的语言实例中,最流行的要数h t m l ( h y p e rt e x tm a r k u p l a n g u a g e ) 。但是h t 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 ) 借鉴h t m l ,继承s g m l 多数内容。 当前由w 3 c 发布的关于x m l 的标准就有十多种,由其衍生的标准达上百种。 1 、x m l 有以下设计目标: 1 ) 可以直接应用于i n t e m e t 。2 ) 支持各种应用程序。3 ) 与s g m l 兼容。4 ) 编写处理x m l 的应用程序很简单。5 ) x m l 中可选特性的数目尽可能地少,理 想情况是零。6 ) x m l 文档应该便于阅读,结构清晰。7 ) x m l 本身规则不复杂。 8 ) x m l 文档易于创建。9 ) x m l 标一记必须具有明确含义。 2 、x m l 有以下的特点: 1 ) x m l 是开放的,平台无关的。能在不同用户程序之间交换数据。2 ) 自描 述性。h t m l 主要用于控制数据的显示和外观,x m l 定义数据本身结构和数据 类型。3 ) 无须事先协调就可以在程序之间共享数据。4 ) x m l 是元标记语言, 由它定义了许多新的标记语言。如x h t m l ,用于矢量图形的s v c ,用于表示多 媒体效果的s m i t ,用于电子书的o e b ,用于手机上网的w m l 和h d m l 等等。 4 一 一 ” 北京邮电大学硕士学位论文 5 ) 是文本化的小型数据库表达语言。可应用成为一个中间层的虚拟数据库。6 ) 是信息的高层封装与传输标准,也是不同应用系统之间的数据接口标准,是所有 信息的中间层表示及中间层应用服务器的通用数据接口,甚至可以用于数据仓库 技术的信息迁移过程和数据库报告格式中。7 ) 是信息的对象化语言。d t d s c h e m a 是接口或类( i n t e r f a c e c l a s s ) x m l 是实例和方法定义( i m p l e m e n t m e t h o d ) 。8 ) 是不同数据结构体的文本化描述语言,可以描述线性表、树、图等结构。9 ) j a v a 解决了语言实施的统一,c o r b a 解决了通信协议的统一,x m l 解决了信息表 示及关联的统一,面向对象是三者共有的理论基础。 2 1 2x m l 概念与主要技术 x m l 主要包括这些技术( 内容) :x m l 文档( 结构与语法) 、文档类型定义( d t d 和s c h e m a ) 、文档对象模型d o m 、链接与查询技术、文档表现技术x s l t 4 1 。 ( 1 ) 基本概念 关于x m l 有两个最基本概念 1 、任何x m l 文档对任何类型的应用以及正确的解析都必须有良好的结构 ( w e l l f o r m e d ) 。结构良好是指:符合句法,即每个打开标签都必须有匹配的结 束标签,不得有次序顺倒的标签,句法构成应符合技术规范的要求。 2 、x m l 文档可以是有效的( v a l i d ) ,但并非一定要求有效。有效性是指:符合 其文档类型定义( d t d ) 。x m l 文档也可以用一种模式( s c h e m a ,见后) 来约束。 如果文档符合一个模式的规定,这个文档称为是“模式有效的”( s c h e m a v a l i d ) 。 x m l 语法实质上描述了用来定义x m l 文档的结构和布局的构造,当然就包含 了约束关系。 1 ) 名字空间( n a m e s p a c e ) 提供了一种统一命名x m l 文档中的元素和属性的机制( 主要是为了解决命 名冲突问题) 。核心是元素前缀与u r i ( 统一资源标识符) 之间的一种映射关系。 2 ) x p a t h x p a t h 是处理x m l 文档部分的一种语法和处理模型,它包括一些通用表达 式语言的特性,被设计成一种小型的语言,以便在x m l 系统中进行应用程序中 立的处理。它是一个独立的技术规范,但它是x s l t ( 转换语言) 的核心。x p a t h 技术规范定义了如何定位一个x m l 文档中的特定条目。这是通过参考x m l 文 档中的特定节点来完成的。在x p a t h 技术规范中,一个x m l 文档被认为是一个 节点树。树中每个节点都可通过详细描述该节点在树中的位置进行存取操作。 3 ) d t d d t d 为一个x m l 文档建立了一套规则,否则x m l 文档对其它程序员来说 是无用的。事实上是d t d 给x m l 数据带来了可移植的特性。 北京邮电大学硕士学位论文 4 ) x m ls c h e m a d t d 有一些相当重要的限制:它没有层次的概念,很难处理名字空间的冲突, 无法指定x m l 文档之间的关系,这已成了开发的瓶颈了。 x m ls c h e m a 提供了一种以x m l 为中心的方式来限制x m l 文档。 5 ) p i x m l 文档中的p i 是指处理指令( p r o c e s s i n gi n s t r u c t i o n ) ,处理指令指示应用 程序执行一些特定任务。虽然它在x m l 文档中占有比例很小,但却有举足轻重 的分量。x m l 使用的处理指令只能是解析器可识别的x m l 标准处理命令中的 一部分。 6 ) x s l x s l 能够改变及转换一种x m l 格式的x m l 数据,使其变成另一种x m l 格式。如果一个x m l 文档需要被转换成另外一种表示形式,x s l 是一条捷径。 它所采用的办法可以与用j a v a 写一个将数据转换成p d f 或h t m l 文档的小程序 相提并论,而且还提供了一个标准接口。 ( 2 ) x m l 文档与数据描述 逻辑结构:文件系统中各个不同部分的组织结构,代表文件的组织方式,而 不是文件的实际内容。如同一个模板,说明在该文件中包含的元素及其顺序。 一个x m l 文档包含以下逻辑内容:声明、处理指令、标记、元素( 简单类 型,复杂类型,根元素) 、属性、注释。 实体结构:是一个声明,指定了在x m l 中取代内容或标一记而使用的名称, x m l 文件的实体结构由文件中的所有内容组成。实体分为常规实体、参数实体 ( 仅在d t d 中使用) 。常规实体又分为:字符实体( 单个字符) 、混合内容实体 ( 长度不限) 、未分析实体( 声音、图像等) 。 一个正式的x m l 文档由三个部分组成:一个可选的序言( p r o l o g ) 、文档的 主体( b o d y ) 、可选的的尾声( e p i l o g ) 。 元素:是x m l 标记的基本组成部分。他们可以包含其它的元素、字符数据、 字符引用、实体引用、p i 、注释和或c d a t a 部分一这些合在一起被称为元素内 容( e l e m e n tc o n t e n t ) 。 1 ) 字符数据 就是任何不是标记的文本,它是元素或属性值的文本内容。 2 ) 属性 在很多情况下,我们会希望将某些信息附着在元素上,他们与元素本身包含 的信息内容有所不同。我们利用属性( a t t r i b u t e ) 来做到这一点,他们都包括一 个名一值组合,使用的格式如 。 6 砖 一 一 3 ) 字符引用和实体引用 这是x m l 为显示非a s c i i 码字符集中的字符提供的两种方法。 字符引用用来表示一个可显示的字符,它由十进制或十六进制的数字前面加 上“& 群 ,后面紧跟分号“; 组成。 实体引用允许在元素内容或属性值中插入任何字符串,这就为字符引用提供 了一种助一记的替代方式。由一个合法的x m l 名字,前面加一个符号“& ,后 面跟着一个分号“;”。例如:& n a m e 。 4 ) 处理指令( p i ) 既然x m l 是一种描述性的标记语言,它并不假设元素或者其内容的处理方 法。这是一种非常强大的优势,因为它提供了显示的灵活性,以及针对应用程序 和操作系统的独立性。但是,我们会发现经常需要把某些信息通过文档传递给应 用程序。处理指令就是x m l 为此目的提供的一种机制。 5 ) 注释 这种机制可在文档中插入提示,或者叫注释( c o m m e n t ) 。这些注释可能提供 修订记录、历史信息或者其它的可能对创建者或文档编辑者来说有着特殊意义但 又不是真正的文档内容的元数据。x m l 注释的基本语法是 。 6 ) c d a t a 部分 c d a t a 部分是一种用来包含文本的方法,其对象是那些其中的字符如果不 标注c d a t a 就会被识别为标记的文本。c d a t a 部分的基本语法是 。 ( 3 ) 模式:d t d 与s c h e m a 一个格式良好的x m l 文件,没有语法错误,但是,对于特定的应用,它却 可能包含语义上的错误,如 a b c d 。所以我们需要有一套规则来规 范文档,使之符合应用需要。定义这种规则的机制,我们称之为模式语言。 x m l 的模式语一言有很多,x m l1 0 自己定义的d t d ( 比较原始了) ,w 3 c x m ls c h e m a ( w x s ,本文中有时直接你为s c h e m a ) ,r e l a x n g 等。有许多 工具可以对它们进行转化【6 】。本文中只讨论前两者。 l 、d t d 文档类型定义允许您指定x m l 文档的基本结构,它能一定程度地确保x m l 文 档有效性。 1 ) 元素声明 语法: 规则r u l e :( a ) a n y 规则:声明元素可包含d t d 认可的任何数据,或空。( b ) e m p t y 7 北京邮电大学硕士学位论文 规则:必须不包含任何数据。( c ) # p c d a t a 规则:可解析的文本数据。 顺序运算符:逗号表示按顺序的列表。竖线符号表示选择列表,你只能从列表选 择一项。 元组运算符:问号表示这一项可以出现0 次或1 次。星号表示这一项可以出现0 次或任意次。加号表示这一项出现至少1 次或任意次。 2 ) 属性声明 语法: 声明元素属性需要声明元素名、属性名、属性类型和属性默认值。常见的属 性值类型如表2 1 所示,属性默认值的取值如表2 2 所示。 表2 - 1 属性值类型 属性值类型含义 c d a t a 字符串 i d 唯一元素标识符 i d r e f对具有i d 属性的元素的引用 i d r e f s以空格分隔的i d r e f 的集合 e n t i t y指向在d t d 中定义的外部实体声明 e n t i t i e s以空格分隔的e n t i t y 的集合 n m t o k e n一个有效的x m l 记号名称 n m t o k e n s以空格分隔的n m t o k e n 的集合 n o t a t i o n指向在d t d 中定义的表示法的声明 枚举类型必须与显式定义的值之一匹配的属性值 表2 - 2 属性默认值 属性默认值含义 # r e q u i r e d元素的每个实例必须包含该属性 群i m p l i e d元素实例可以选择包含该属性 拌f d ( e d 属性值固定 提供了默认值 3 ) 实体声明 语法:通用实体: ,引用:& 实体名称。 参数实体: ,引用:实体名称。 2 、s c h e m a s c h e m a 对d t d 的主要比较优势:( a ) 一致性和规范性,使用x m l 语法。 ( b ) 支持更多的( 3 7 种) 数据类型,还可用户定义。( c ) 扩展性。( d ) 有更强 的表达能力。( e ) 支持命名空间。( f ) 互换性。当然,它的缺点是过于复杂。篇 幅所限,在此不详细展开。 ( 4 ) 编程接口 x m l 有许多a p i 可以使用。其中文档对象模型d o m ( d o c u m e n to b j e c t m o d e l ) 和s a x ( s i m p l ea p if o rx m l ) 最为基本。而j a v a 还有j d o m 和用于 8 p i 一一 样 北京邮电大学硕士学位论文 x m l 解析的j a x p ( j a v a a p if o rx m lp a r s i n g ) 。 l 、s a x 社区规范,是一种事件驱动的a p i 。x m l 标记的不同部分( 如起始和结束标 签、文本、实体) 触发特殊的事件,开发人员为这些事件注册处理程序代码。然 后,解析器根据输入的x m l 发出事件流,处理程序将依次处理这些事件。 2 、d o m 文档对象模型,是w 3 c 推荐标准,可用于直接访问x m l 文档的各个部分。 在d o m 中,文档被模型化为一棵树,其中每个x m l 语法成分( 如元素和文本 内容) 都用一个节点表示。d o m 也是一种a p i ,允许您在这种树中导航,在各 个节点之间移动,并利用特定节点类型的特性( 比如,元素可以有属性,而文本 节点有文本数据) 。 3 、j d o m j d o m 结合了d o m 和s a x 的优点。它被设计成一个可以在小内存上快速执 行轻量级a p i 。j d o m 也支持随机读取整个文档,但是它并不需要把整个文档读 到内存中。这个a p l 支持未来的当需要时才读入信息的次轻量级操作。此外, j d o m 通过标准的构造器和s e t 方法支持x m l 文档的修改。另一方面,j d o m 可以和己有的x m l 技术如s a x 和d o m 相互协作然而,它并不是简单的从这 些a p i 中提取出一些。j d o m 从这些己存在的技术中吸收了好的方面,自己建立 了一套新的类和接口。j d o m 可以读入s a x 或是d o m 的内容,也可以输出s a x 或d o m 可以接收的格式。这个能力可以使j d o m 很好的和已有的用s a x 或 d o m 建立的系统之间整合。 2 2 中间件技术 数据库中间件技术属于中间件技术的一种,下面首先介绍中间件技术。 2 2 1 中间件技术综述 ( 1 ) 概念 中间件技术出现以前,开发人员要解决许多非常棘手而又经常重复出现的问 题。比如软件系统日益复杂,甚至可能在一个企业应用中会涉及到不同的操作系 统、不同的数据库、不同的网络环境。整合这些异质系统的一个优秀方案便是使 用中间件。多层结构的分布式系统中,需要有处理分布系统特有功能的软件,当 前的系统软件( 操作系统和支撑软件) 都不支持,这也催生了工作于系统软件与 应用软件之间的中间件。中间件作为存在于系统软件与应用之间的特殊层次,抽 象出了典型的应用模式,从而使应用软件开发者将更多精力放在业务逻辑中,并 基于标准的形式进行开发,这样就使软件架构化成为可能,并使软件更充分地复 9 北京邮电大学硕士学位论文 用。换句话说,这类似于操作系统对硬件的屏蔽,使我们在上层的软件设计中, 更有章可循7 1 。 对中间件的定义,当前比较流行的看法是,它是一类独立的系统软件或服务 程序,处于操作系统和应用程序之间,管理计算机资源和网络通信,用于实现( 软 件间的) 互联和互操作,分布式应用软件借助中间件在不同技术之间共享资源。 其功能性定位如图2 1 所示: 图2 1 中间件在系统中的功能 ( 2 ) 功能 中间件的功能主要包括以下方面: 1 、客户与服务器之间的连接和通信( 本中间件功能之一方面) 。 2 、客户机与应用层的通信。 3 、应用层不同服务之间的互操作。 4 、应用层与数据库之间的连接和控制( 本课题主要研究内容) 。 5 、提供一个多层结构应用开发和运行的平台( 本中间件功能之一方面) 。 6 、屏蔽环境和底层( 硬件、操作系统、网络和数据库) 的复杂性和多样性( 本 中间件功能之一方面) 。 7 、提供交易管理机制,保证交易一致性。 8 、应用的负载均衡和高可用性。 9 、安全机制。 ( 3 ) 分类 从层次上分为:基础型中间件( 如s l t nj v m ,m i c r o s o f tc u 之) 、通用型中 间件( 如b e aw e b l o g i c ,i b mm q s e r i e s ) 和集成型中间件( 如b e aw e b l o g i c i n t e g r a t i o n ) 。如图2 2 所示: l o 卜 , 一 一 一 北京邮电大学硕士学位论文 集成型m i d d l e w a r e 通用型m i d d l e w a r e 中间件的高级发展阶段,将应用、门户和业务 流程等因素加入进来,其代表是集成中间件 有十多年的发展历史,其代表技术是以c o r b a 为 主的分布技术体系 i 觥d m i d d l e w a r e 中间件底层构建技术:c l r ,3 v g ,a c e ,其代表 技术是虚拟机 图2 - 2 中间件层次分类图 从功能上分: 数据库中间件( d m ,d a t a b a s em i d d l e w a r e ) 数据库中间件是产生最早,应用最广泛,技术最成熟的一种中间件。它处于 前端客户机和后端数据库之间,负责接收客户端的数据请求,做一些简单处理后, 把请求再传递给相应的后端数据库服务器,进行最后的数据处理,然后,再将结 果由数据库中间件返回给客户端。数据库中间件不单进行与数据库连接等有关数 据库的处理,也可以将传统客户机服务器环境下的客户端进行的应用处理移植 到中间层上,精简客户端,减轻客户端的负担。 远程过程调用( i 冲c ,r e m o t ep r o d u c ec a l l ) 远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使 用r p c 来“远程 执行一个位于不同地址空间里的过程,并且从效果上看和执 行本地调用相同。事实上,一个r p c 应用分为两个部分:s e r v e r 和c l i e n t os e r v e r 提供一个或多个远程过程:c l i e n t 向s e r v e r 发出远程调用。s e r v e :和c l i e n t 可以 位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。 它们通过网络进行通讯。 消息中间件( m o m ,m e s s a g e o r i e n t e dm i d d l e w a r e ) m o m 指的是利用高效可靠的消息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年移动厕所合同
- 国际税收试卷及答案
- 第13课上网玩游戏(教案)一年级上册信息技术人教版
- 2025年老年人健康照护职业技能培训考试试题及答案
- 全国事业单位联考A类职业能力倾向测验真题及答案
- 2025年药房药品分类及存储管理规范考核试题及答案解析
- 小学信息技术浙教版 (广西)第四册(六年级)第11课 机器人仿真软件教学设计
- Unit 4 A day at a children's palace教学设计-2025-2026学年小学英语新魔法英语New Magic四年级上册-新魔法英语(New Magic)
- 2025年食品安全试题及答案解析
- 麻醉药品、第一类精神药品处方权资格考核试题(附答案)
- 教学课件 国际结算(第七版)苏宗祥
- GB/T 41973-2022工业通风机平衡品质与振动等级规范
- 中医药健康旅游示范基地项目课件
- 华北理工口腔科学教案
- 三年级上数学老师家长会
- 静压桩施工方案三期
- 可测试性设计DFT课件
- 讯问笔录模板
- [QC]提高铁路转体球铰安装精度
- DB36_T 1152-2019 工业与民用建筑机制砂生产与应用技术规程(高清无水印-可复制)
- 《燃气事故案例分析》PPT课件(67页PPT)
评论
0/150
提交评论