(计算机应用技术专业论文)基于rest架构风格的web服务的研究和设计.pdf_第1页
(计算机应用技术专业论文)基于rest架构风格的web服务的研究和设计.pdf_第2页
(计算机应用技术专业论文)基于rest架构风格的web服务的研究和设计.pdf_第3页
(计算机应用技术专业论文)基于rest架构风格的web服务的研究和设计.pdf_第4页
(计算机应用技术专业论文)基于rest架构风格的web服务的研究和设计.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机应用技术专业论文)基于rest架构风格的web服务的研究和设计.pdf.pdf 免费下载

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

文档简介

江苏大学硕士研究生学位论文 摘要 计算机网络技术一直是计算机领域发展的一个重要方面,w e b 服务( w e b s e r v i c e s ) 技术是最近十年网络技术发展的一个热点。其得到发展的很大原因是 由于电子商务的迅速崛起,使得w e b 应用从局部慢慢发展到全球化。w e b 服务主 要用来定义了应用程序在i n t e r n e t 上实现互操作,拓展了应用程序的功能,实 现了软件功能的动态提供。w e b 服务技术使得网络研究的重点从网络层系统互联 向应用层服务集成迁移。w e b 服务技术不仅是一种网络技术,更是一种新型的软 件工程技术。软件的设计从面向对象转而变成面向服务,形成了面向服务的体系 结构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 。 传统的w e b 服务的发展是建立在一系列协议和标准的基础上的,这些协议和 标准在w e b 服务发展的过程中得到不断的改进和完善。三大基础的标准是s o a p 、 w s d l 、u d d i ,在此基础上形成了b p e l 、w s - c d l 、w s c i 等的高层协议。目前对于 语义网的研究比较多,它与w e b 服务结合起来,形成了语义w e b 服务,提出了 r d f 、o w l 等。传统w e b 服务的发展和s o a p 协议是分不丌的,通过它实现h t t p 的远程过程调用( r e m o t ep r o c e d u r ec a l l ,r p c ) 。这样的设计带来了不必要的 复杂性,使得h t t p 成为一种用于传输庞大x m l 负载的协议。描述信息放在x m l 里面,服务变地复杂、难以调试。传统的w e b 服务违背了简单性的w e b 理念,将 w e b 特有的能力隔离在很多抽象层之下。对此采用表示性状态转移( r e s t ) 风格 的w e b 服务,彻底的改变了w e b 服务的设计,让w e b 服务回归w e b 理念。 r e s t 架构风格( r e s t ,r e p r e s e n t a ti o n a ls t a t et r a n s f e r ) 提供了实现w e b 服务的新的理念,是当今世界最成功的互联网超媒体分布式系统架构之一,它使 得人们真币理解了h t t p 协议本来面貌。随着r e s t 式的架构成为主流技术,一种 全新的互联网网络应用开发的思维方式开始流行。传统的w e b 服务使用s o a p 和 r p c 。通过面向资源的架构( r e s o u r c e o r i e n t e da r c h i t e c t u r e ,r o a ) 替代r p c 式架构。面向资源的架构通过统一的接口,改进了r p c 接口复杂且无规律性的缺 点;通过暴露内部数据代替r p c 的暴露内部算法;通过对资源的设计,实现了 w e b 服务的r e s t 化。 我们实现了一个真正意义上的r e s t 式架构风格的w e b 服务,给出了详细的 江苏大学硕士研究生学位论文 设计。该服务是在研究d e l i c i o u s 网络书签服务的基础上,设计一个r e s t 式 的网络书签w e b 服务,详细设计暴露的资源以及统一的接口。基于r u b y0 1 3r a i l s 框架,本文设计了一种全新的完全符合r e s t 思想的设计方式。服务设计主要集 中在框架的设计,控制器实现主要的功能,并设计了集中数据的模型。在此基础 上设计了数据的表示、h t t p 响应并实现了一个简单的客户端。该服务是一个完 全的r e s t 式服务,通过与d e l i c i o u sw e b 服务的比较,得出了用r o a 对r p c 改进的优点。在此基础上对r e s t 式w e b 服务与传统w e b 服务进行比较。 关键词:r e s t ,w e b 服务,s o a ,r o a ,h t t p 江苏大学硕士研究生学位论文 a b s t r a c t c o m p u t e rn e t w o r kt e c h n o l o g yh a sb e e na ni m p o r t a n ta s p e c ti n t h ef i e l do f c o m p u t e rd e v e l o p m e n t w e bs e r v i c e st e c h n o l o g yi sah o tp o i n to fc o m p u t e rn e t w o r k t e c h n o l o g y i nt h el a s td e c a d e d u et ot h e r a p i de m e r g e n c e o fe l e c t r o n i c c o m m e r c e ,w e ba p p l i c a t i o nd e v e l o p e df r o ml o c a lt og l o b a lg r a d u a l l y w e bs e r v i c e sa r e m a i n l yu s e dt od e f i n ea c h i e v i n gi n t e r o p e r a b i l i t yo fa p p l i c a t i o ni ni n t e m e t ,e x p a n d i n g t h e a p p l i c a t i o n sf u n c t i o n ,i m p l e m e n t i n g t h es o f t w a r et o p r o v i d ed y n a m i c f u n c t i o n w e bs e r v i c e st e c h n o l o g ym a k e st h ef o c u so fn e t w o r kr e s e a r c hm i g r a t ef r o m t h en e t w o r k l a y e rs y s t e m s i n t e r c o n n e c t i o n t o a p p l i c a t i o nl a y e r s e r v i c e s i n t e g r a t i o n w e bs e r v i c e st e c h n o l o g yi sn o to n l yan e t w o r kt e c h n o l o g y , b u ta l s oan e w s o f t w a r ee n g i n e e r i n gt e c h n o l o g y t h es o f t w a r ed e s i g na l t e r df r o mo b j e c t - o r i e n t e dt o s e r v i c e o r i e n t e d ,f o r m i n gt h es e r v i c e o r i e n t e da r c h i t e c t u r e ( s o a ) t h et r a d i t i o n a lw e bs e r v i c e s d e v e l o p m e n ti sb a s e do nas e r i e so fp r o t o c o l sa n d s t a n d a r d s ;t h e s ep r o t o c o l sa n ds t a n d a r d so b t a i n e dc o n t i n u o u si m p r o v e m e n ta n d p e r f e c t i o nd u r i n gt h ep r o c e s so fw e b s e r v i c e sd e v e l o p m e n t t h r e eb a s i cs t a n d a r d sa r e s o a p , w s d l ,u d d ia n db a s e do nt h e mf o r m i n gb p e l ,w s c d l ,w s c ia n do t h e r h i g h - l e v e la g r e e m e n t c u r r e n t l y , s t u d yo nt h es e m a t i cw e ba r em o r ei n t e g r a t e dw i t h w e bs e r v i c e s ,f o r m i n gt h es e m a n t i cw e bs e r v i c e sa n dp r o p o s i n gr d f , o w l ,e t c t r a d i t i o n a lw e bs e r v i c e s d e v e l o p m e n ta r ei n s e p a r a b l ew i t hs o a pp r o t o c o l ,u s i n g w h i c hw ea c h i e v e dt h eh t t pr e m o t ep r o c e d u r ec a l l s ( r p c ) t h i sd e s i g nb r i n g s u n n e c e s s a r yc o m p l e x i t y , m a k i n gh t t pb e c o m eap r o t o c o lu s e dt ot r a n s m i th u g e x m l l o a d d e s c r i p t i o ni n f o r m a t i o n sa r ep u ti n t ot h ex m la n dt h es e r v i c e sb e c o m e c o m p l e xa n dd i f f i c u l tt od e b u g t h et r a d i t i o n a lw e bs e r v i c e sa r ec o n t r a r yt ot h e s i m p l i c i t yo f t h ew e b c o n c e p t ,m a k ew e b - s p e c i f i cc a p a b i l i t i e si s o l a t e du n d e ral o to f a b s t r a c t i o n s ow ea d o p tt h e r e p r e s e n t a t i o n a l s t a t e t r a n s f e r ( r e s t ) a r c h i t e c t u r e s t y l e ,c o m p l e t e l yc h a n g e dt h ed e s i g no fw e bs e r v i c e sa n dl e tw e bs e r v i c e sr e t u r nt o w e b 1 1 1 江苏大学硕士研究生学位论文 r e s ts t y l ea r c h i t e c t u r ep r o v i d ean e wi d e a st or e a l i z ew e bs e r v i c e s ,i ti so n eo f t h ew o r l d sm o s ts u c c e s s f u li n t e m e td i s t r i b u t e ds y s t e m sa r c h i t e c t u r e ,w h i c ha l l o w s p e o p l et or e a l l yu n d e r s t a n dt h eh t t pp r o t o c o l st r u ef e a t u r e s a st h er e s ts t y l e a r c h i t e c t u r eb e c o m i n gam a i n s t r e a mt e c h n o l o g y , an e wd e v e l o p m e n tt h i n k i n gw a yo f i n t e r n e tw e ba p p l i c a t i o ni si nf a s h i o n t a d i t i o n a lw e bs e r v i c e su s es o a pa n dr p c s ow eu s et h er e s o u r c e o r i e n t e da r c h i t e c t u r e ( r o a ) t oa l t e r n a t i v er p ca r c h i t e c t u r e r e s o u r c e o r i e n t e da r c h i t e c t u r eu s eau n i f i e di n t e r f a c e ,i m p r o v er p ci n t e r f a c e s s h o r t c o m i n g so ft h ec o m p l e xa n di r r e g u l a r ;e x p o s i n gi n t e r n a ld a t at or e p l a c et h e i n t e r n a lm e t h o de x p o s u r eb yr p c ;d e s i g n i n gr e s o u r c e st oi m p l e m e n tt h ew e bs e r v i c e s b e c o m er e s t - b a s e d w ea c h i e v e dat r u ew e bs e r v i c e so fr e s ts t y l ea r c h i t e c t u r ea n dd e t a i l e dd e s i g n i s g i v e n t h i ss e r v i c ei s b a s e do nt h es t u d i e so fd e l i c i o u sn e t w o r kb o o k m a r k s e r v i c e ,d e s i g n e dar e s ts t y l en e t w o r kb o o k m a r k sw e bs e r v i c e s ,w h i c he x p o s e d r e s o u r c e sa n dd e s i g n e dau n i f i e di n t e r f a c e b a s e do nr u b yo nr a i l sf r a m e w o r k ,t h i s p a p e rp r e s e n t san e wd e s i g ni d e a sf u l l yc o n s i s t e n tw i t hr e s tw a y t h er e a l i z eo f s e r v i c ef o c u s e do nt h ed e s i g no f t h ef r a m e w o r k ,t h em a i nf u n c t i o nd e s i g no fc o n t r o l l e r a n dt h ed e s i g no fac e n t r a l i z e dd a t am o d e l b a s e do na b o v e ,a u t h o rd e s i g nt h e r e p r e s e n t a t i o no fd a t a t h eh 1 v r pr e s p o n s ea n di m p l e m e n tas i m p l ec l i e n t t h es e r v i c e i saf u l l r e s ts t y l es e r v i c e b yc o m p a r i n gw i t ht h ed e l i c i o u sw e bs e r v i c e s ,a u t h o r o b t a i n e dt h eb e n e f i t sw i t hr o ai n s t e a do fr p c ,b a s e do nw h i c hh a v eac o m p a r e b e t w e e nr e s ts t y l ew e bs e r v i c e sa n dt r a d i t i o n a lw e bs e r v i c e s k e y w o r d s :r e s t ,w e bs e r v i c e s ,s o a ,r o a ,h t t p i v 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权江苏大学可以将本学位论文的全部内容或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口在年解密后适用本授权书。 本学位论文属于 不保密幽 学位论文作者签名:裆i 嘿 沙c 犀月l 譬同 指导教师签 沙( 。年月加 “钐雄 v 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容以 外,本论文不包含任何其他个人或集体已经发表或撰写过的作品 成果。对本文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:丰易潞 沙l9 年5 月i 2e t 江苏大学硕士研究生学位论文 1 1 研究背景和意义 第一章绪论 w e b 服列1 心技术在最近十年内得到了广泛的发展和应用,它虽然没有提出 一种全新的技术体系,但确实是一次对原有技术体系的一种飞跃式的革新。在此 之前,已经有过分布式对象系统与之类似,但是它缺乏多个系统之间的相互通信。 虽然w e b 服务本身并不是完全被当做是分布式对象的应用来实现的,但是它确 实是一种良好的分布式应用。它的出现改变了目前的w e b 开发模式并且大大减 少了企业商务应用部署的费用。它可以一次完全部署到因特网中,可以任意调用。 程序员无需与多种平台交互,w e b 服务的调用完全采取x m l 标准以及相关的技 术,具有完全的平台无关性,实现代价大大减少,统一性更高。 在w e b 服务的基础上,以后的软件设计更注重于设计服务的功能,慢慢形 成了面向服务的架构( s o a ) 。s o a l 3 】【4 】是一种以松散耦合为特征的,用于指导面 向服务的软件系统设计的架构思想。它的出现结束了整体软件系统结构长达4 0 年的统治地位,成为当前最流行的分布式体系架构,并得到业界巨头企业的追捧。 随后一系列相关的参考的实现、标准、工具和平台软件层出不穷。最近几十年面 向对象的分析和设计( o b j e c to r i e n ta n a l y s i sd e s i g n ,o o a d ) 一直是软件设计 的主流思想,直到s o a 出现,才改变了软件设计方法的格局1 5 j 。 传统的w 曲服务是基于r p c 模型的w 曲服务【胡。x m l1 7 1 是所有技术的基 础,s o a p 是各个服务之问互相访问时消息传递的标准协议,w s d l 描述了 w e b 服务的功能,u d d i 实现了服务注册和服务的发现。传统的w e b 服务也被 称作大w e b 服务( b i gw e bs e r v i c e ) ,一个主要原因是我们构建一个传统的w e b 服务会涉及到一系列复杂的技术和协议,而且传统的w e b 服务拥有复杂的接口、 紧密的耦合性和扩展性差等的问题。大w e b 服务从某种程度上也误用了h t t p 协议的初衷,它只是把h t t p 当作了一种传输协议来使用,在其之上承载了 s o a p 协议。其实h r r p 的初衷是把它设计为一种应用协议来使用的,h t t p 本 身就具有强大的功能。本身就能实现w e b 服务上的很多动作。另外w e b 服务 本身应该是基于w e b 的,w e b 是基于u r i 和链接的,但是大w e b 服务对于 l 江苏大学硕士研究生学位论文 链接的暴露却很少。w e b 还是基于h t t p 的,而大w e b 服务几乎不使用 h t t p 的任何特性。面对以上问题,另一种应用于架设w e b 服务的风格 r e s t ( r e p r e s e n t a t i o n a ls t a t et r a n s f e r ,即表述性状态转移) 1 8 就值得研究了。 r e s t 风格是由h t l 限协议的编写者r o yt h o m a sf 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 e ) ) 1 9 1 中正式提出的 一种现代w e b 架构风格模型,用来指导w e b 的设计、定义和部署。r e s t 在 某种意义上也可以说是h t t pf 1o 】f 1 1 1 1 1 2 】和u r i1 1 3 1 1 4 】这两个w e b 架构基础协议 背后的设计原理。基于r e s t 风格来设计w e b 服务架构,就是最大限度利用 h t t p 和u p , i 潜力的最佳实践。其实当h ,r 限被发明出来的时候,r e s t 就已 经存在了,只是后来的w e b 开发模式越来越背离h t t p 的本质,舍本逐末的 追求了r p c 模型。利用r e s t 风格构建的w e b 服务可以充分利用w e b 的特 性,解决传统的w 曲服务带来的问题。 本文提出在r a i l s 框架基础上实现了完全意义上的r e s t 架构风格的网络书 签w e b 服务。由于目前i 迮s t 式w e b 服务的研究还处在初级阶段,目前的w e b 服务采用的r e s t 风格也仅仅是一部分。一般的服务都在采用r p c 的基础上使 用一部分r e s t 式的架构。本文设计的架构完全抛弃了r p c 的使用,结合了面 向对象的架构,设计了统一接口,设计资源,通过暴露资源实现r e s t 式的w e b 服务。虽然本文实现的仅仅是一个简单的网络书签的例子,但是由于r e s t 式 w e b 服务设计所具有不同于传统w e b 服务的统一接口等的特点,其他服务的设 计也能采用文中的方法来实现。 1 2 国内外研究现状 国内外对w e b 服务的研究很多,主要集中在传统的w e b 服务方面。首先从 w e b 服务的各种协议开始,w e b 服务是建立在一系列的协议的基础上,称为w e b 服务协议栈。w e b 服务的协议发展主要经历了两个阶段:第一阶段主要形成了 s o a p l l5 1 、w s d l l l6 1 、u d d l l l 7 】的基础协议。第二阶段主要形成了b p e l l l 引、 w s c d l l l 9 1 、w s c i l 2 0 l 等的高层协议。内容涵盖了w e b 服务使用的各个方面,如 服务通信、描述与发现、服务质量、业务流程等。其次,对于w e b 服务计算有 着很多的研究,服务计算是面向动态、多变、复杂的互联网环境而提出的一种以 2 江苏大学硕士研究生学位论文 w e b 服务、面向服务的体系架构为基础支撑技术,以服务组合为主要软件开发方 法,以面向服务的软件分析和设计原则为基本理念的新的计算学科2 1 1 。主要的 研究包括,面向服务的体系架构、服务发现、服务组合、服务验证等。再次, w e b 服务和语义网结合,形成了语义w e b 服务。主要通过在w e b 服务中加入语 义信息,实现w e b 服务的自动化。 本文主要研究的是r e s t 架构风格的w e b 服务,区别于传统的w e b 服务, 这方面的研究目前还比较少,但是最近几年由于传统w e b 服务存在的一些问题 得不到很好的解决,相反r e s t 风格的w e b 服务却因为其与w e b 之间的紧密联 系,以及简洁的设计、统一的接口等的优点,因此r e s t 式的w | e b 服务处于不 断的发展中。 r e s t 的概念第一次提出是在2 0 0 0 年r o yf i e l d i n g 的博士论文中提出的,也 仅仅是他论文的第五章给出了r e s t 的概念,当时仅仅将r e s t 作为一种评判架 构的标准。但他的博士论文奠定了r e s t 研究的理论基础。r e s t 架构风格的 w | e b 服务随后不断的受到各方面的关注。j o eg r e g o r i o 的 ( r e s ta n dw s 1 2 2 】讲 述了如何创建一个r e s t 式的w e b 服务接口,并且对r e s t 与w s 木技术做了比 较。他的( ( h o wt oc r e a t ear e s tp r o t o c 0 1 ) ) 1 2 3 1 ,以及为x m l c o m 撰写的有关r e s t 的文章【2 4 1 都是很好的研究r e s t 式w 曲服务的资料。d u n c a nc r a g g 博客文章系 列( ( t h er e s td i a l o g u e s ) ) 2 5 1 ,是一个思想上的实践,它把一个r p c 风格的应用 重新构想为一个由互联的资源构成的w e b 。p a u lp r e s c o d 的( ( c o m m o nr e s t m i s t a k e s ) ) 【2 6 垮旨出了常见的r e s t 的错误。l e o n a r dr i c b a r d s o n 等撰写的r e s t m l w e bs e r v i c e s ) ) 详细阐述了从概念到实际设计,比较全面地介绍了构建r e s t 风 格的w e bs e r v i c e s ,并提出了r o a ( r e s o u r c eo r i e n t e da r c h i t e c t u r e ) ,面向资源的 架构) 的新概念【2 。c h r i s t i a ng r o s s 撰写的a j a xa n dr e s tr e c i p e s :a p r o b l e m s o l u t i o na p p r o a c h ) ) 【2 8 1 探讨了针对a j a x 、j a v a s c r i p t 和基于r e s t 的w e b 服务,以及其功能性实现的实践解决方案。另外还有一系列的论文对r e s tw e b 服务进行了深入的研究。 在国内,姚鹤岭在其博士论文基于r e s t 的g i sw e b 服务研究【2 9 j 中 首次将r e s t 与g i s 联系在一起,为继续向该方向研究打下了基础。随后詹骞 和戚岩的博士论文基于a i a x r e s t 的g i s w e b 服务研究与实现【3 0 1 和基于 江苏大学硕士研究生学位论文 a j a x 技术与r e s t 架构的w e b g i s 研究与实现【3 1 1 都结合了a j a x 和r e s t 技 术对于地理信息系统进行研究和实现。袁煜锋的硕士论文基于f l e x 与r e s t 的w e b g i s 研究【3 2 】贝0 主要是基于f l e x 框架模型对于r e s t 架构风格的w e b g i s 进行研究。 除了对使用r e s t 对于g i s 的w e b 服务的研究外,还有从各种方面对r e s t 风格的w e b 服务进行研究。对于构建r e s t 式的w e b 服务应用的研究,w e b 服务实现方案中,因为r e s t 模式的w e b 服务与复杂的s o a p 和x m l r p c 对 比来讲明显地更加简洁,以至于越来越多的w e b 服务开始采用r e s t 风格来进 行设计和实现。例如,亚马逊网站【3 3 1 提供接近r e s t 风格的w | e b 服务进行图书 查找;雅虎提供的w - e b 服务1 3 4 1 也是r e s t 风格的。g o o g l e 也宣布弃用s o a p 搜 索服务,转而建议采用一种r e s t 式、面向资源的服务。目前,大多数服务供应 商,如y a h o o 、e b a y 、a i t l a z o n 、g o o g l e 都提供了r e s t 风格的w 曲服务a p i 。 据著名的w e b 2 0 网站p r o g r a m m a b l e w e b c o m 统计,目前可用的r e s t 风格的w r e b 服务a p i 数量为3 8 6 个,而基于s o a p 的w e b 服务a p i 数量只为1 6 2 个,而且 r e s t a p i 出现的时间短,足可见其发展的迅猛。 1 3 研究内容 作者从事本课题以来,研究了r e s t 式w e b 服务的主要技术,课题进行的 工作包括: 1 ) 分析研究了w e b 服务各种技术和w e b 服务的发展方向,特别r e s t 架构 风格在w e b 服务中起的作用。传统的w e b 服务技术的发展是有目共睹的,传统 的w e b 服务是基于r p c 的w e b 服务,由于单个的w e b 服务功能有限,可以通 过将多个w e b 服务进行有机组合完成一系列的复杂任务,s o a 是用来对w e b 服 务进行整合的架构。对于传统的w e b 服务存在很多的问题,根源是因为它违背 了w e b 的本意,在此基础上产生的r e s t 式的w e b 服务就是回归了w e b 技术本 质,它具有一系列优点,对传统的w e b 服务是一次全面的革新。本文重点研究 的是r e s t 式的w e b 服务的设计。 2 ) 分析研究了r e s t 风格的面向资源的架构,r e s t 实现w e b 服务主要关 注的是资源,它将w 曲看成是一个资源的集合,面向资源的架构首先对于资源 4 江苏大学硕士研究生学位论文 设计进行了研究。对于资源的概念,资源的名称即用u r i 对资源进行描述,还 有资源的表示和资源之间的链接。随后分析了r e s t 式的面向资源架构的特点, 是可寻址性、无状态性、连通性和统一接口。它们是r e s t 风格在w e b 服务设 计的体现。 3 ) 在对r e s t 风格的w e b 服务进行研究的基础上,设计实现了一个r e s t 风格的w e b 服务。在研究一个r e s t - r p c 混合服务_ d e l i c i o u sw e b 服务的基 础上,重新实现了一个网络书签服务。覆盖了d e l i e i o u s 网站和d e l i c i o u sw 曲 服务【3 5 l 的具体功能,而且是完全符合r e s t 风格的架构。使用当下流行的r u b yo n r a i l s 框架设计,借鉴了d e l i c i o u s 网站和d e l i c i o u sw e b 服务的的数据集与资源 设计,用r u b yo nr a i l s 重新架构新的r e s t 风格的w r e b 服务,利用多个控制器 来实现资源的暴露,根据设计的主要三个数据库表实现三个模型类。然后根据 r e s t 风格的面向资源的架构设计了资源的表示,资源之间的链接和响应代码的 实现。接着利用r u b y 的r e s t o p e n - u r i 客户端库实现了一个r e s t 客户端。最后 通过将我的网络书签服务和d e l i c i o u s 网站,d e l i c i o u sw e b 服务进行比较,充 分体现了r e s t 服务的优点。 1 4 论文组织 论文的主要内容安排如下: 第一章,绪论。给出了课题的研究背景和意义,分析了国内外的研究现状, 提出论文的目标和主要内容。 第二章,传统w e b 服务解析。分析研究了传统的w e b 服务及其相关技术, 从w e b 服务的模型,协议栈角度对传统的w e b 服务进行全面分析,并且对语义 w e b 服务进行了各个层次的分析。通过分析了传统的w e b 服务,指出了其存在 的固有的缺点。 第三章,r e s t 式w e b 服务相关技术综述。对于传统的w e b 服务的缺点, 我通过设计r e s t 式的w e b 服务来解决。本章介绍了r e s t 式w e b 服务使用的 相关技术。先是详细介绍了r e s t 式架构风格的特点,然后介绍了类似于描述传 统w 曲服务的w s d l 的描述r e s t 服务的w a d l 。接着研究了设计了r e s t 式 架构风格设计w e b 服务的架构面向资源的架构,并对资源的设计和面向资 江苏大学硕士研究生学位论文 源架构特性进行研究。最后介绍了几种设计r e s t 式w e b 服务的框架,接下去 的服务设计就是基于最经典的r u b yo nr a i l s 框架。 第四章,基于r e s t 架构风格的w e b 服务设计。以用前面所研究的内容, 设计一个完全意义上的r e s t 架构风格的w e b 服务,彻底解决了传统w e b 服务 存在的问题。我采用的是r u b yo nr a i l s 框架,设计一个网络书签服务,实现了 d e l i c i o u s 网站和其w e b 服务的基本功能。从资源、控制器、模型、h t t p 响应、 客户端等各个方面详细设计。接着和d e l i c i o u s 进行对比,实现了r e s tw e b 服 务的优点。最后在实现服务以后,对r e s t 式的w e b 服务和传统w e b 服务作了 比较。 第五章,总结和展望。介绍了作者论文的总结和所做工作的总结。在分析所 做工作成果的基础上,提出工作的不完善之处和响应的改进意见。并且对于未来 的工作做一个全新的展望。 6 江苏大学硕士研究生学位论文 第二章传统w e b 服务解析 2 1 传统w e b 服务的基本概念 根据w 3 c 的定义,w e b 服务( w e bs e r v i c e s ) 应当是一个软件系统,用以支 持网络间不同机器的互动操作。w e b 服务通常是许多应用程序接口( a p i ) 所组 成的,它们通过网络,例如i n t e m e t 的远程服务器端,执行客户所提交服务的请 求。w e b 服务是基于网络的、分布式的模块化组件,它执行特定的任务,遵守 具体的技术规范,这些规范使得w e b 服务能与其他兼容的组件进行互操作。它 可以使用标准的互联网协议,像超文本传输协议h 1 v r p 和x m l ,将功能体现在 互联网和企业内部网上。它是一种面向服务的架构的技术,通过标准的w e b 协 议提供服务,目的是保证不同平台的应用服务可以互操作【3 6 1 1 3 7 1 。 传统的w e b 服务是基于r p c 模型的w e b 服务。x m l 是所有技术的基础, s o a p 是各个服务之间互相访问时消息传递的标准协议,w s d l 描述了w e b 服务的功能,u d d i 实现了服务注册和服务的发现。 2 1 1w e b 服务模型 w e b 服务是面向服务的架构( s o a ) 1 3 8 j ,它的模型结构基于三种角色( 服 务提供者、服务注册中心和服务请求者) 之间的交互。交互涉及发布、查找和绑 定操作。这些角色和操作一起作用于w e b 服务构件、w e b 服务软件模块及其描 述。 在典型情况下,服务提供者托管可通过网络访问的软件模块( w e b 服务的一个 实现) 服务提供者定。w e bs e r v i c e 的服务描述并把它发布到服务请求者或服务注 册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后 使用服务描述与服务提供者进行绑定并调用w e bs e r v i c e 实现或同它交互。图2 1 描述了这些操作、提供这些操作的组件及它们之问的交互。 7 江苏大学硕士研究生学位论文 图2 - 1w e b 服务模型 服务提供者( s e r v i c ep r o v i d e r ) 。从使用者的角度看,这是服务的所有者。从体 系结构的角度看,这是托管访问服务的平台。 服务请求者( s e r v i c er e q u e s r o r ) 。从使用者的角度看,这是要求满足特定功能 的用户。从体系结构的角度看,这是寻找并调用服务,或启动与服务的交互的应 用程序。服务请求者角色可以由浏览器来担当,由人或无用户界面的程序如另一 个w e b 服务来控制它。 服务注册中,i 二, ( s e r v i c eb r o k e r ) 。这是可搜索的服务描述注册中心,服务提供 者在此发布他们的服务描述。在静态绑定开发或动态绑定执行期间,服务请求者 查找服务并获得服务的绑定信息( 在服务描述中) 。对于静态绑定的服务请求者, 服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发 送给服务请求者。 s o a 体系结构中的组件必须具有上述一种或多种角色。这些角色之间使用三种 操作: 1 ) 发布操作:使服务提供者可以向服务注册中心注册自己的功能和访问接口 2 ) 查找操作:使服务请求者可以通过服务注册中心查找特定种类的服务。 3 ) 绑定操作:使服务请求者能够真正使用服务提供者提供的服务。 2 1 2w e b 服务协议栈 研究w e b 服务的体系结构,我们可以分析它的协议栈。栈的总体目标是建 立一系列w e b 服务接口,以使得一个w e b 服务客户端程序能够与一个应用服务 器或者中间件进行交互。在接口的实现上,需要使用简单对象访问协议( s o a p ) ,以 及其它的互联网协议( 如h t t p ,s m t p ,f t p 等等) 来完成调用过程。从本质上讲,这 8 江苏大学硕士研究生学位论文 种调用是基于r p c 的,但不需要使用特定的客户端的库,从而允许异构系统互相 通信。w e b 服务协议栈的结构如图2 - 2 所示。 錾服务纽装 - ,:i + b p 砖e s l c a w 。s i改,、:一一, 爹服务发布; 黪与发现,。 ,- u d d i 、e b x m lr e 盟i s i r i e s w s l n i 煅t ;o 略 嚣服务描述l 。、1 , e bs e n i c e sd e t c r l p t i o al 盘嚷蝴鐾e l 、轴u 积fj j 鎏。碍。参尊:箜一二j 一? 粤p k 翟畦e c ta :错、sp r n t 。掣 s o a p ) 二 图2 2 w e b 服务协议栈 w e b 服务协议栈的基础是服务传输层,w e b 服务能够被服务请求者调用, 必须通过服务传输的网络层访问。h t t p 由于其在在因特网成为最普遍部署的网 络协议,所以成为w e b 服务真正的标准网络协议。当然w e b 服务还支持其他的 因特网协议,包括f t p , s m t p , m q ( 消息排队) ,i i o p ( 因特网o r b 间协议) 上的远 程方法调用( r e m o t em e t h o di n v o c a t i o n ,r m i ) ,e m a i l 等,具体哪种网络协议和 应用程序的具体需求有关。上面的协议是在下面协议的基础上实现的,最底下三 层协议必须保持一致性和互操作性,它们充分利用现有因特网的基础结构,灵活 性并没有因为互操作需求而降低,而且可以选择性增加其增值技术。 2 1 3 语义w e b 服务 语义网( s e m a n t i cw e b ) 是由万维网联盟的蒂姆伯纳斯李( t i mb e m e r s l e e ) 在1 9 9 8 年提出的一个概念【3 9 1 ,它的内核是:通过给万维网上的文档( 如h t m l ) 添加能够被计算机所理解的语义( m e t ad a t a ) ,从而使整个互联网成为一个通用的 信息交换媒介。语义万维网通过使用标准、置标语言和相关的处理工具来扩展万 维网的能力。不过语义网概念实际上是基于很多现有技术的( 某些技术甚至可以 追溯到2 0 世纪6 0 年代末期) ,也依赖于后来和t e x t a n d m a r k u p 与知识表现的综 合 一个w e b 数据库,某种意义上就像一个全球数据库。基本的思想就是一个 w e b ,在那里远程主机可以以有意义的方式进行交谈,而不仅仅是请求h t m l 。 9 江苏走学硕

温馨提示

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

评论

0/150

提交评论