(计算机软件与理论专业论文)有状态的web+services的研究与实现.pdf_第1页
(计算机软件与理论专业论文)有状态的web+services的研究与实现.pdf_第2页
(计算机软件与理论专业论文)有状态的web+services的研究与实现.pdf_第3页
(计算机软件与理论专业论文)有状态的web+services的研究与实现.pdf_第4页
(计算机软件与理论专业论文)有状态的web+services的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

p u 川人学埘学位论立 有状态的w e bs e r v i c e s 的研究与实现 计算机软件与理论 研究生周先涛 摘 指导老师唐宁九 要 随着企业规模的日益扩大,企业的应用系统越来越多,每一个系统都有各 自的用户资源,为了实现各个系统用户的共享和提高应用系统的利用率,并降 低用户操作的复杂程度,作者参与了公共信息服务平台项目的开发。该项目主 要是将所有的应用系统纳入到一个公共的平台之上,并向应用系统提供用户注 册和验证服务、消息服务、公共信息服务、企业结构信息服务等其它的服务。 由于w e bs e r v i c e s 简单和跨平台特征,无疑是集成这些应用系统的最好的选择。 该平台就是利用w e bs e r v i c e s 来向所有的应用系统提供服务。 w e bs e r v i c e s 虽然能够很好的提供公共信息服务、企业结构信息服务这些没 有状态的服务,但是对于一些有状态的信息,如用户是否在线、在线时长等信 息服务,传统的w e bs e r v i c e s 就不能很好的解决,因为w e bs e r v i c e s 本身不保 存状态。导致不得不在w e bs e r v i c e s 的调用巾要传递大量的状态信息,一方面 安全性不能保证,另一方面浪费了网络资源。 作者以此为研究课题,探讨了w e bs e r v i c e s 技术和相关的协议和标准、以 及n e t 平台上的相关技术:以“公共信息服务平台”为项目背景,研究并实现 了有状态的w e bs e r v i c e s 技术,并将其运用到实践中,取得了非常好的效果。 论文在理论和实践中的主要成果和特色如下: ( 1 ) 介绍了w e bs e r v i c e s 技术及相关协议和标准,其中包括可扩展的标记语 言,w e bs e r v i c e s 描述语言,简单对象访问协议,统一描述、发现与集成协议 等技术和协议,并分析了w e bs e r v i c e s 的协议栈。 ( 2 ) 分析和研究了n e t 平台,重点研究了a s p n e t 的服务机制,以及如何 在a s p n e t 中进行w e bs e r v i c e s 的开发。 ( 3 ) 通过分析当前w e bs e r v i c e s 的不足,提出有状态的w e bs e r v i c e s 的概念, 并在现有技术的基础上,通过数据库方式和单件模式方法来实现有状态的w e b 州川人擘碗l 学位论文 s e r v i c e s ,并将其集成到“公共信息服务平台”中并在有状态的w e bs e r v i c e s 的基础上进一步研究,实现j ,可以双向通信的w e bs e r v i c e s 。 关键词;n e tx m ls o a pw e b 服务 h 旧川人,毗顾l 。学位论义 a s t u d ya n di m p l e m e n to n s t a t e f u lw e bs e r v i c e s c o m p u t e rs o f t w a r e a n dt h e o r y g r a d u a t es t u d e n t :x i a n t a oz h o u a d v i s o r s :n i n g j i ut a n g a b s t r a c t w i t ht h ed e v e l o p m e n to fe n t e r p r i s e ,m o t ea n dm o r ea p p l i c a t i o ns y s t e m sa r e u s e di ne n t e r p r i s e e v e r ya p p l i c a t i o ns y s t e mh a si t so w nu s c rr e s o u r c e ,i no r d e rt o s h a r eu s e ri n f o r m a t i o na n di m p r o v et h eu s a g eo fa p p l i c a t i o ns y s t e m s , a u t h o rt a k e p a r ti nt h ep r o j e c to fp u b l i ci n f o r m a t i o ns e r v i c e sp l a t f o r m t h i sp o r e c tl e t a l l a p p l i c a t i o ns y s t e m si nt h ec o n t r o lo ft h ep l a t f o r m ,a n dp r o v i d e st h eu s e rr e 沓s ta n d v e r i f i c a t i o ns e r v i c e ,m e s s a g es e r v i c e ,p u b l i ci n f o r m a t i o ns e r v i c e ,e n t e r p r i s es t m c t i o n i n f o r m a t i o ns e r v i c ea n do t h e rs e r v i c e sf o ra p p l i c a t i o ns y s t e m s b e c a u s eo fs i m p l i c i t y a n da c r o s sp l a t f o r m ,w e bs e r v i c e si st h eb e s tc h o i c ef o ri n t e g r a t i n ga p p l i c a t i o n s y s t e m s t h i sp l a t f o r mu s e sw e bs e r v i c e st op r o v i d es e r v i c ef o ra l lo ft h ea p p l i c a t i o n s y s t e m s a t h o u g hw e bs e r v i c e sp r o v i d es e r v i c es u c ha sp u b l i ci n f o r m a t i o ns e r v i c e , e n t e r p r i s es t r u c t i o ni n f o r m a t i o nv e r yw e l lf o ra n o t h e rs t a t e f u li n f o r m a t i o n , s u c ha s i sau s e ro n l i n eo rh o wl o n gt h eu s e ro n l i n ea n de t cs e r v i c e s , w e bs e r v i c e sc a nn o t w o r kw e l l b e c a u s ew e bs e r v i c e sd on o tk c e ps t a t e s i no r d e rt os o l v et h i sp r o b l e m ,a u t h o rp r o b ei n t ot h et e c h n o l o g yo fw e bs e r v i c e s a n dc o r r e l a t i v ea g r e e m e n ta n ds t a n d a r d ,t h et e c h n o l o g yo f n e t p l a t f o r m , a n dl e tt h e p u b l i c i n f o r m a t i o ns e r v i c e s p l a t f o r m ”a sp r o j e c tb a c k g r o u n d , r e s e a r c ha n d i m p l e m e n tt h es t a t e f u lw e bs e r v i c e st e c h n o l o g y , a p p l yi ti n t op r a t i c e , a n dg o ta p e r f e c te f f e c t t h ef a l l o w i n gi st h em a i nc h a r a c t e ra n dt a s ko ft h ea r t i c l e f i r s t l y , i n t r o d u c et h ew e bs e r v i c e st e c h n o l o g ya n dc o r r e l a t i v ea g r e e m e n ta n d s t a n d a r d , a n da n a l y s et h ep r o t o c o ls u i t eo fw e bs e r v i c e s 1 1 1 坩川人学碗f 学位论文 s e c o n d l y , a n a l y s ea n ds t u d yt h e n e tp l a t f o r m ,e s p e c i a lt h es e r v i c em e c h a n i s m o f a s r n e t , a n dh o wt od e v e l o pw e bs e r v i c e si na s e n e t t h i r d l y , t h r o u g ha n a l y s et h es h o r t a g eo fc u r r e n tw e bs e r v i c e s , b r i n gu pt h e c o n c e p to fs t a t e f u lw e bs e r v i c e s ,u p o nc u r r e n tt e c h n o l o g y , u s ed a t a b a s ew a ya n d s i n g l e t o np a t t e r nt oi m p l e m e n ts t a t e f n lw e bs e r v i c e s ,a n di n t e g r a t e di n t o “p u b l i c i n f o r m a t i o ns e r v i c e sp l a t f o r m ”u p o ns l a t e f u lw e bs e r v i c e s , b r i n gu ps o m ew a yt o i m p l e m e n tt w o - w a yw e bs e r v i c e s k e y w o r d s :n e t ;x m ks o a p ;w e bs e r v i c e s i v p q 川人学敢i 擘位论文 第一章绪论 1 1概述 随着w e b 应用的不断发展,人们发现在w e b 应用和传统桌面应用之间存在 着连接的鸿沟,人们不得不重复的将数据在w e b 应用和传统的桌面应用之问迁 移,成为阻碍w e b 应用进入主流工作流的一个巨大障碍。随着i n t e r n c t 的发展, 基于i n t e r n c t 的b 2 b 电子商务也不断发展i n t c m e t 为各种类型的商业实体提供了 发现新客户、供应流、新服务的各种机会,使他们利用i n t e m e t 获得了空前的安 全的经济回报,体现了i n t e m e t 的巨大价值各种组织和商业实体都己果断地将 其业务模式转向i n t e r n e t ,且己得到了显著的商业与竞争回报然而,目前大多 数电子商务的应用和基于w e b 的商业服务在处理购买者、供应商、交易市场和 服务提供者之间的联系方式上各不相同。摆在开发人员面前的一个大问题是如 何将这些应用以低代价的方式方便地连接在一起,从而实现大范围的跨企业实 体的商务应用系统对接。不同的应用( 尤其是不同企业的) 其开发语言不同, 部署平台不同,通信协议也可能不同,对外交换的数据格式也有着很大差异 如何去解决语言差异、平台差异、协议差异数据差异所带来的高代价的系统集 成是这个问题的关键。 从1 9 9 8 年开始发展的x m l 技术及其相关技术己证明有可能解决这个问题, 而近期蓬勃发展的w e bs e r v i c e s ( w e b 服务) 技术则正是基于x m i 肢术的针对 这一问题的最佳解决方案w e bs e r v i c e s 的主要目标就是在现有的各种异构平 台的基础上构筑一个通用的与平台无关、语言无关的技术层,各种不同平台之 上的应用依靠这个技术层来实施彼此的连接和集成。 w e bs e r v i c e s 是一项新的应用程序开发技术,它允许分布式应用程序通过网 络共享业务逻辑,即允许针对一个对象在i n t e m e t 和本地网络上使用r e m o t e p r o c e d u r ec a l l ( 远程过程调用,r p c ) w e bs e r v i c e s 并不是第一个这样做的技 术,但是它不同于早期的技术,它能够通过m w 和x m l 等平台无关标准完全 对客户程序实现隐藏实现细节。客户程序需要知道w e bs e r v i c e s 的u r t 和方法 调用使用的数据类型,但是不需要知道w e bs e r v i c e s 是用j a v a g j 建的并运行在 l i n u x 上,还是一个运行在w i n d o w s 平台上的a s p n e tw e bs e r v i c e s 在n e t 州川人掌慷i7 f 芷论文 f r a m e w o r k 平台中,m i c r o s o f t 为w e b s e r v i c e s 提供了强大的支持,尤其是它提供 了许多能够轻松创建和访问w e bs e r v i c e s 的【具。微软的n e t 平台作为新的开 发平台,其战略思想就是把所有设备通过个i n t e r a c t 连接在一起,同时所有的 软件都将成为在该网络上提供的一种服务。一旦w e bs e r v i c e s 得到广泛的应用, 使得各种服务可以动态查找和定位,这样就提供了不同设备之问各种各样的信 息交互方式,将会大大改变商业运做的模式和信息交流的风格。 1 2w e bs e r v i c e s 技术的产生 客户端服务器技术、分布式组件技术的出现解决的一部分企业内部网络上 的应用集成和应用程序的维护问题,但是随着i n t e r n e t 的不断发展,企业应用已 经不局限在使用特定网络协议的企业内部网上,基于i n t e m e t 协议的企业内部网 i l l t 瑚e t 的发展以及跨地域甚至跨企业的建立在i n t c m e t 的应用给现有的分 布式计算技术又提出了新的问题那么,现有的分布式组件技术能不能同样高 效率地在i n t e r a c t 上运行呢? 很遗憾,在w e bs e r v i c e s 之前的各种分布式组件技 术( 无论是c o m d o o m ,还是c o r b a ) 都不能在i n t e r n e t 上很好的工作原因 是多方面的但主要可以归结为下面的两点:一是这些技术本身的复杂性:二 是i n t e m e t 本质上是一个混合体- i n t e m e t 上包括了计算机使用了所有可能的 操作系统、网络以及开发平台 w e bs e n , i c e s 技术正是为了解决分布式计算如何在i n t e m e t 上高效率的运行 这个闯题而产生的w e bs e r v i c e s 通过s o a p ( 简单对象访问协议) 进行通信。 s o a p 是一种轻量级的通信协议,它用x m l 语言来定义其格式,并且在通信传 输上是基于踟陌p m t e m e t 上使用的最为广泛的协议,几乎任何连接在 i n t c m e t 上的计算机都能用h t f p 进行良好的通信。这一点决定了w e bs e r v i c e s 这 种分布式计算技术能够很好的在i n t e r n e t 上运行 2 叫川人学颀l 学位沦史 图1 1w e bs e r v i c e s 的通信机制 图1 1 描述了w e bs e r v i c e s 的这种基于s o a p 、x m l 以及 r r i 甲的通信机制, w c bs e r v i c e s 的数据通信以s o a p 消息为传输单元,而s o a p 消息是用x m 嚆言 进行格式定义的,s o a p 消息在传输层上以基于 唧的数据流的形式在嘲络上 进行传输,到了目的地再还原成s o a p 消息供应用程序或w e bs e r v i c e s 模块使 用。对以上传输机制将在后面章节中进行进一步详细的论述。 1 3w e bs e r v i c e s 的未来发展趋势1 1 l 旱在2 0 0 0 年,全球权威耐亍业研究评论机构g a r t n e rg r o u p 对未来的w e b s e r v i c e s 的发展状况就做出了准确的预测。 2 0 0 1 年,w e bs e r v i c e s 的架构开发工具将被各大开发商开发完毕开发人员 能够购买判这些面向服务的开发工具同时他们将会开始构建实际使用的w 曲 s e r v i c e s 。 2 0 0 3 年,u d d i 注册中心为适应w 曲s e r v i c e s 的发展,会逐渐变得非常重要, 其中的商业数据也越来越丰富。私有的u d d i 注嬲中心将被投入使用以支持内部 的服务信息的交换。而政府的w e bs e r v i c e s ( c g o v e r n m e n t ) 应用也将会不断出 现。 2 0 0 5 年,各类企业将会普遍接受基于w e bs e r v i c e s 的商务应用模式,丽服务 集中的计算模式将会进入青年期。私有的u d d i 注册中心仍然在各类应用中处与 优势地位新的收入模式和商业渠道将到处可见4 0 的金融财务服务事务将 使用w e bs e r v i c e s 模式而3 5 的在线政府服务将以w e bs e r v i c e s 的形式提供。 3 州川人掌蟛! l 学位论文 2 0 0 6 年,公共的u d d i 注| l | 中心作为公共商务信息的交换机制两获得大量的 使用。动态服务同样将大量投入使用。纠时我们看到各大技术提供商都按照 g a r t n e rg r o u p 的预测陆续地推w e bs e r v i c e s 豹构建工具:m i c r o s o f t 的w i n d o w s s e r v e r2 0 0 3 产品家族和v i s u a ls t u d i o n e t ,i b m 的w e b s p h e r es t u d i o 一第一个 由重要厂商发布的支持w e bs e r v i c e s 的工具,该标准为开发互操作w e bs e r v i c e s 应采用的核一t = - , w e bs e r v i c e s 规范制定了实施方针及其s u n 的s u nj a v as t u d i o e n t e r p r i s e 和s u no n ew e bs e r v i c e sp l a t f o r md e v e l o p e re d i t i o n 等 从上述重要产品的发布情况不难看出,基于w e bs e r v i c e s 的公共技术标准 s q p ,w s d t 加d d i w s d l 或是己经成为事实行业标准,或是正在制订的进程 中。各大技术提供商和传统商业企业都将大量的资金、企业开发人员等投入到 了标准的制定和应用的架构中去。作为w e bs e r v i c e s 的体系架构的领导者i b m 和 m i c r o s o f t 也开始在全球推广和领跑w e bs e r v i c e s 技术。我们有理由相信w c b s e r v i c e s 将成为将来动态商务w e b 的主流技术。 1 4论文的工作 随着企业规模的日蘸扩大,企业的应用系统越来越多,每一个系统都有各 自的用户资源,为了实现各个系统用户的共享和提高应用系统的利用率,并降 低用户操作的复杂程度,作者参与了公麸信息服务平台项目的开发。该项目主 要是将所有的应用系统纳入到一个公共的平台之上。并向应用系统提供用户注 册和验证服务、消息服务、公共信息服务、企业结构信息服务等其它的服务 用户登录公共信息服务平台之后,只要具备相应的权限,就可以访问各个应用 系统上的资源由于应用系统千差万别,有的是w i n d o w s 系统,有的是l i n u x 系统,有的使用n e t 平台,也有的使用j 2 e e 构架由于w e bs e r v i c e s 简单和 跨平台特征,无疑是集成这些应用系统的最好的选择。该平台就是利用w e b s e r v i c e s 来向所有的应用系统提供服务平台提供了一整套w e bs e r v i c e s 的接 口,应用系统可以通过这些接口来调用平台提供的服务 w e bs e r v i c e s 虽然能够很好的提供公共信息服务、企业结构信息服务这些没 有状态的服务,但是对于一些有状态的信息,如用户是否在线、在线时长等信 4 纠川人学确l 擘位论文 息服务,传统的w e bs e r v i c e s 就不能很好的解决,因为w e bs e r v i c e s 本身不保 存状态导致在w e bs e r v i c e s 的调用中要传递大量的状态信息,一方蕊安全性 不能保证,另一方面浪费了网络资源。 作者以此为研究课题,探讨了w e bs e r v i c e s 技术和相关的协议和标准、以 及n e t 平台上的相关技术# 以“公共信息服务平台”为项目背景,研究并实现 了有状态的w 西s e r v i c e s 技术,并将其运用到实践中,取得了非常好的效果。 论文在理论和实践中的主要成果和特色如下: 介绍了w e bs e r v i c e s 技术及相关协议和标准,其中包括可扩展的标记语 言,w e bs e r v i c e s 描述语言,简单对象访问协议,统一描述、发现与集 成协议等技术和协议,并分析了w 曲s e r v i c e s 的协议栈。 分析和研究了n l 三r 平台,重点研究了a s p n e t 的服务机制,以及如何 在a s p n e t 中进行w c bs e r v i c e s 的开发 通过分析当前w c bs e r v i c e s 的不足,提出有状态的w e bs e r v i c e s 的概念, 并在现有技术的基础上,通过数据库方式和单件模式方法来实现有状态 的w e bs e r v i c e s ,并将其集成到。公共信息服务平台”中并在有状态 的w e bs e r v i c e s 的基础上进一步研究,实现了可以双向通信的w 曲 s e r v i c e s 。 s l i i i 川人学蟛! t 学位i 仓文 第二章w e bs e r v i c e s 的技术标准和协议1 2 i 2 1w e bs e r v i c e s 的概念 前面己经多次提及w e b s e r v i c e s 这个名词并对其进行了一定的描述,但是为 了对w 曲s e r v i c e s 技术以及基于w c bs e r v i c e s 的应用进行更深入的分析和论述, 需要对w e bs e r v i c e s 的概念进行更为准确的界定。 从技术层面来讲,w c bs e r v i c e s 是一种部署在w e b 上的对象( w e bo b j e c t ) , 因此,其具有对象技术所承诺的所有共同点:同时,w 曲s e r v i c e s 是基于x m l 的,因此它具有比任何现有对象技术更好的开放性。 2 2实现w e bs e r v i c e s 的技术标准和协议的概述 众所周知,技术的开放性与技术标准和协议是密不可分的。w e bs e r v i c e s 技术是完全基于标准和协议的技术,只有基于标准和协议,所有的技术提供商 才能有相同的准则,才能够在各自的平台上开发出具有跨平台和互操作能力的 技术产品和解决方案。标准和协议是实现跨平台和互操作能力的灵魂。 目前,w e bs e r v i c e s 技术实现过程中所涉及到基本技术标准和协议以及制定 这些协议的标准化组织有以下这些,在下面作一概述: 标准化组织w 3 c ( w w w w 3 e o r g ) :w 3 c 是w e bs e r v i c e s 技术发展过程中最重 要的一个标准化组织,是由m 1 1 r 、i n r i a 、k e i o 共同创立的一个全球性非赢利 性组织,致力于开发和推广w e b 应用所涉及的各个领域的规范和标准目前, w 3 c 在w e bs e r v i c e s 领域设立了三个工作组:w 曲s e r v i c e sa r c h i t e c t u r ew o r k i n g g r o u p ( w e b s e r v i c e s 体系结构工作组) 、x m l p r o t o c o lw o r k i n g g r o u p ( x m l 协议工作组) 和w e bs e r v i c e sd e s c r i p t i o nw o r k i n gg r o u p ( w e bs e r v i c e s 描述工 作组) 他们的工作分别围绕w e b s e r v i c e s 的整体构架、访问协议和接口描述 三个方面开展。 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 ,可扩展标记语言) :是整个w e bs e r v i c e s 技术构架的基石,x m l 是由w 3 c 发布的标准。实现w 曲s e r v i c e s 技术的其他协 川人学碗i 掌位论z 议和标准基本上都是建立在x m l 基础:的。如s o a p 、w s d l 等目i i x m l 规 范的的正式版本是x m l1 0 ( s e c o n de d i t i o n ) ,同时w 3 c 已经发布了x m l l 1 的规 范草案 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) 是w e bs e r v i c e s 技术的核心之一,是用于交换x m i 编码信息的轻量级协议,s o a p 利用x m l 技 术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交 换的消息结构这种框架的设计思想,是要独立于任何一种特定的编程模型和其 他特定实现的语义。理论上,s o a p 可以运行在任何其它传输协议上,但是, 目前应用的最为广泛特别足在实现w e bs e r v i c e 技术中的还是将s o a p 构建在 町1 p 下进行运行 w s d l ( w e bs e r v i c e sd e s c f i p t i o nl a n g u a g e w e bs e r v i c e s 描述语言) ;是 w e bs e r v i c e s 技术的核心之一,用于描述w e bs e r v i c e s 的调用接口w s d l 是建 立在x m 【觑范基础上的,运用x m l 语言的格式对w e bs e r v i c e s 的定位、接口、 参数和调用方法等进行描述,以便客户端程序能够进行顺利的调用。 u d d i ( u n i v e r s a ld e s c r i p t i o n 、d i s c o v e r ya n di n t e g r a t i o n ,统一描述、发现和 集成协议) :是w e bs e r v i c e s 构架下核心的服务描述、发现和集成机制,它提 供了在w e b 上描述弗发现商业服务的框架。u d d i 通过服务注册,以及使用s o a p 访问这些注册信息的约定来实现上述目标。 与w e bs e r v i c e s 相关的技术和协议还有很多,如:w s - s e c u r i t y ( w e bs e r v i c e s s e c u r i t y ,w e bs e r v i c e s 安全) 、w s f l ( w e bs e r v i c e sf l o wl a n g u a g e ,w e bs e r v i c e s 工作流语言由i b m 提供和实现) 、w s c l ( w e bs e r v i c e sc o n v e r s a t i o n l a n g u a g e , w e bs e r v i c e s 会话语言由惠普提供并实现) 等等但是,其他这些 标准和协议并不属于w e bs e r v i c e s 技术的核心,因此也不是实现w c bs e r v i c e s 技 术所必须的而且有些协议如w s f l ,w s c l 只是由部分技术厂商提供和实现的, 并没有得到其他厂商广泛的认可而成为标准,不属于w c bs e r v i c e s 基础的标准 和协议范畴,因此在本文不再作赘述对于x m l 、s o a p 、w s d l 和u d d i 这些 基本的协议和标准将继续作深入和详细的描述和探讨。 7 川j 、卞r 峻l 学位论文 2 3可扩展标记语言 经过最近数年的发展,x m l 已经成为描述“异构系统信息交换”事实上的 个标准解决方案因此“x m l 是w e bs e r v i c e s 技术的基石”也成为事实w e b s e r v i c e s 技术体系中的几乎每种技术都是在以某种方式使用x m l ,要透彻地理 解w c bs e r v i c e s ,首先必须透彻地理解x m l 。 2 3 1x m l 产生背景 在i n t e r n e t 上的许多信息,最初都被存放在结构良好的数据库中。按照其意 义被存放在相应的字段里,但是,一旦这些数据被调出来,经过c g i ( c o m m o n g a t e w a yi n t e r f a c e ,公共网关接1 2 1 ) 、a s p 、j s p 等转换到h r m l 中,原本有意 义的数据就变成了一些无特定含义的h t m l 标记的组合,显然信息处理的速度 会很慢。如果能够将保存在数据库中原始结构的数据在计算机之间传递。那么 肯定会加快信息处理速度。显然m m l 办不到,并且,由于所采用的计算机体 系结构、操作系统及使用数据库管理系统各异,不同的计算机之问要想理解对 方的数据库格式是相当麻烦的,为了解决矛盾,1 9 9 4 年1 0 月在麻省理工学院计 算机科学实验室成立了万维网联盟( w o r l dw i d ew e bc o n s o r t i u m ) w 3 c 制定 了包括x m l 及w c bs e r v i c e s 协议在内的众多影响深远的标准协议,引入了x m l , 阐述如下:“x m l 描述了一类被称为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 ,可扩展标记语言) 是s g m l ( s t a n d a r d 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 是:完备的,它提供了种可以无限扩展的语言,允许任何人能够根据自 己的需要加以扩充,但由于它过于复杂繁琐的定义使得很难编写出针对这种语 言的通用解析器,以至于不能被很方便的运用在i n t e r a c t 上,而x m l 作为s g m l 的最小完备子集,继承了s g m l 的强大功能但消除了其繁琐的定义从结构上 看,x m l s 档遵从s g m l 文档标准,保留s g m l :大部分的功能,却很大的降低 了复杂程度,这使得开发x m l 的应用很方便此外,x m l - 与h t m l ( h y p e r t e x t b 川人学坝i 学伯论文 m a r k u pl a n g l i a g c ,超文本链接标示语言) 的不同在于:x m l 可以根据要表现 的文档,自由定义标记来表现具有实际意义的文档内容,即在x m l 中,只需要 注意文档的内容,而文档的表现形式则交给x s l ( c x t c n s i b l cs t y l e s h c e t l 丑n g i i a g c ,可扩展样式语言) 完成,x m l 提供这种描述结构化数据的方法,与 主要用于控制数据的显示和外观的m m l 标记不同,x m l 标记用于定义数据本 身的结构和数据类型x m l 相对于h t m l 的优点是它将用户界面与结构化数据 分隔开来。这种数据与显示的分离使得集成来自不同源的数据成为可能。x m l 的卓越性能和诸如优良的数据存储格式、方便的网络传输、自描述的数据共享 机制,体现出自描述和可扩展性,层次结构和可校验性,丰富的链接定义和多 样的样式表支持、适于异构应用系统间的数据共享和强大的数据检索能力等好 处,使得它主要应用在内容发布及网络出版、电子商务应用、数据层集成、应 用层集成和系统配置信息描述等领域中自从x m l , m 现以来,有一大批用x m l 定义的新标记语言随之产生有的仍处在草案阶段,有的己被w 3 c 推荐为正式 标准,开始在各领域中发挥作用。包括使用x m l 重新定义h t m l j 舌得到的 x h t m l 、用于显示矢量图像的s v c 、用于表示多媒体效果的s m i t 、用于电子 图书的o e b 、用于手机上网的w m l 和h d m l ,以及面向电子商务的e x m l ,c d f , c m l ,m a t h m i 爿铂s m l l 等。 2 3 2x m l 对w e b 体系结构的影响 第一代w c b 应用程序继承了传统的。客户机一服务器”模式的软件体系结 构。其中某些结构将关系型数据库作为的三层使用,但所有各层均由专用的、 固定的方法进行控制,与w c b 的精髓一“由简单协议控制的松散的、开放的 资源集合”是背道而驰的与此相反,x m l 则出色的实现了这一目标。它给编 程者提供的工具能够构建真正的、由开发标准和自描述数据库控制的多层分布 式系统。下面比较一下传统的w e b 体系结构与x m 傀动下的w e b 体系结构。 2 3 2 1 传统的w 曲体系机构 图2 1 描述了w c b 应用程序的体系结构从中可以看到,客户端程序是一个 9 州川人华帧l 。学位论王 浏览器,它充当着浏览器代理的角色。浏览器将对页面的请求发送给h r r p 服务 器。这个请求就会跟随着一系列的参数名称和值。这些可能是被添加在页面u r l 的后面( 唧g e t 请求) ,也可能是单独发送( h 1 1 1 pp o s t i e 青求) 参数及 其名称是由应用程序决定的,而且必须为客户端所知道,要做到这一点,就需 要把它们放在到发出请求的页面中随后,服务器应用程序的开发者也必须创 建客户端页面。任何希望利用服务器的人员都必须使用客户端页面,或者在客 户端页面颠倒设计请求的结构但是,只要服务器改变请求的结构,这类颠倒 设计就不再起作用。 h t t - p 请求 基于c g i , 客户端a s p 等脚 浏览器 编译后生成的h t i h l 本的耵t p 服务器 图2 1 传统w e b 体系结构 在这种前提下,服务器通过c g i 脚本或a s p 代码来动态生成h t m l 以满足这 类请求这类脚本可能使用一套数据库,或者进行自身的一些处理。很少有多 个i r 丌甲服务器协同完成一个请求,并且存在如下一些限制: 用户被限制在客户端浏览器上,没有人建立服务器页面与可编程的代理或 其他应用程序通信请求的结构是固定的。或者去协调整个服务器应用程 序开发组的工作。或者是颠倒设计结构结果是,如果不是服务器开发组 的成员,就很难编织客户端应用程序 所有的内容都以h t m l 的形式传递。这就限制了客户端进行任何后期处理 的能力,而且在传递时,用户所能看到的也仅限与服务器应用程序的内容, 如果用户希望看到不同的显示方式,比如用图形替代表格,或者另一种排 序方式,就必须再经历一次回传而且应用程序非常脆弱,客户端与服务 器必须紧密同步,请求只要有一点点变形就会中断服务器应用程序 nj i l 人学帧i 学化论文 2 3 2 2x m l 下的w c b 体系结构 由于x m l 技术的引入,客户机端所使用的浏览器或者程序将一个x m l 文档 作为请求发送给服务器。同传统的w e b 应用程序一样,它包含了指定参数。但 是,与传统客户端不同,请求的结构会根据在运行时从服务器上得到的标准化 机制来正式指定这一机制会保证服务器所期望的结构,并允许客户端在传输 前验证请求的正确性,服务器也能够在接收时执行有效的验证 一旦请求到达,服务器可能继续传统w e b 应用程序的处理流程,也可能做 出某些改动。既然在这类交换中服务器收到的数据也是x m l ,那么第一个服务 器将几个文档合并起来,或者将一个文档转化成另外一种格式以满足请求就非 常简单了客户端用来得到结构内容的方法也可以在服务器上使用由于x m l 天上就是层次结构的,所以它很容易就可以对非关系型的数据源进行编码但 是,大多数服务器上维护数据本来就是关系型的,因此x m l 的研究者花费了大 量的时问思考和实践如何使关系型数据与x m l 数据相匹配。所有这些研究和努 力都使x m l 成为在服务器与服务器应用程序之间交换数据的最佳媒介一旦 x m 嵫选中成为某个组织交换数据的机制,编程人员可以很快的得到或编制组 件和实用程序以便操作数据这些对于处理来自客户机应用程序的请求也同样 有用。图2 2 描述了x m l ,下的w c b 体系结构。 野硼。或,眦文档卜m 广r p应用 服务器 服务器 焉升岖一 图2 2 x m l f 的w e b 体系结构 这样所带来的好处有:首先,用户不再局限于基于浏览器的客户端,x m l 本身就是数据,而且可以由程序任意的控制。同样的数据,既可以设定其样式 l l 心川人学琐j j 学沧上 以便在浏览器中显示,也可以交给一个代理进行后台处理。在这个机制中,x m l 文档无需假设数据的最终用途。如果得知客户端需要h t m l ,由数据驱动的转 换过程就会使用x m l 文档生成h t m l 界面。而生成x m l 的底层应用程序不需要 任何修改 在这种机制下,服务器端的应用程序与客户端的耦合程度要松散得多,因 为程序具备了找出x m l ,文档结构的能力。这样一来,富有创新意义的应用程序 就可以根据程序的要求编写结构新颖的各类文档,应用程序也无需为每一种新 的文档类型编织定制的软件更为典型的应用是创建工业标准标记集,应用程 序也可以利用结构感知机制来避免因版本更迭带来的矛盾。网络中的服务器, 客户机和应用程序所进行的处理都将使用这种机制交换数据,而且这种机制扩 展起来并不困难,而且能够在进行时找出数据的结构,事实上,任何一种平台 都支持这种机制,它使用简单,能够处理来自不同数据源的标记数据应用程 序的开发者可以使用来自非传统数据源或其他服务器的数据来满足客户端的请 求。这样,w e b 开发就己经从“客户机一服务器”计算体系迈向真正的多层模 式。 总之,x m l 虽然获得了极大的支持,但是还有很长的路要走。首先,x m l 的规则还有很多技术细节没有实现;其次,现在虽然出现了一些x m i ,工具和应 用,但是其市场反映还有待迸一步观察。 此外,由于x m l j 黾用于定义数据信息的元语言,所以任何个人、公司和组 织均可利用其来定义自己的词汇表( 通过d t d 或s c h e m a 表示) 这虽然是x m l 的魅力和灵活性所在,同时也是x m 喙大的问题如果每个人、公司和组织都 定义了自己的词汇表,他们之问的通信就会出现困难因此在一些领域先后出 现了一些标准化组织,其任务就是规范本领域的词汇表,形成统一的标准,使 得在本领域的通信成为可能。x m l 的出现使得i n t e m e t 跨入了一个新的阶段,它 将成为i n t e r n e ! 领域中一个重要的开发平台x m l i 勺诞生己经而且将继续促进全 新种类的应用程序的产生,而该新的应用程序又将需要新的软件和硬件工具 可以预测,无论在软件还是硬件上,x m l 都将开辟一系列的新市场,为i n t e m e t 带来新的革命。 蚪川人学帧i 学位论史 2 3 3x 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 样,x

温馨提示

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

评论

0/150

提交评论