(模式识别与智能系统专业论文)idl2wsdl语义映射的研究.pdf_第1页
(模式识别与智能系统专业论文)idl2wsdl语义映射的研究.pdf_第2页
(模式识别与智能系统专业论文)idl2wsdl语义映射的研究.pdf_第3页
(模式识别与智能系统专业论文)idl2wsdl语义映射的研究.pdf_第4页
(模式识别与智能系统专业论文)idl2wsdl语义映射的研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(模式识别与智能系统专业论文)idl2wsdl语义映射的研究.pdf.pdf 免费下载

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

文档简介

工d l 2 w s d l 语义映射的研究 李禺( 东南大学硕士) ,导师:吴介一( 教授) 摘要: 本文主要进行基于c o r b a 开发w e bs e r v i c e s 的研究,使得c o r b a 成为开发w e bs e i c e s 的 一个良好平台。它所带来的巨人优势是,可以将基于c o r b a 开发的系统封装成为w e bs e r v i c e s ,在 i n t e r n e t 上发布;还可以保证这些系统可以对i n t e m e t 上已有的w e bs e r v i c e s 进行访问。从而使得这 些系统在互联网上具有良好的可扩展性和可交互性,以保护现有投资。 本文首先分析了c o r b a 和w e bs e r v i c e s 的优缺点,并研究了他们各自的接口定义语言。然后 讨论了w e bs e r v i c e s 的儿种设计模式和它”j 的应i 坩环境,j f 对c o r b a 对缘的w e bs e r v j c e s 封装技 术进行了研究,对接口没计提出了一些建议。 接着,本文提山了i d l 到w s d l 语义映射的规范,该规范规定了i d l 各种元素的映射标准,并 根据规范设汁编译器后端,对编译生成的w s d l 文档使用n e t 的w sd l e x e 进行验证。最后,论文对 w e b 服务的注册与发现机制进行了初步研究。 本论文的研究工作受国家8 6 3 前沿探索研究类项目“面向电子商务的新型网络服务体系及集成 软什环境”( 编号2 0 0 3 a a 4 1 3 3 2 0 ) 的资助。 关键词:c o r b a 、w e bs e r v i c e s 、i d l 、w s d l 、语义映射、编译器 第i 页 r e s e a r c ho ni d l 2 w s d ls e m a n t i cm a p p i n g l iy u ( s e um a s t e r ) ,a d v i s o r :p r o f e s s o rw u j i e y i a b s t r a c t h o wt od o v e 0 9w e bs e i c e sb 矗s e do nc o r b aa 耐m a k ec o r b aa 蹿o dp l a t f o f mf o rw 如s e r v i c e s j sm a j n j yd i s c u s s e d 临b 碹a d v a n l a g ei sl h a l i a r g e 删m b e r o f a p p 】j c a t i o n sb 船列o nc o r b ac a nb e e n c a p s u l a t e di n t ow e bs e r v j c e sa n dp u b l i c i z e do v e r i n t e m e t ,a n di t i sa l s oe n s u r e dt h a tt h e s ea p p l i c a t i o n s c a nm a 虹m l lu s eo f o i h e rw 曲s e r v i c e s ,s ot h ee n c a p s u i a t i o nc a ng i v et h e s ea p p i i c 撕o n sg o o d e x t e n s | b i l t ya n dg o o da b i l i t yf o ri n t e r - o p e r 毗i n ga c r o s st h ei n t e r n e t f i r s t ,t h ea d v a n t a g e s ,s h o r t c o m i n g sa n di n t e r f k ed e 6 n i t j o n 】a n g u a g e so f c o r b aa n dw e bs e r v i c e s a r ed l s c u s s e dr e 5 p e c i i v e l yt h e ns e v e r a lu s e m ld e s i g np a n e m sf o rw 曲s e n ,j c e sa n dt h e i ra p p l i c a b i l t ya r e s i u d i e d ,a n ds e v e r a js u g g e s t i o n sf b r t h ei n i e r l j c ed e s i g nt e c h n i q u ea r eg t v e na 竹e rh o wt od e s i g nw 曲 s e r v j c e sb a s e do nc o r b ai ss t u d i e d t h e ni h e r ec o m e st h es p e c 讯c a t i o nf o ri d l 2 w s d ls e m a n t i cm a p p j n g ,w h i c hs p e c i n e si h em a p p j n g 仔o me l e m e n t ss u 幽a si d l 西m p l ed a t at y p e s ,o m p l e xd a t a 母p e s ,m o d u l ea n d n t e f 红c et ow s d 乙e l e m e n 住 ac 0 1 n p n e r b a c k e n di sd e s i g n e da n dj m p l e m e n t e dc o n f o 咖m i n gt 0t h i ss p e c j n c a t i o n t h ew s d l d o c u m e n t sg e n e r a t e db yt h ec o m p e rc a nb ev er i n e db yw s d le x ei nn e tf r a m e w o r ks d k f i n a l ly t h e m e c h a n l s mf o rw s d l r e g i s t f a t i o na n dd i s c o v r yi sa l s os 【u d i e d , t h i sr e s e a r c h j sas u b p r o j e c to f ”a n b ws e r v j c e o r i e n l e d n e l w d r k a r c h i l e c t u f ef o r e 】e c t r o n i c b u s i n e s sa n di i sj n t e g r a l e ds o 脚a r ee n v i r o n m e n t ”( c o d e2 0 0 3 a a 4 1 3 3 2 0 ) ,s u p p o 九e db yn a t i o n a l8 6 3 f r o n t l i n er e s e a r c hf o u n d a t i o n k e y w o r d :c o r b a 、w e bs e r v i c e s 、i d l 、w s d l 、s e m a n t i cm a p p i n g 、c o m p i l e r 第,r 卜页 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:搁 日 期:趁塑! 笙 东南大学学位论文使用授权声明 东南人学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名:盔星导师签名:盔! l 二日期:。f 掣 第一章绪论 1 1 论文的研究背景 第一章绪论 当今形势要求制造业的生产经营战略应面向更广的市场,快速灵活地组织和利用各种分布的、 异构的制造资源,撵求企业内,闻的各种合作,实现异地设计与制造,以便快速响应市场机遇,在激 烈的市场竞争中求得生存和发展。异地设计与制造是指在异地异时、异构系统、异种平台、进彳r 实 时动态地设计和制造,是在企业内部或企业联盟中进行产品数据管理的重要支持手段,它应该能在异 地之间进j 亍正确、高速、安全、简便的数据流的传输。实现在异地之间产品信息的可视化、实时化, 有统一的信息管理系统,统一的信息门户,良好的系统的开放性丰友好性和统一的数据标准和规范。 但是目前很多制造系统足基于不同的分布对象技术开发的,这存在两个比较突出的问题:参与 者没有使用统一的标准或体系构架作为彼此服务联系的方法,使得相互问的信息交换和合作较为困 难;缺乏统一的商业发布和发现机制,使得企业之间无法互相发现并进一步开展有效的合作。w e b s e r v i c e s 的提出可以有效的解决以上问题。w e bs e j c e s 是一种基于w e b 的计算模式,它提出了新的、 面向服务的体系结构,可以提供便丁在互联网范围内进行服务注册和发现以及调用的手段,帮助企 业挖掘发挥现有技术构最大功能,打破各类制造系统在不嗣体系上钓束缚,在互联网上方便地进行 发布、发现和互操作,进而打破企业问的界限,建立起广泛的贸易伙伴关系,满足网络化制造对交 互性干丌集成性的要求。 但是,、bs e r v i c e s 的效率、管理、可靠性、安全性,以及是基于现有的基础进行开发还是进行 全新的开发,都是不得不进行慎重考虑的环节。企业用户更倾向于仅将本企业对外服务和交流的模 块进彳w e bs e r v i c e s 的包装平发布,而企业内部的系统仍然架构在分布对象计算技术之上,毕竟后者 有着成熟的经验和完整稳定的体系。在现有的分布对象计算技术基础之上进行w e bs e “i c e s 的开发 将能够对企业现有资源进行更好的保护,并且可以充分利用这些体系来弥补w c bs e r v i c e s 的弱项。 1 2 国内外研究状况 制造业是推广c o r b a 技术最积极应用最深入的应用领域之一,o m g 组织成立了专门的制造 业领域技术委员会,通过制订相应的规范,如p d m 使能器规范等。来指导和推动c o r j 3 a 技术在制 造型企、监的应用:与此同时,各专业公司和研究机构也纷纷推出基于c o r j 狐技术和恐想的框架、 解决方案和产品,应用于企业信息化平台和系统的构建。在我国国内,有多家单位进行了c o r b a 及其公j 对象服务领域的研究和开发工作,也有一些自行研制开发的系统在c i m s 、电信、金融和 电力等领域得到了运用。在该领域,我国的研究和开发能力及水平与国际先进水平相比并不存在着 很人的差距。 目前w e bs e r v i c e s 是当前国内外研究的热点:w 曲s e j c e s 是一系列标准和正在发展中的标准, 它们是由w 3 c 设计和指定的,用来促进跨平台的应用程序间的通信和协作。w e bs e r v i c e s 标准中, w s d l ( w e b 服务描述语言) 和一个过程嘲用协议s o a p ( 简单对象访问协议) 作为正式的w 曲服 务标准。与w e b 服务体系结构有关,非正式的w e b 服务标准有:统一描述、发现和集成( u d d l ) ; 一个发展中的注册中心标准;可扩展标记语言( x m l ) ;超文本传输协议( h t l p ) 。国外一些火公 司已经开发n ”日应的w e bs e r v i c e s 开发软件如:i b m 的w e b s p h e r e ;微软的n e t ;s u n 公司的 s u n o n e 。国内有关w e b s e r v c e 的研究还不多,主要局限住基于各种软件开发w 曲服务的应用。 但是目前基丁c o r b a 开发w e bs e i c e s 的研究还不多,开发人员也只能使_ q 上述的开发工且 来对某一特定的c o r b a 对象进行封装,通过静态s t u b 米调用的服务。这足一个非常繁琐乏味的开 发过程,完全可以借助编译器等t = 具来产生p m x y 类并向i n t e r n e t 范围内发布服务。所以当前非常 需要i d l 2 w s d l 和l d l 2 p o x y 这样的编译器。 第1 ,页 东南大学硕上学位论文 1 3 论文的研究任务 本课题是国家高技术研究发展计划( 8 6 3 计划) 前沿探索类课题“面向电子商务的新型网络服 务体系及集成软件环境”( 项目编号2 0 0 3 a a 4 1 3 3 2 0 ) 的子项日“i d l 2 w s d l 语义映射”。该项目由东 南人学计算机网络和通信实验室、c j m s 中心与南京新模式软件集成有限公司合作研究。 本文主要进行基于c o r b a 开发、v c bs e r v i c e s 的研究,使得c o r b a 成为w 曲s e r v i c e s 开发的良 好平台。它将基于c o r b a 开发的遗留系统通过封装成为w 曲s e r v i c e s 在i n t e m e t 上发布;还可以 保证这些系统可以对i n t c r n e l 上已有的w 曲服务进行访问。这使这些遗留系统在互联网上具有良好 的扩展性和交互性,从而使现有投资得以保护。 本课题具体的研究内容包括: j 基于c 0 r b a 进行w e bs e r v i c e s 开发的初步研究 2 i d u w s d l 语义映射的理论研究 3 设计并实现一个i d l 2 w s d l 编译器原型 4 w s d l 发布的初步研究 第2 页 笫二章中间件技术 2 。1 中问件及其分类 第二章中问件技术 i n l e m e t 使计算机的应用范围更为广阔,许多府用程序需在网络环境的异构平台上运行。这对软 t i :开发提出了新的需求。在这种分布式的异构环境中,通常存在各种硬件平台( 如p c 、工作站、小 型机等) ,在这些硬件平台上又存在各种各样的软件系统( 如不同的操作系统、数据库、语言编泽器等) 以及各种风格各异的用户界面,这些硬什系统平台还可能采用不同的网络协议和网络体系结构连接。 如何把这些系统集成起来并开发新的麻用是一个非常现实而困难的问题。 中间什( m i d d l e w a r e ) 的出现正是为了解决异构问题。中间件足位于系统平台( 硬件年操作系统) 羊 应用程序之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬什平台, 它们可以有符合接口和协议规范的多种实现。它具有满足大量应用的需要、运行于多种系统平台、 支持分布计算,提供跨网络、硬件和操作系统平台的透明性的应用或服务的交互、支持标准协议、 支持标准的接口等特点。 基于目的和实现机制的不同,可以将中间件分为远程过程调用( r p c ) 、面向消息的中间件 ( m e s s a g e o r i e n t e dm i d d l e w a 陀,m o m ) 和对象请求代理( o b j e c tr e q u e s tb m k e r s ,o r b ) 三类。下面 对这儿类中间件进行简要介绍: 远程过程调用( r p c ) 客户进程与服务器之间的相互作用是作为面向对象的r p c 通信来实现的。为调用一个远程函数, 客户程序耍调用客户机存根。然后存根将调用参数打包成一个请求消息并调用传输协议将该消息传 送到服务器。在服务器端,传输协议将消息传送给服务器存根,随后服务器存根解包清求消息并调 刚对象中真正的函数。服务器端返回响应消息的打包和解包过程与发送请求的过程相同。相应的存 根和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。服务器年客户机可 以位于同台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。 在r p c 模型中,客户机和服务器只要具备了相应的r p c 接口,并且具有r p c 运行支持,就可 以完成相应的互揲作。远程过程调只 r p c 所提供的是基于过程的服务访问,客户机与服务器进行直 接连接,没有中间机构来处理请求,因此具有一定的局限性。比如,r p c 通常需要一些网络细节以 定位服务器,并且在客户机发出请求的同时,要求服务器必须是活动的等等。 目前,m i c r o s o rd c 0 m 和c o r b a 的i i o p 就基于r p c 模型。 面向消息的中间件( m o m ) m o m 利用消息传递机制进行平台无关的数据交流,由它负责维护消息队列、维护通讯程序与 队列之间的关系、处理网络通讯。两个交互的程序通过将消息放入消息队列或从消息队列中取出消 息来进行通讯。由于程序问没有直接的联系所以它们不必同时运行。消息放入适当的队列时,曰 标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。 目前m o m 中间件产品有i b m 的m q s e r i e s 、b e a 的m e s s a g e q 等。 对象清求代理( 0 r b ) 对象清求代理( o r b ) 是软总线,它定义了异构环境下对象透明地发送请求和接收响应、建立对 象之间c l i e n t ,s e r v e r 关系的基本机制。o r b 使得对象可以透明地向其他对象发j 请求或接受其他对 象的响应,这些对象可以位于本地也可以位丁:远程机器。o r b 拦截请求调用,并负责找到可以实现 请求的对象、传送参数、调用相应的方法、返回结果等。 目前c o r b a 规范包括了o r b 的标准接口。 第3 页 东南大学硕上学位论文 2 2 d c o m m j c r o s o rd c o m 能支持在局域网、广域网甚至i n t e m e t 上不同计算机的应h j 程序之间的通讯 并负责处理包括网络协议在内的低层次的细节问题。并且它具有语言独立性,j a v a 、v i s u a l c + + 、v i s u a l b a s i c 、d e l p h i 、p o w e r b u i l d e r 和c o b o l 都能够和d c o m 相互作用。它的体系结构如图2 1 所示。 圈2 一ld c o m 的体系结构 d c o m 主要基于r p c 模型,客户的请求通过c o m 的运行时支持,该运彳亍时支持将该请求消息通 过d c o m 自己的决议栈编码发送到服务器的c o m 运行时支持,由服务器端的组件处理请求消息后, c o m 运行时支持通过同样的步骤将响应消息发送回客户端。 d c o m 通过给每个组件保持一个索引计数来管理对组什的连接问题,当一个客户和一个组件建 立连接时,d c o m 就增加此组件的索引计数。同理,当客户释放连接时,d c o m 就减少此组件的索 引计数。如果索引计数为零,组件就被释放。d c o m 使用有效的地址合法性检查( p i n g i n g ) 协议来 检查客户进程是否仍然是活跃的。客户机周期性地发送消息,当经过火于等于三次p j n g 周期而组件 没有收到p i n g 消息时,d c o m 就认为这个连接中断了。一旦连接中断,d c o m 就减少索引计数, 当索引汁数为零时就释放组件。从组什的这一点看来,无论是客户进程自己中断连接这种良性情况, 还是网络或者客户机崩溃这种致命情况都被同一种索引计数机制处理。当组件没有在服务时,有 客户与之连接,系统将自动根据客户的权限等信息启动组件服务并对其进行配置。这比基本的远程 过程调用( r p c ) 更加先进。 2 3c o r b a 公共对象请求代理架构( c o m m o n0 b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,c o r 卧) 是o m g 为实 现分布式甘点问互操作而制定的规范。该规范的目标是定义一个架构,该架构能允许在异构环境中 的应h j 程序进行对象级的通信,而无需考虑是谁设计了分布式应用程序的两个端点。c o r b a 定义了 允许客户机服务器对象在对象请求代理( o b j e c tr e q u e s tb r o k e r ,o r b ) 中相互作用的接口定义 语言( i n t e r f a c ed e f i n i t i o nl a n g u a g e ,i d l ) 和应用程序编程接口( a p p l ic a t i o np r o g r a m m j n g i n t e r f a c e s ,a p i ) 。o r b 是在分布式对象间建立请求者一服务者关系的软总线。o r b 收到一条调j h 消 息,米为注册的对象调用一个特定的方法。o r b 截获这条消息,并负责搜索一个能执行该请求的对 象,将参数传递给它,调用它的方法,然后返回结果。理论上,请求节点无需知道对象的位置、它 的编程语言、它的操作系统或不属于对象接口的一部分的任何其它系统方面的信息。 如图22c o r 队的体系结构图所示,在c o r 卧框架中有如下几种主要元素: 1 接口:接口是一些函数方法的集合 2 对象类:实现一个或多个接口的类 3 对象:某一个类的个体 第4 页 第二章中间件技术 4 服务器 5 客户; 创建和包含对象的容器进程 调用某一个接口函数的进程 r _ r _ r 一 卜一一一哪ff 喘善裟” fm m 州一f 心z 2c 0 r b a 体系结构 接口用一系列方法在外部把c o r b a 对象表现出来。一个对象引用可以识别对象的一个特殊实例。 c o r b a 对象的一个客户程序获取了其对象引用,并将它用作句柄进行方法调用,就女f 像对象是位于 客户程序的地址空间中一样。0 r b 负责搜索对象的实现所需要的所有机制,让它做好接收请求的准 备,随后将请求传达给它,并将同应( 如果有的话) 送回客户程序。 2 4w e bs e r v i c e s 从使用者的角度而言,w e bs e r v i c e s 是部署在w e b 上的对象组件它具备以下特征: 封装性:w e b 服务是一种部署在w e b 上的对象,具备对象的良好封装性。客户只能看到该对象 提供的接口。 松散耦合;这一特征源于对象组件技术。即使w e b 服务的实现发生改变,客户也不会感到这一 点。只要w e b 服务的调用界面不变,w e b 服务的实现任何变化对客户来说都是透明的,即使是 w 曲服务的实现平台从j 2 髓转移到了n e t 或者相反,用户都可以对此一无所知。对于松散耦合 而言,尤其足在i n t e r n e t 环境下的w e b 服务而言,需要有一种适合i n t e r n e t 环境的消息交换 协- 议。而x m l s 0 a p 正是目前最为适合的消息交换融议。 使州协约的规范性:这一特征从对象而来,但界面更加规范化和易于机器理解。首先,1 r e b 服 务的对象,它的界面所提供的功能使用标准的描述语言来进行描述( 比如w s d l ) ;其次,由于标 准描述语言描述的服务界面应当是能够被发现的,囚此该描述文档被存储在公共的注册库里面。 同时,使用标准描述语言描述的使用协约不仅仅是服务界面,它还被延伸到b 服务的聚台、 跨w e b 服务的事务以及工作流等,而这些又都提供q o s 保障。其次,基于安全机制对于松散耦 台的对象环境的重要性。因此诺如授权认证、数据完整性( 比如签名机制) 、消息源认证以及事 务的不可否认性等运用规范的方法来描述、传输和变换。最后,在所有层次的处理都应当是可 管理的,因此管理协约运用了同样的机制。 使用标准协议规范:w e b 服务所有公共的协约完全使用开放的标准协议进行描述、传输和交换。 这些标准协议具有完全免费的规范,以便由任意方进行实现。目前绝大多数规范由w 3 c 或o a s t s 作为最终版本的发布方和维护方。 高度可集成能力:由于w e b 服务采取简单的、易理解的标准w e b 协议作为组件界面描述和坍同 描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、d c o m 还是e j b 都可以通过这一种 标准的协议进行互操作,实现了在当前环境下最高的可集成性。 第5 项 东南大学硕上学位论文 2 4 1w e bs e r v i c e s 模型 如图2 3 所示,w e bs e r v i c e s 模型由3 个参与者和3 项基本操作组成。 图2 3w e bs e r v i c e s 模型 服务提供者足一个网络节点,它为处理一系列特定任务的软件资源提供服务接口。服务提供者 节点能代表商业实体的服务,或者它甚至能代表可重用的子系统的服务接口。 服务请求者是一个网络节点,它发现并调用其它的软件服务来提供商业解决方案。服务请求者 甘点常常代表商业应用 序组件执行远端的过程调用分布式对象,即服务提供者。在某些情况下, 提供者节点就在本地的企业内部网上,或者在其它情形下,它可能存在于远端的因特网上。 服务中介者( u d d i 注册中心) 是一个网络节点,作为储存库、电话黄页或票据交换所,注册由服 务提供者发布的软件接口。商业实体或者独立的运营商能代表服务中介者。 服务提供者向服务中介者发布服务。服务请求者通过服务中介者查找所申请的服务,并绑定到 这些服务上。 2 4 2 协议栈 为了能在松散耦合的环境下的进行对象访问,以及在基本对象访问之上的进行诸如事务、工作 流、安全机制等操作。w e b 服务体系使用了表2 1 所示的一系列的协议规范 路由、可靠性和事务待开发 工作流 w s f l o 兰巴 服务发现与集成 u d d l 罄 拿 服务描述 w s d l 晶 。 呻 : 暑 电 消息发送 s o a p g 传输协议 h t t p 、f t p 、s m t p 葛 o l n l e r n e il p v 4 、1 p v 6 表2 一lw e bs e r v i c e s 协议栈 从上面的西议栈可以看出,目前w e bs e r v i c e s 技术主要由以下几种技术实现: 删l :x m l 是一个基于文本的w 3 c 规范的标记语言。与h t 札使用标签来描述外观和数据不同,x m l 严格地定义可移植的结构化数据。它能作为定义数据描述语言的语言,例如标记语法或词汇、交换 格式和通讯协议。 s 0 a p :s 0 a p 是一个基于) ( m l 的,用于在分布式环境下交换信息的轻量级协议。s o a p 在请求者和服 务对象之间定义了一个通讯西议。尽管s o a ( s e r v i c e s o r ie n t e da r c h i t e c t u r e ) 没有定义通讯协议, 但是在人多数厂商的s o a 实现中,s o a p 被当作分布式对象通讯构建基础,所以s o a p 又被称为面向 对缘架构协议( s e r v i c e s o r i e n t e da r c h i t e c t u r ep r o t o c 0 1 ) 。它的优点在于完全和厂商无关,可 以相对于平台、操作系统、目标模型和编程语言独立实现,而传输和语言绑定以及数据编码的参数 选择都是由具体的实现决定。 第6 页 第二章中问件技术 w s o l :w e b 服务描述语言w s d l 是提供描述服务接口的标准方法的】( h i l 。w s d l 为服务提供者提供一 个简单的方法描述服务申请的形式并响应远程方法调用信息( 跚i ) 。w s d l 不依赖于底层的协议和编 码要求来定义服务接口。通常,w s d l 提供一个抽象的语言以利用各自的参数和数据类型米定义接口, 同时它还涉及了服务的位置和绑定细节的定义。 u d d l :通用描述、发现 u 集成协议u d b f 提供一组公用的s o a pa p i ,使得一个服务中介者得以实现。 u d d i 舰范用于促进基于w e b 服务的创建、描述、发现羊集成,其动机是为b 2 b 协同工作能力定义 个标准。 2 4 3 与c o r b a 和d c o m 的对比 d c 咖、c 0 r b aii o p 和w e bs e r v i c e s 有许多相似之处。这些协议都使用端点标识符来识别服务 器端中间仆中的目标对象,都使片j 方法标识符来确定待调用方法的签名。然而,同时存在一些影响 互操作性的差别。如表2 2 所示,存在三个主要的差别 i 摧e b 各爸姆i b 爸蓉i ? 端点命名o b j r e f 1 0 ru r l 接口对象多个单个多个w s d l 有效负载参数值格式 d rc d rl 表2 2 中间件投术的对比 l , 端点命名: o r p c 阱议中,需要o r p c 端点的一些消息表示法以便通过网络传达对象引刚。 在c o r b a i i o p 中这种表示法被称为可互操作的对象;l 用( i n t e r o p e r a b l eo b j e c tr e f e r e n c e , i o r ) 。i o r 包含可移植格式的寻址信息,任何基于c o r b a 的产品都能把这些信息解析到对象端点上 去。在d c o m 中,这种表示法被称为o b j r e f ,它能将分布式引用计数与端点对象识别结合起来。 遗憾的是,1 0 r 不能与0 b j r e f 相互关联,这导致了c o r b a 和d c 0 m 应月j 程序之间的互操作性问题。 w e bs e r v i c e s 技术组件使用s 0 a p 作为映射应用程序对象到网络协议的开放标准o r p c 。尽管s o a p 不受特定的传输协议的约束,h t t p 还是成为了s 0 a p 实现者中最受欢迎的传输协议。在h t t p 中,请 求和响应消息都能包含任意的有效负载信息。h t t p 报头是纯文本,这使得一般的因特网程序员便于 使用。这些报头通常包含内容长度和内容类型,并且h t t p 使用t c p t p 作为其请求响应消息的网 络通信协议。h t t p 客户机利用t c p 连接到i i t t p 服务器。建立了t c p 门p 连接以后,辑户机可以向服 务器发送i i t t p 请求消息,然后服务器对请求进行处理后将h t t p 响应消息发送给客户机。简单地说, h 1 ”是种出色的不确定有效负载的传输方式,它提供了c o r b a 和d c o m 中所能找到的火部分连接 管理功能。它还使用u r l 进行对象引用,这与c o r b a 和d c o m 中的t o r 和o b j r e f 相一致。 使用t t p 时,s o a p 信封使用捌l 作为请求和响应参数的编码方案。s 0 a p 消息实质上是一个遵 循s o a p 编码规则的h t t p 请求和响应。s 0 a p 端点就足一个基于m t p 的、识别方法调片j 目标的u r l 。 与c o r b a 一样,s o a p 并不要求一个特定对象被连接剑给定的端点上,而足由实现者来决定如何将对 象端点标识符映射到服务器端的对象上。在s o a p 中检查方法名称的名称空间u r i 与在d c 0 m 或c 0 r 队 中检查方法名称的接口i d 在功能上是相同的。 2 接口对象: 在c o r b a 中,接口标识符是同有的,它只支持一种对象接口。d c 洲能支持一个对象多个接口。 w e bs e r v i c e s 使蹦的w s 隗是一个基于孙l 的i 阢,定义了服务接口和其实现特征。 3 有效负载参数值格式: 在d c o m 中,有效负载足以一种称为网络数据表示法( n e t w o r kd a t ar 印r e s e n t a t i o n ,d r ) 的 格式编写的。庄t 阳p g 1 0 p 中,有效负载是用通用数据表示法( c o m m o nd a t ar e p r e s e n t a t i o n ,c d r ) 第一7 项 东南大学硕上学位论文 编写的。d r 和c d r 都处理各种平台上使_ i j 的不同数据表示法。但这两种格式之间存在着一些细微差 州,使得它们彼此无法兼容。 w e bs e r v i c e s 技术使用的x m l 是一种与平台无关的标记数据表示语言。它允许数据串行化为一 种消息格式,从而能轻易地在任何平台上进行解码。然而,与d r 和c d r 不同,x m l 更容易使用,它 提供r 一种灵活的、易于扩展的数据格式,并且获得了儿乎所有计算平台的支持。不仅如此,它还 是开放的,并且被广泛采用。 综上,w e bs e r v i c e s 技术提供了一个全新的编程模型来利用开放因特网标准建立分布式应j h 程 序,它在实现上有如下特点 使用h t t p 来实现防火墙友好和不确定有效负载: 将删l 作为一个编码模式使用,它比d r 和c d r 更为广泛地被采j 目 提供关于h t t p s o a p 服务器环境的免费的经济价值建议,或提供关于o r b 框架的收费的经 济价值建议 使用广泛深入的u r l 因特网概念来解决对象识别问题,提供的不只是互操作性的承诺。厂商 们正积极工作以征明它们的s 0 a p 实现确有互操作性。 所以w e hs e r v i c e s 这一全新的分布式计算解决方案采用特定因特网技术的开放性解决了c o r b a 和【) c 叫的互操作问题。 2 4 4w e bs e n ,i c e s 技术的局限性 w 曲s e r v i c e s 技术还是一个不断发展的新兴技术,虽然它有很多好处和应用前景,但是目前仍 然存在一些的问题和局限性: 1 发现 w s d l ( w e bs e i c e s 描述语言) 和u d d t ( 统一描述、发现平集成规范) 目前还不完善,还没 成为最终标准。 2 可靠性 某些w e b 服务主机可能比其他主机可靠。但可靠性的评定标准尚不健全,使得用户无法知 道哪些服务供应商值得信赖。 3 安全性 目前大多数与商业相关的服务使用带认证的加密通讯。w e bs e r v i c e 应该如何认证用户,如 何设置用户的安全特权。但是用来解决这个问题的两个新生的w e bs e r v i c e 规范w s s e c u r i t y 和 w s l j c e n s e 尚在完善中。 4 效率 w e bs e r v j c e s 基于x m l ,它的性能比c o r b a 等分布式计算技术低了不少,所以应该避免在 内部同构系统间使用w 曲s e r v i c e s 技术。 第8 一贞 第三章c o r b a 对象的w e b 服务封装 第三章c o r b a 对象的w e b 服务封装 3 1 孵e b 服务的设计模式 虽然分布式计算体系结构简化了网络的内在复杂性,但它们并不能保证能构建一个高性能、高 效率的系境。要实现这个目标,整个系统的设计一定要考虑到网络固有的结构,土要应该考虑以下 三个因素。 1 远程调用的数量。 2 数据传输的数据量。 3 不同数据类型的转换和封装 只有在系统、歧计时加以考虑,这些问题才能得到有效解决。开发人员在开发w e b 服务时,通常 想到的只是请求响戍模式的同步操作。一个真正的面向服务体系结构( s 0 a ) 必须能够包容更多形 式的消息模式和设计模式。事实上,设汁模式已经应用到一些传统的w e b 应用上,并取得很好的效 果。本文将介绍几种常用的设计良好、经过检验的w e b 应用程序设计方法。 3 i 1 异步请求模式 为中断k 时间运行的操作,使用异步请求模式可以避免超时和代码执行的长时间挂起。这种模 式和传统的h t t p 和h t m lw e b 应用程序中的异步请求非常类似。这种模式的序列图如下所示。 甲甲甲甲 图3 i 异步请求模式序列图 该模式的流程非常简单: 1 请求者向服务提供者发山一个请求,服务提供者将请求消息放入队列升返回一个消息i d 。 请求提供者可以根据此l d 在以斤的时问里检查消息的状态。 2 请求处理者从队列中取出消息并进行处理。一般来说,请求的处理是一个很长时间的过程。 请求处理完毕,处理者将向队列中发送一条响应消息。 3 在未来某一时刻,请求者询问服务提供者是否有此请求的响应消息到达。如果队列中有响 应消息,则服务提供者将此消息返回给请求者。如果请求消息尚未到达,服务提供者将此 消息报告给请求者请求者据此可以选择或者取消此次请求或者继续等待,并以设定的时 第9 页 东南人学硕j 学位论文 间间隔轮询服务提供者,直到响应到达。异步请求模式成功的关键在丁客户与服务提供者 之间协调请求和响应。本文提供了一种简单的关联t d 和刷新时间机制。当然,设计者完全 可以通过组合一些w 曲服务相关的规范来实现同样的效果。w s a d d r e s s i n g 终点参考和 w s - t r a n s a c t i o n 协调上下文可以很容易地集成到相关i d 和刷新时问值的实现中。无论使用 什么实现方式,在应明此模式时,不同的应用程序都有其特殊的地方,不管使用标准的s o a p 头元素还是各种w e b 服务定义,每个操作实现的行为必须是良好定义的且被规范地文档化。 3 1 2c o 唧a n df a 9 a d e 模式 一般的应用瞿序通常会使用到g o f 中的c o m m a n d 模式和f a 9 a d e 模式。c o m m a n df a c a d e 模式 则是这两个模式的联台产物,是为了基于服务的环境而设计的。它包含了这两个基本模式的特点, 但实现的方式却使丌发者能够理解用w s d l 描述并且通过s o a p 消息可以访问的w e b 服务接口的 实现。 c o m m a n d 模式 c o m m a n d 模式把一些独特的活动封装起来成为可重用的对象,对于每次请求,这些对象的行为 都可以被参数化。在w e b 环境中,c o m m a n d 对象可能是有状态的也可能是无状态的。有状态的 c o m m a n d 维护它数据的内部状态和特定于每次独立使用的变量。有状态c o m m a n d 实例通常仅仅使 用一次,或者被放入池中,每次客户端使用完以后便回收。当对象实例被创建的时候或者就往通过 设置属性调用命令之前,有状态从c o m m a n d 的参数才会指定。无状态c o m m a n d 实例不包含内部状 态,井且多个客户端可以并发的使用而不需要共享以及回收。当输入这个c o m m a n d 的调用方法时 无状态c o m m a n d 的参数才会被指派。c o m m a n d 的u m l 幽如下所示; 圈3 2c o m m a n d 模式结构图 该模式中的各个参与者的协作顺序是: 1 c l i e n t 创建一个具体的w e b c o m m a n d 对象并指定它的r e c e i v e r 。 2 i n v o k e r 对象保存这个w 曲c o m m a n d 对象。 3 i f l v o k e r 对象浔辟j f e b c o m m a n d 接口的函数。 4 w e b c o i n m a n d 对象根据具体的实现,对它指定的r e c e i v e r 对象进行操作。 我们可以看到c o m m a n d 模式在基于服务的w e b 环境中存在不少的缺点。如果直接使 l i c o m m a n d 模式,用户必须对服务器端存在的w e b c o m m a n d 接口的具体实现类有相当的了解。由丁 r e c e i v e r 对象和l n v o k e f 对象此时应该存在于客户端,对具体的w e b c o m m a n d 对象接口的调用将大 人的增加网络的负载。所以在基于服务的w e b 环境直接使州c o m m a n d 模式是不台理的设计。我们 建议同时使h jf a c a d e 模式。 第1 0 项 第三章c o r b a 对象的w e b 服务封装 f a e a d e 模式 f a c a d e 模式通常坩下以下几种情形 用一个简单易用的接口对一个复杂的子系统进行封装。 子系统通常会随着系统的不断升级越来越复杂,如果直 接暴露子系统的接口会让用户感到越来越难以使川。 当用户和子系统中抽象接口的实现类有耦台时,需要引 入一个接口来降低耦合。 当需要使用分层模型米设计系统时。通常使用f a e a d e 模式米提供一个入口点米分离各个子系统。这能使各个 层次间的耦合降剑最低。 图3 3f a c a d e 模式结构 通过对c o m m a n d 模式和f 婶a d e 模式的分别讨论,在基于服务的w e b 环境中应该引入位于一个 或多个c o m m

温馨提示

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

评论

0/150

提交评论