(计算机应用技术专业论文)基于rest架构web应用的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于rest架构web应用的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于rest架构web应用的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于rest架构web应用的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于rest架构web应用的研究与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)基于rest架构web应用的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 在当今网络技术快速发展的情况下,以服务为基础的互联网时代已经到来。 w e bs e r v i c e s 技术为当前w e b 应用的开发提供了很强大的解决方案。不过传统 的以s o a p 为基础的w e bs e r v i c e s 技术已经显得过于臃肿和复杂,已经无法应 对快速更新的需求变化。 基于r e s t 架构风格的服务,从某种程度上有效的解决了传统w e bs e r v i c e s 过于复杂的问题。这种架构风格具有可寻址性、无状态性、统一接口和连通性 等优点,将w e bs e r v i c e s 异构平台的互访能力相结合,形成一种轻量级的w e b 服务架构风格,从而能够在很多场合能灵活发挥其强大作用。 论文将以r e s t 架构风格的w e b 应用为基础进行探讨,主要研究工作包括: ( 1 ) 从传统的软件架构着手,探讨它们的局限性,引出基于r e s t 架构风 格的特征,从理论上分析其优势。 ( 2 ) 详细分析基于r e s t 架构风格的设计流程,包括客户端和服务端两方 面的设计步骤。 ( 3 ) 在r u b yo nr a i l s 和a m a z o ns 3 平台下,使用基于r e s t 的架构风格 设计一个在线文件存储系统,使其能够进行正常的增删查改等管理工作。并通 过这个系统,从实践的角度进行架构分析,进而阐述基于r e s t 架构风格的优势。 ( 4 ) 最后对r e s t 架构风格作出展望,提出了以后的研究方向。 论文对比并分析了传统软件架构和基于r e s t 架构的w e b 服务,指出了 r e s t 架构风格的优势。设计并实现了基于r e s t 架构风格的在线文件存储系统, 通过实例进一步说明基于r e s t 架构的在开发轻量级w e b 服务有一定的指导意 义。未来的互联网时代,基于r e s t 架构风格的w e b 应用必将占有一席之地。 关键字:w e b 服务,r e s t 架构风格,文件存储系统 a b s t r a c t a tp r e s e n tt h en e t w o r k i n gt e c h n o l o g yg r o w sr a p i d l y t h et i m eo fi n t e r n e tb a s e d o ns e r v i c e sh a sc o m e w e bs e r v i c e sp r o v i d e st h ed e v e l o p m e n to fw e ba p p l i c a t i o na p o w e r f u ls o l u t i o n h o w e v e rt r a d i t i o n a ls o a p - b a s e dw e bs e r v i c e st e c h n o l o g yh a s b e e nt o oc o m p l e xt oc o p ew i t hv a r i o u sc h a n g e si nd e m a n d t h es e r v i c e sb a s e do nr e s ta r c h i t e c t u r a ls t y l e sc a l l e f f e c t i v e l ys o l v e t h e c o m p l e x i t yo ft r a d i t i o n a lw e b s e r v i c e s t h i sa r c h i t e c t u r a ls t y l eh a sm a n ya d v a n t a g e s : a d d r e s s a b l e ,s t a t e l e s s ,t h eu n i f o r mi n t e r f a c ea n dc o n n e c t e d n e s s i ti sal i g h t w e i g h t w e ba r c h i t e c t u r es t y l ew h i c hh a st h ea b i l i t yo fc o m m u n i c a t i o nb e t w e e nh e t e r o g e n e o u s p l a t f o r m ss ot h a ti tc a np l a ya ni m p o r t a n tr o l eo nm a n y o c c a s i o n s t h et h e s i sm a i n l yd i s c u s s e st h er e s e a r c ha n di m p l e m e n t a t i o no ft h ew e b a p p l i c a t i o nb a s e do nr e s t a r c h i t e c t u r es t y l e i ti n c l u d e st h ef o l l o w i n g : ( 1 ) r e c a l l i n gt h ec h a r a c t e r i s t i c so ft r a d i t i o n a lc s ,b ss o f t w a r ea r c h i t e c t u r e , a n a l y z i n gt h ee x i s t e n c eo ft h e i rd r a w b a c k s ,t h e nl e a d i n gt ot o d a y sm o s tw i d e l yu s e d m u l t i t i e ra r c h i t e c t u r e f u r t h e r m o r ed i s c u s s i n gt h ei n a d e q u a c i e si nt o d a y si n t e r n e tt o i n t r o d u c er e s tw h i c hi san e wl i g h t w e i g h tw e ba r c h i t e c t u r es t y l e ( 2 ) i n t r o d u c i n gt h eo v e r a l ld e s i g no fw e ba p p l i c a t i o nb a s e do nr e s t a n d f r o mb o t ht h ec l i e n ta n ds e r v e rs i d et os u mu pt h eg e n e r a ls t e p s o fd e s i g n i n gt h ew e b a p p l i c a t i o n sb a s e do nr e s t a r c h i t e c t u r e ( 3 ) b u i l d i n ga l lo n l i n ed o c u m e n ts t o r a g es y s t e mw i t hr u b yo nr a i l sa n d a l r l l a z o ns 3s e r v i c ep l a t f o r mb a s e do nr e s tw e ba r c h i t e c t u r es t y l e t h es y s t e m c o u l dm a n a g et h ed o c u m e n tp r o p e r l yb yc r e a t i n g , d e l e t i n g , r e a d i n g ,u p d a t i n g a n d t h e nt od e s c r i b et h ea d v a n t a g e so fr e s ta r c h i t e c t u r es t y l ef r o mt h ep e r s p e c t i v eo f p r a c t i c e ( 4 ) f i n a l l y , m a k i n gap r o s p e c to nr e s tw e ba r c h i t e c t u r es t y l ea n dp r o p o s i n g t h ef u t u r ew o r k t h et h e s i sa n a l y z e dt h et r a d i t i o n a ls o f t w a r ea r c h i t e c t u r ea n dr e s ta r c h i t e c t u r e s t y l e d e s i g n i n ga n di m p l e m e n t i n ga no n l i n ed o c u m e n ts t o r a g es y s t e mb a s e d0 n h r e s t f u r t h e rs p e c i f i e dt h a t t h i sa r c h i t e c t u r e s t y l ec o u l du s e i nd e v e l o p i n g l i g h t w e i g h tw e b s e r v i c e s i nt h ef u t u r et i m eo ft h ei n t e m e t ,t h ew e b a p p l i c a t i o nb a s e d o nr e s ta r c h i t e c t u r es t y l ew i l ls u r e l yp l a ya l li m p o r t a n tr o l e k e yw o r d s :w e bs e r v i c e s ,r e s t a r c h i t e c t u r es t y l e ,f i l es t o r a g es y s t e m i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时 授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论 文,并向社会公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :垄型垒导师( 签名) :日期:型:墨 武汉理工大学硕士学位论文 第1 章绪论 1 1 课题研究背景及意义 最先开始的互联网是基于 r r r p 协议【1 。3 1 ,通过u r i 4 洌,来定位h t m l l 6 】文 档,从而能够使得世界范围内各处的人能够进行交流。 然而,随着技术的不断发展,如今的互联网时代,访问w e b 的方式也从原 来单纯的p c 机发展为手机、数字电视等各种平台。面对异构平台访问的问题成 为了当前互联网发展的一个关键方面。 传统的单一软件架构已经很难满足这方面的要求,而w e bs e r v i c e s t 7 , 8 j 标准的 提出促进了异构平台互访的可能,它主要通过s o a p 9 1 、x m l - r p c i l 0 1 协议来达 到访问的目标。通过传输一种通信双方都能理解的文档形式来交流,x m l 1 1 】文 档作为一种结构良好、可扩展性好的形式在这两种协议中被采用。w e bs e r v i c e s 的标准定义了非常强大的功能,并且随着时间推移,定义的功能也越来越强。 这样导致的结果就是协议越来越臃肿,实际使用起来非常笨重,并且与服务器 的紧密耦合使得应用难以扩展和修改。 2 0 0 0 年,r o yf i e l d i n g 1 2 ,1 3 】通过对w 曲应用的深入分析、研究和实践之后, 在他的博士论文中提出了一种新的架构风格:r e s t ( r e p r e s e n t a t i o n a ls t a t e t r a n s f e r ) 。r e s t 实际上是一种设计约束,包括无状态服务器、分布式缓存等。 有人将遵循r e s t 准则的架构称为“面向资源的架构( r e s o u r c e o r i e n t e d a r c h i t e c t u r e ) ,“资源”这一概念在r e s t f u lw e bs e r v i c e s 中是一个非常重要的概 念【1 4 , 1 5 】。 简单来说,基于r e s t 架构风格的w e b 服务是一种结合传统w e bs e r v i c e s 的轻量级实现。它相对于传统单一软件架构既能够满足异构平台的互访,又摒 弃了传统w e bs e r v i c e s 的复杂和笨重。 这一架构方式提出之后,在实际中便有了运用,各种流行开发框架很快推 出支持r e s t 的类库、a p i 。一些商业巨头如g o o g l e 、a m a z o n 也纷纷推出基于 r e s t 的服务。报告指出,a l l l a z o n 书店9 5 的业务都是使用来自于轻量级的 r e s t 服务【1 6 ,l | 7 l 。 武汉理工大学硕士学位论文 未来的互联网世界,一定是以服务为中心的,面对以后各种各样的异构平 台以及快速多变的需求,轻量级的基于r e s t 架构风格的服务必将在未来占据一 席之地。 1 2 国内外研究现状 基于r e s t 架构风格的w e b 应用在目前来讲,还是一个非常新兴的研究领 域,但是它的发展势头相当迅猛,受到了各方的关注。 2 0 0 0 年r o yf i e l d i n g 著名的博士论文 ( a r c h i t e c t u r a ls t y l e sa n dt h ed e s i g no f n e t w o r k b a s e ds o f t w a r ea r c h i t e c t u r e s ) ) 是奠定了这方面的理论基础。随后j o e g r e g o r i o 在( ( r e s ta n dw s 一文中讲述了如何创建一个r e s t 式服务接口的同 时,对r e s t 与w e bs e r v i c e s 技术做了比较。d u n c a nc r a g g 的一系列博客文章( ( t h e r e s td i a l o g u e s ) ) 把一个r p c 风格的应用重新构想为一个由互联网资源构成的 w e b 应用。另外p a u lp r e s c o d 的 ( c o m m o nr e s tm i s t a k e s ) ) 指出了构造r e s t 式服务的常见错误和最佳实践。d a v i dh e i n e m e i e rh a n s s o n 在2 0 0 6 年r a i l s c o n f 大会上特邀报告展示了r a i l s 是如何从一种r e s t - - r p c 理念转变为一种基于 r e s t 式资源的理念。在国内,也有相当一部分的学者、研究人员投身于对r e s t 的研究【1 & 2 2 1 。 各标准化组织,也在为推进r e s t 技术作出了相当大的努力,以下是有关 r e s t 架构风格技术的一些新标准: ( 1 ) x h t m l 标准【2 3 】:它在h t m l 标准的基础上做了一些小修改; ( 2 ) w e ba p p l i c a t i o n1 0 标准 2 4 1 :它构成未来h t m l 5 的基础,特别是w | e b f o r m s2 0 ,大大提升了h t m l 超媒体能力; ( 3 ) w a d l 标准【冽:它是在j a v aw a d l 客户端的开发站点上进行维护的。 在开发工具方面,基于r e s t 架构风格的框架不断涌现,其中最著名的框架 有: r u b y o nr a i l s ( h t t p :r u b y o m a i l s o r e , ) 【2 6 j r e s t l e t ( h t t p :w w w r e s t l e t o r 9 0 t 2 7 1 d j a n g o ( h t t p :w w w d j a n g o p r o j e c t c o m o o 。6 j s p r i n g3 ( h t t p :w w w s p r i n g f r a m e w o r k c o i n ) i d r u b yo nr a i l s 是过去几年来非常流行的w e b 开发框架,它以动态脚本语言 2 武汉理工大学硕士学位论文 为基础,适用于轻量级敏捷开发模式,深受开发者好评。r a i l s1 2 后的版本使得 暴露r e s t 式资源变得极为简单。 r e s t l e t 是使用于j a v a 平台的基于r e s t 架构风格的框架,它能够用于实现 任何种类的r e s t 式系统,而不仅仅是面向资源的w e b 服务。 d j a n g o 是用于p y t h o n 平台的r e s t 式框架。它不仅仅用于处理h t r p 请求, 而且还能处理w e b 应用及w e b 服务设计中许多常见问题。它为用p y t h o n 实现 r e s t 式w e b 服务提供了良好的基础。 s p r i n g 则是在j a v a 平台下,最为流行的轻量级框架,拥有非常广泛的开发 群体。即将发布的s p r i n g3 已经明确支持r e s t 式w e b 服务架构。 另外,从实际应用角度上看,互联网上已经发布了许多基于r e s t 架构风格 的服务: a m a z o ns 3 服务:允许在a m a z o n 服务器上存储数据,并通过h t r p 或 b i t t o r r e n t 来访问那些数据。a m a z o n 为你提供存储空间与带宽。s 3 也许是目前 所有w e b 服务中具有最稳健的商业模型之一:使用s 3 服务的公司自己能够节省 成本,同时也给a m a z o n 创造了财富。 s i m p l eq u e u es e r v i c e ( 简单队列服务) :它是a m a z o n 提出的另一个低端服 务,它允许通过“一方往队列里放入消息,另一方从队列里取出消息”的方式来降 低双方的耦合度,而且消息格式是自选的。 许多g o o g l e 的服务,g o o g l eb l o g g e r 、g o o g l ec a l e n d a r 、g o o g l en o t e b o o k 等w e b 应用都暴露了用于可读写r e s t 式服务的模型资源。 可以看到,无论是从学术的角度、标准化进程,还是从开发框架的支持度 以及实际的商业应用等各个方面,基于r e s t 架构风格的服务技术在将来的互联 网技术中,有着光明的前景。 1 3 论文内容和组织结构 本篇论文分为六个部分,组织如下: 第1 章绪论。介绍了本课题的研究背景和国内外研究现状,并对论文的总 体结构作出介绍。 第2 章背景知识及相关概念。介绍了论文将使用的关键技术概念作简单的 介绍,具体介绍了肼p 、x m l 、w e bs e r v i c e s 相关概念 3 武汉理工大学硕士学位论文 第3 章基于r e s t 架构风格介绍。分析了现阶段各种软件架构,从传统的 单一架构到多层体系架构,并提出这些传统架构的一些不足,从而引出了基于 r e s t 的架构风格特征。 第4 章基于r e s t 架构风格的总体设计。分别从客户端和服务端的角度, 分析并总结了设计r e s t 式服务的主要过程。 第5 章基于r e s t 架构风格的实现与应用。使用r u b yo nr a i l s 和a m a z o n s 3 平台,实现了一个在线文件存储管理系统,并演示了运行结果,最后从架构 的层面以实践的角度分析了采用r e s t 架构风格的优势。 第6 章总结与展望。总结了论文的工作,并指出了不足之处和今后的研究 方向。 1 4 本章小结 本章主要介绍了课题的研究背景、r e s t 在国内外的研究现状以及论文的研 究内容和组织结构。 4 武汉理工大学硕士学位论文 2 1h 哪 第2 章背景知识及相关概念 唧( h y p e r t e x tt r a n s f e rp r o t o c 0 1 ) 是超文本传输协议的缩写,它用于传 送w w w 方式的数据。h i t p 协议采用了请求响应模型。客户端向服务器发送 一个请求,请求头包含请求的方法、u r l 、协议版本、以及包含请求修饰符、 客户信息和内容的类似于m i m e 的消息结构。服务器以一个状态行作为响应, 相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实 体元信息以及可能的实体内容。 一个典型的h t r p 请求消息如下: g e t h t t p :w w w a b c t o m e n :8 0 s o m e d a t a e x e h o s t :w w a b c t o m c n a c c e p t :幸奉 p r a g m a :n o - c a c h e c a c h e c o n t r o l :n o c a c h e r e f e r e r :h t t p :w w w a b c t o m c n u s e r - a g e n t :m o z i l l a 4 0 4 e n ( w i n 9 5 ;i ;n a v ) r a n g e :b y t e s = 5 5 4 5 5 4 一 对这段消息中关键概念的解释: ( 1 ) h t r 口方法( h i 曙m e t h o d ) 对于这个请求,方法是“g e t 。唧方法的名称,就如同变成语言里的 方法名称,表示客户端期望服务器端如何处理该请求。这里,客户端希望从服 务器获取( g e t ) 一些信息。 ( 2 ) 路径( p a t h ) 这是u r i 里主机名后面的部分。对于这个请求,u r i 是 h t t p :w w w a b c c o m c n ,路径是7 i n d e x h t m l ”。 ( 3 ) 请求报头( r e q u e s th e a d e r s ) 它们是一组关键字值对,起元数据的作用。这个请求有8 个报头:h o s t , 5 武汉理工大学硕士学位论文 u s e r a g e n t ,a c c e p t 等等。 ( 4 ) 实体主体或表示 这是一个没有实体主体的h t t p 请求,也就是说,完成请求所需的信息都在 路径和报头里。 h i t p 响应跟唧请求在形式上差不多。 一个典型的h 1 曙响应消息如下: h t r p 1 0 2 0 0 0 k d a t e :m o n ,3 1 d e c 2 0 0 1 0 4 :2 5 :5 7 g m t s e r v e r :a p a c h e 1 3 1 4 ( u n i x ) c o n t e n t - t y p e :t e x t h t m l l a s t m o d i f i e d :t u e ,1 7 a p r 2 0 0 1 0 6 :4 6 :2 8 g m t e t a g :”a 0 3 0 f 0 2 0 a c t c 0 1 :l e 9 f c o n t e n t - l e n g t h :3 9 7 2 5 4 2 6 c o n t e n t - r a n g e :b y t e s 5 5 4 5 5 4 4 0 2 7 9 9 7 9 4 0 2 7 9 9 8 0 h i t p 响应可分为三部分: ( 1 ) h t i t 响应代码 它是一个通知客户端“h t l t 请求是成功还是失败”的数字代码,并告诉客户 端应如何处理这些信息。对于本例,响应代码是2 0 0 ( “o k ,) ,可见g e t 操作 成功了。 ( 2 ) 响应报头( r e s p o n s eh e a d e r s ) 跟请求报头一样,响应报头也是一组关键字值对,起元数据作用。本例的 h t t p 响应有1 1 个报头:d a t a ,s e r v e r ,等等。 ( 3 ) 实体主体或表示 在这里,该实体主体实现了g e t 请求,并告诉w e b 浏览器如何处理这个文 档。 h t i p 传输协议是网络传送使用最为广泛的协议,而且h t r p 也是理解w e b s e r v i c e s 的重要基础。 2 2x 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 一样, 6 武汉理工大学硕士学位论文 都是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记语言) 。x m l 是 i n t e r a c t 环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有 力工具。 x m l 是自描述性语言,即x m l 不仅将文本组织成层次结构,还直接在文 本中描述了它的组织。如果与诸如逗号分隔数据或制表位分隔数据的其他文本 格式相比较可看出:要理解逗号分隔数据或制表位分隔数据等文本的内容,需 要知道用于描述其数据组织结构的单独文档;而读x m l 文档时则不需要参照其 他文档。 x m l 文档由u n i c o d 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 标记语言是对应行业中的事实标准,如c m l ( 化 学) 、d o c b o o k ( 出版业) 、s v g ( 多媒体) x h t m l ( w e b 页面) 等。x m l 具有 可创建无限多新标记语言这一能力正是称其为可扩展的原因。 x m l 主要的两个用途是:面向文档的应用和面向数据的应用。对于像 x h t m l 和d o c b o o k 这样的面向文档的标记语言,其重点放在文字的格式与陈 述上。它们要描述如何组织图书、杂志以及科技论文,并要描述它们的样式。 面向数据的标记语言则将重点放在如何组织和类型化数据。这样的语言要定义 一个用于在各软件应用程序之间存储和交换数据的模式。游戏x m l 标记语言是 行业标准( 如s q 廿) ,而大多数x m l 标记语言则服务于单独的应用、机构或 个人。 以下是一段简单的x m l 代码: 7 武汉理工大学硕士学位论文 a m a z o n c o m 1 51 62 n da v e s e a t t l e 纾么 9 0 9 5 2 x m l 文档由声明、元素、特性、文本数据、注释以及其他组成部分构成。 ( 1 ) x m l 声明:用于定义文档的x m l 版本,存储或传输文档的符号编码 以及文档是否为单独文档; ( 2 ) 元素:x m l 标记语言以树状结构按层次组织数据,其中树架构的每 一个分支称为元素,且用一对标记来晁定元素; ( 3 ) 特性:元素可以有一个或多个特性。用特性来补充元素包含的数据、 或提供没有由其元素内容捕捉到的元素方面的信息; ( 4 ) 注释:与任何其他语言一样,也能向x m l 文档添加注释,注释并不 是x m l 文档描述的数据。 x m l 的这些特性决定了它是所有其他w e b 服务技术的基础。 2 3w | 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 通讯的操作系统上实施运行。它主要利用h t r p 和s o a p 协议使商业数据在 w e b 上传输,s o a p 通过h i t p 调用商业对象执行远程功能调用,w e b 用户能 够使用s o a p 和唧通过w e b 调用的方法来调用远程对象,从而实现了异 构平台的互操作性。如下图所示w e b 服务的基本交互图。 8 武汉理工大学硕士学位论文 v s 客户 诲求w s d l 位置 u d d i 注册中心 传遍s o a p 淆惠 w e b 服务 图2 1w e b 服务交互关系图 从图中能够看到,x m l 作为w e b 服务的核心技术,为应用程序提供类型 系统;s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,简单对象访问协议) 为w e b 服务 提供了通信协议;w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ,w e b 服务描述语 言) 是作为w e b 服务接1 2 1 定义语言;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 y , a n d i n t e g r a t i o n ,通用描述、发现和集成) 用于发布w e b 服务的注册表。 2 3 1s o a p 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 ,简单对象访问协议) 定义了一个标 准,该标准为通过网络在应用程序间传输x m l 数据封装格式。s o a p 并不专门 针对某一编程语言、产品或硬件平台,所以任何应用程序均可使用它。一个s o a p 消息实际上是一个x m l 文档。然而,s o a p 专门用于包含和传输其他x m l 文 档以及路由、处理、安全性、事务处理和其他服务相关的信息。以下是一段简 单的s o a p 消息: a m a z o n c o m 1 5 1 62 n da v e s e a t t l e w a 9 0 9 5 2 它包括三个部分: ( 1 ) s o a p 封装:它定义了一个框架,该框架描述了消息中的内容是什 么,谁应当处理它以及它是可选的还是必须的。 ( 2 ) s o a p 编码规则:它定义了一种序列化的机制,用于交换应用程序所 定义的数据类型的实例。 ( 3 ) s o a pr p c 表示:它定义了用于表示远程过程调用和应答的协定。 s o a p 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来 执行类似于请求应答的模式。所有的s o a p 消息都使用x m l 编码。一条 s o a p 消息就是一个包含有一个必需的s o a p 的封装包,一个可选的s o a p 标头和一个必需的s o a p 体块的x m l 文档。 把s o a p 绑定到h t i p 提供了同时利用s o a p 的样式和分散的灵活性 的特点以及哪的丰富的特征库的优点。在唧上传送s o a p 并不是说 s o a p 会覆盖现有的h i q p 语义,而是哪上的s o a p 语义会自然的映射 到h t y p 语义。在使用h i t p 作为协议绑定的场合中,r p c 请求映射到 哪请求上,而r p c 应答映射到m t p 应答。然而,在r p c 上使用s o a p 并不仅限于h 1 曙协议绑定。 2 3 2 ,s d l w s d l ( w e bs e r v i c ed e s c r i p t i o nla n g u a g e ,w e b 服务描述语言) 是一个标 1 0 武汉理工大学硕士学位论文 准,用来描述使用s o a p 在两个系统间交换的x m l 数据的结构。当创建新w e b 服务时,用户也可以创建用于描述所交换数据类型的w s d l 文档。 w s d l 文档是遵循w d s lx m l 模式的。作为x m l 文档实例,如果要使 其有效且格式良好的话,应必须以正确的方式使用正确的元素。 一个w s d l 文档包含7 个重要元素,即t y p e s 、i m p o r t 、m e s s a g e 、p o r t t y p e 、 o p e r a t i o n 、b i n d i n g 和s e r v i c e 元素。这些元素嵌套于d e f i n i t i o n s 元素中。d e f i n i t i o n s 元素是w s d l 的根元素。 ( 1 ) t y p e s 元素:使用x m l 模式语言声明在w s d l 文档中的其他位置使 用的复杂数据类型与元素; ( 2 ) i m p o r t 元素:用于从其他w s d l 文档中导入w s d l 定义; ( 3 ) m e s s a g e 元素:使用在w s d l 文档的t y o e 元素中定义或在i m p o r t 元 素引用的外部w s d l 文档中定义的x m l 模式内置类型、复杂类型或元素描述 了消息的有效负载; ( 4 ) p o r t t y p e 元素和o p e r a t i o n 元素:描述了w e b 服务的接口并定义了它 的方法。o p e r a t i o n 元素要使用一个或多个m e s s a g e 类型来定义它的输入和输出 的有效负载; ( 5 ) b i n d i n g 元素:将p o r t t y p e 元素及其o p e r a t i o n 元素赋给一个特殊协议 ( 如s o a p ) 和编码样式; ( 6 ) s e r v i c e 元素负责将i n t e m e t 地址赋给一个具体的绑定; ( 7 ) d o c u m e n t a t i o n 元素向用户说明了w s d l 文档方面的一些信息。其他 任何w s d l 元素均能包含d o c u m e n t a t i o n 元素。 w s d l 为描述w e b 服务提供了精确、结构化和标准的格式。这对于创建代 码生成器的提供商和使用s o a p a p i 的开发人员是一件好事。w s d l 精确严格的 结构使供应商能够为专用w e b 服务提供自动生成可调用接口的各种工具,同时 允许使用s o a p a p i 的开发人员能够正确地构造、传递和处理s o a p 消息。 2 3 3u d d i 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 y , a n di n t e g r a t i o n ,通用描述、发现和 集成) 始于2 0 0 0 年,由a r i b a 、i b m 、m i c r o s o f t 和其他3 3 家公司创立u d d i r e g i s t r i e s 提供了一个机制,以一种有效的方式来浏览、发现w e bs e r v i c e s 以及 它们之间的相互作用。 武汉理工大学硕士学位论文 u d d i 计划是一个广泛的,开放的行业计划,它使得商业实体能够彼此发 现,并定义他们怎样在i n t e r n e t 上互相作用,并在一个全球的注册体系架构中共 享信息。u d d i 是这样一种基础的系统构筑模块,他使商业实体能够快速,方便 地使用他们自身的企业应用软件来发现合适的商业对等实体,并与其实施电子 化的商业贸易。 u d d i 是用于创建注册表服务的规范,该注册表服务能够对各机构以及它 们的w e b 服务进行分类。u d d i 规范的实现成为u d d i 注册表。u d d i 注册表是 一个数据库,该数据库支持由u d d i 规范定义的一套标准数据结构。该数据结 构对各机构( 公司、商业机构、政府部门等) 方面的信息以及访问由这些机构 提供的w e b 服务的技术要求方面的信息建立了模型。用户可以搜索u d d i 注册 表来得到特殊类型的公司或w e b 服务。用户也能够在u d d i 注册表中注册自己 的商务与w e b 服务。 u d d i 列表保存在u d d i 注册中心。每个列表包含以下内容: ( 1 ) 白页:地址、联系人和已知标识符 ( 2 ) 黄页:基于标准分类法的行业类别 ( 3 ) 绿页:有关业务公开的服务的技术信息 u d d i 规范目前由结构化信息标准促进组织维护。 2 4 本章小结 本章介绍了论文的一些基本背景知识,h 1 曙、x m l 、w e bs e r v i c e s ,这些 技术是理解基于r e s t 式服务的基础。 1 2 武汉理工大学硕士学位论文 第3 章基于r e s t 的架构风格介绍 3 1 传统软件架构介绍 3 1 1c s ( c l i e n t s e r v e r ) 架构 c s ( c l i e n t s e r v e r ) 结构,即大家熟知的客户机和服务器结构。它是软件 系统体系结构,通过它能够充分利用两端硬件环境的优势,将任务合理分配到 c l i e n t 端和s e r v e r 端来实现,降低了系统的通讯开销。目前大多数应用软件系 统都是c l i e n t s e r v e r 形式的两层结构,由于现在的软件应用系统正在向分布式的 w e b 应用发展,w e b 和c l i e n t s e r v e r 应用都能够进行同样的业务处理,应用不同 的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应 用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前 应用系统的发展方向。图3 1 展示了a s 架构的基本特征: 用户l用户2 用户殍面 业务逻坶 数据逻墙 数搪库 图3 - 1c s 架构示意图 1 3 武汉理工大学硕士学位论文 传统的c s 体系结构虽然采用的是开放模式,但这只是系统开发一级的开 放性,在特定的应用中无论是客户端还是服务端都还需要特定的软件支持。由 于没能提供用户真正期望的开放环境,c s 结构的软件需要针对不同的操作系统 系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电 脑以上局域网用户同时使用。而且代价高,效率低。 3 1 2b s ( b r o w s e r s e r v e r ) 架构 b s ( b r o w s e r s e r v e r ) 结构即浏览器和服务器结构。它是随着i n t e r n e t 技术 的兴起,对c s 结构的一种变化或者改进的结构。在这种结构下,用户工作界 面是通过w w w 浏览器来实现,极少部分事务逻辑在前端( b r o w s e r ) 实现, 但是主要事务逻辑在服务器端( s e r v e r ) 实现,形成所谓三层3 t i e r 结构。这样 就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低 了用户的总体成本。 以目前的技术看,局域网建立b s 结构的网络应用,并通过i n t e r n e t i n t r a n e t 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发, 能实现不同的人员,从不同的地点,以不同的接入方式比如 i a n ,w a n ,i n t e m e t i n t r a n e t 等) 访问和操作共同的数据库;它能有效地保护数 据平台和管理访问权限,服务器数据库也很安全。特别是在j a v a 这样的跨平台 语言出现之后,b s 架构管理软件更是方便、快捷、高效。图3 2 显示了b s 软 件架构的基本构成。 1 4 武汉理工大学硕士学位论文 用户l 用户2 固回 数搪库 图3 2 b s 架构示意图 由于b s 架构管理软件只安装在服务器端上,网络管理人员只需要管理服 务器就行了,用户界面主要事务逻辑在服务器端完全通过浏览器实现,极少部 分事务逻辑在前端实现,所有的客户端只有浏览器,网络管理人员只需要做硬 件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题, 后果不堪设想。 能够看到,这两种传统软件架构以现时技术水平来看,已经有很严重的缺 陷。当今软件需求不断的变化

温馨提示

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

评论

0/150

提交评论