(计算机软件与理论专业论文)在语义网环境下的web服务组合与协作.pdf_第1页
(计算机软件与理论专业论文)在语义网环境下的web服务组合与协作.pdf_第2页
(计算机软件与理论专业论文)在语义网环境下的web服务组合与协作.pdf_第3页
(计算机软件与理论专业论文)在语义网环境下的web服务组合与协作.pdf_第4页
(计算机软件与理论专业论文)在语义网环境下的web服务组合与协作.pdf_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着w 曲服务在越来越多的商业领域得到一致的认同和应j 1 j ,其本身的 相关技术标准也已经成为了学术界的研究热点。w e b 服务并不会对外界透露 它的底层架构和实现逻辑,因此对它的发现和调用都需要依赖对其功能以及 非功能属性的描述文档。同时,出于分散设计逻辑和应用逻辑的考虑,w 曲服 务往往被设计为实现简单和功能单一的模块,而实现复杂功能就需要对多 个w 曲服务进行序列化调用,这一过程被称为w e b 服务组合。w 曲服务组合对 其描述方式和表达能力提出了更高的要求,由于需要实现多个w e b 服务的交 互和协作,各参与服务都需要能正确的抽取和理解其它服务的语义信息,以 便进行自动选择和验证。而在现有的w 曲服务标准和协议下,服务文档都只 偏重对其执行细节以及接口定义的描述,而忽略了对其功能语义以及执行语 义的抽象和表示,这就给上述问题带来了新的挑战。 另一方面,语义网的出现也给上述问题带来了一种新的解决方式,因为 它的目标恰恰是以一种计算机可以理解的方式甜w 曲资源进行语义标注。而 一种很自然的方式就是将w 曲服务与语义网相关技术相结合,从而产生出一 个新的概念:语义w - e b 服务。本文针对语义w e b 服务组合过程中各个阶段的 需求与特点,从w - e b 服务组合的语义建模、逻辑验证、规则语义分析以及异 常处理这四个方面开展了以下工作: 首先,提出一种结合了具体领域q 的描述逻辑彤c q d ( q ) 。与传统的描 述逻辑不同,刀反瑚( q ) 既保留了一定的概念建模能力,还显著的增强了在 数字属性和时序关系上的表达能力,因此对w 曲服务的功能属性以及非功能 属性( 例如服务质量) 都具有足够的表达能力。同时,舅z c q d ( q ) 也保留了 描述逻辑的推理方式和可判定性,因此可被用于处理w 曲服务语义匹配、流 程语义验证等多个推理问题。 其次,提出了对w 曲服务组合流程进行语义建模和验证的机制。该机制 根据对w 曲服务组合流程中不同工作流模式的语义分析,可以在多项式时问 内将一个w 曲服务组合定义重写为一组与兔与d ( q + ) 相兼容的逻辑表达式, 使得业务流程中的语义可以被自动的抽取和理解,并利用舅z c q 0 ( q ) 的推 理机制进行语义验证。 再次,提出对w 曲服务组合中商业规则的语义分析和验证机制。本 文提供一种语义映射机制,可以将e c a 规则在多项式时间内转换为一 摘要 组贸z c q d ( q 4 ) 定义式,从而使得商、i k 规则中的语义变为可计算的和可判定 的。在此基础上,本文还对e c a 规则集的冗余性、终止性以及冲突性进行了 研究,并提供了相应的推理算法和实现。 最后,提出一种上下文语义信息感知的异常处理机制。该机制使用一 种w _ e b 服务协调协议使得各参与服务可以对一些重要信息的共享达成共识, 并在之后的w e b 服务会话过程中实现上下文信息交换。同时,e c a 规则被用 于将这些捕获的一卜下文信息与异常处理机制相结合,从而使得对w 曲服务组 合的异常处理过程更灵活和智能化。 关键词:w 曲服务,服务组合,语义网,流程建模,服务语义匹配,语义验 证,e c a 规则,规则分析,异常处理 a b s t r a c t a b s t r a c t w 铀s e “i c e st e c h n o l o g yi sr a p i d l ye m e r g i n gi na l a 唱ev 撕e t yo fn e wp a u r a d i g m s s u c ha sb u s i n e s s t o b u s i n e s s ( b 2 b ) i n t e r a c t i o n ,p r o c e s si n t e g r a t i o n ,d e p l o y m e n t , a n dm a n a g e m e n t t h er e a s o nf o rt h i sg r e a ts u c c e s sa c t l j e v e di nw 曲s e r v i c e sa r e n a c a nb eb o i l e dd o w nt oi t sd e c l a r a t i v el o o k u pa n di n v o c a t i o nm o d e s i np a n i c u l 瓯 w 毫bs e r 、,i c e sh i g h l yi i e l yo ns o t i l ed e s c r i p t i v ex m l b a s e da n i f a c t st oa c c o m p l i s h c o m m u n i c a t i o na n di n t e r a c t i o n ,h e n c e f o n hs o m ed e f k t os t a n d a r d s ,s u c ha ss o a p w s d l ,a n du d d i ,a i i es p e e d i l ys h a p i n gt oa c c e l e r a t et h ed e v e l o p m e n to fw 色bs e r v i c e sa g e n d a u n f o n u n a t e l y ,t h o s ee x i s t i n gs t a n d a r d ss e e m st 0b ei n c a p a b l eo f b e a r i n gs u c hab u r d e nt od e s c r i b et h ef u n c t i o n a la n dn o n f u n c t i o n a lr e q u i r e m e n t s i nam a c h i n e u n d e r s t a n d a b l ew a ya n dt l l e r e b ya c h i e v eaf u l l ya u t o m a t e dv e r i f i c a t i o np r o c e s s a st h ec o m p l e m e n t ,s e m a n t i cw 曲n o t i o nt a 昭e t sa ts e m a n t i c a l l ym a r b n g w 曲一a c c e s s i b l er e s o u r c e s ,a n dt h i sl e a d st oan a t u r a le x p e c t a t i o nt oc o m b i n es e m a n t i cw 曲a n dw 曲e r v i c e st o g e t h e r ht h i ss p i r i t ,t h es o c a l l e ds e m a n t i cw 曲 s e n ,i c e s ( s w s ) n o t i o ni si d e n t i f i e df r o m l o s et w ot r e n d s ,b u tan u m b e ro fo b s t a c l e ss t i l lr e m a j nu n s o l v e dn o n e t h e l e s s i nt h i sp a p e r a c c o r d i n gt od i 厅e r e n ts t a g e so f w 曲s e r v i c e sc o m p o s i t i o nl i f e c y c l e ,w ea d d r e s so u rw o r ko nf o u ra s p e c t s :p r o c e s s m o d e l i n g ,s e m a n t i cv e r i f i c a t i o n ,i u l ea n a l y s i s ,a n de x c e p t i o nh a n d l i n g f i r s to fa l l ,w ee l a b o r a t eaf 0 肿a lv a r i a n to fd e s c r i p t i o nl o g i c s ,n a m e i y , 贝c q d ( q + ) ,w h i c hi sc a p a b l eo fe x t e n d i n gt h ec o n c e p t u a lm o d e l i n ga b i l i t yo f c l a s s i c a ld l sw i t hp r o c e s sm o d e l i n ga n dn u m e r i c a lc o n s t r a i n tr e p r e s e n t a t i o na b i l i t y ,w h i l es t i l lr e t a i n sd e c i d a b i l i t yf o rm a j o rr e a s o l l i n gp r o b l e m s s e c o n d l y ,w ep r o p o s eag e n e r a lm o d e l i n ga n dv e r i f i c a t i o nm e c h a n i s m f b rw e b s e r v i c e sc o m p o s i t i o n t bp r o v i d eag e n e r a lg u i d a n c ef o ru s e r s ,w ea r t i c u l a t eas u i t e o ft r a n s f o n n a t i o nr u l e st oa u t o m a t i c a l l yr e w r i t i n gaw o r k f l o w - b a s e dw 曲s e r v i c e s c o n t r a c t i n gp r o c e s si n t oo u r 贝 q d ( q ) f r a m e w o r k ,w h i i ec a nb er e g a r d e da s h a n n l e s sw r - t t 1 1 eo v e r a l lr e a s o n i n gc o m p l e x i t y m o r e o v e r t h ev e r i f i c a “o np r o c e s sc a nb eb u i l to nt h et r a n s f b r m a t i o nr e s u l ta n db e n e f i tf o mi t ss o u n d n e s sa n d c o m p l e t e n e s s t h i r d l y ,w ep r o p o s eas e m a n t i ca n a l y s i sm e c h a n i s mf o rb u s i n e s sr u l e s w e a b s t r a c t c h o o s eav a r i a n to fd e s c 邮t i o nl o g i c s ( d l s ) ,c a l l e d 舅z c q o ( q ) ,a st h eu n d e r 1 y i n gl o g i c ,a n dp r o v i d eaf o r m a lm a p p i n g t ot r a n s f o r me c ar u l e s ,s o 出a tt h e s e m a n t i c si nt h eo n g i n a le c ar u l e sc a nb ec a p t u r e da n d a r ec o m p u t a t i o n a l l yt r a c e 。 a b l e t 0 lt h i se n d ,w ef u r t h e ri n v e s t i g a t es o m ei m p o r t a n tp r o p e r t i e sf o fb u s i n e s s r u l e s ,n a m e l y ,r e d u n d a n c y ,t e n n i n a t i o na n dc o n f l i c t ,a n dp r o p o s es e v e r a ls o u n d a n d c o m p l e t ea l g o r i t h m st 0r e s o l v et h e m , l a s t l y ,w ep r o p o s et oc a p t u r ee x c e p t i o n c o n t e x t st of a c i l i t a t ee x c e p t i o nh a n _ d l i n 2i nac o m p o s i t es e n ,i c e p a n i c u l 2 u r i y ,w ep r e s e n tam e c h a n l s m t oc a p t u r ee x 。 t e m a le x c e p t i o nc o n t e x t sf r o mp a n n e r s a p p l i c a t i o n st h r o u g hc o n t e x t se n h a n c e d w 曲s e r v i c e sc o n v e r s a t i o n ( c e w s c ) ,w h i c hi n t r o d u c e sj u s tam i n i m a lo v e r h e a d b va ne 肫c t i v eu s eo fs o a ph e a d e ra n da c k n o w l e d g e m e n c m o r e o y e r ,w ea l s o p r o p o s ea ne n h a n c e de v e n t d r i v e nm e c h a n i s mt oi n c o r p o r a t ee x c e p t l o nc o n t e x t s i n t oe x c e p t i o nh a n d l i n gf 6 rac o n l p o s i t es e i v i c et of a c i l i t a t ei t sf l e x i b l ea n dr e l i a b l e e x e c u t i o n k e y w o r d s : w e bs e r v i c e s ,w e bs e r v i c e sc o m p o s i t i o n ,s e m a n t i cw e b ,胁c e s s m o d e l i n g ,s e m a n t i cw e bs e r v i c e sm a t c h m a k i n g ,s e m a n t i cv e r i f i c a t i o n ,e c a m l e , r u l ea n a l y s i s ,e x c e p t i o nh a n d l i n g 表格 表格 1 1 商、l k 规则范例 1 6 2 1舅肛的语法和语义 2 2 贸。旭d ( q ) 的语法和语义 3 2 语义重写算法 3 3 对于汐的语义重写实例。, 3 4 对于尹d 和8 伽d i 他的语义重写实例 3 5 运行时监控的e c a 规则 3 6 判定组件服务有效性算法 3 7 判定组件服务完整性算法 3 8 判定w e b 服务组合的流程可满足性算法 3 9 状态转换算法 3 1 0 数据流验证算法 3 1 i 贸z c q d ( q ) 的语义标注, 4 1 e c a 规则与舅一c c q 0 ( q + ) 之问的语义映射机制 4 2 e c a 规则普遍性的实例 4 3 e c a 规则的冗余消除算法, 4 4 共存集合计算算法 4 5c o n f l i c td e t e c t i o na 1 9 0 r i t h m 5 1 上下文信息实例 5 o 9 l 2 3 8 9 0 3 4 5 5 6 9 2 3 o 2 3 4 5 5 5 5 5 6 6 6 6 7 7 7 8 8 0 插图 插图 1 1 s o a p 消息的结构( m i t r aa n dl a f o n ,2 0 0 7 ) , 6 1 2 语义w e b 服务组合的生命周期。1 1 1 - 3 应用场景,1 2 3 1w b r k f l o wp a t t e m s 。, 3 2 个b l o c k 树形结构的例子 3 3 系统架构, 3 4w r e b 服务组合语义验证系统 4 1系统架构,。 4 2 商业规则语义分析系统, 5 i 上下文信息模板 5 2 、b 服务组合的协调状态转换。,。 5 3 w e b 服务上下文通信协调协议的u m l 表示图。 5 4 在s o a p 消息头部封装上下文信息的例子 5 5 个e c a 触发链实例 奶 钙 酌 卯 鹳 跖 舛 鳄 卯 中国科学技术大学学位论文原刨性声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究 工作所取得的成果。除已特别加以标注和致谢的地方外,论文中 不包含任何他人已经发表或撰写过的研究成果。与我一同工作的 同志对本研究所做的贡献均已在论文中作了明确的说明。 作者签名:址 签字日期:妒。7 ¥ 中国科学技术大学学位论文授权使用声明 作为申请学位的条件之一,学位论文著作权拥有者授权中国 科学技术大学拥有学位论文的部分使用权,即:学校有权按有关 规定向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅,可以将学位论文编入有关数据库进行检索,可 以采用影印、缩印或扫描等复制手段保存、汇编学位论文。本人 提交的电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 彳公开口保密( 年) 作者签名:兰玉堡 签字日期: 兰:2 :曼:壬 导师虢盈以 导师签名:j 2 1 r 签字日期: 第l 章 绪论 第1 章绪论 互联网目前正在经历一个飞速发展的时期,而具体表现就是日新月 异的应用技术以及层出不穷的新概念,不论是新兴的w e b 2 o 还是语义网 ( b e m e r s l e ee t2 l i ,2 0 0 1 ) 都对学术界和工业界产生了巨大的影响。而在众多 的w e b 应用技术中,w - e b 服务由于其在商业领域的巨大前景而备受关注,众 多针对w - e b 服务的标准已经发布或者正在制定中。然而,由于w 曲服务的自 治性、分布性以及异质性,如果要实现w 曲服务的诸多目标和初衷,目前仍 然存在大量的技术难题有待解决。其q j 最基本的问题就是对w e b 服务的语义 描述( m c i l r a i t he ta l ,2 0 0 1 ) ,作为发布在w 曲上的一种中间什技术,对w 曲服 务的查找和调用都要依赖w 曲服务的描述方式。而目前对w 曲服务的描述方 式都缺乏可以让机器理解的语义支持,使得对w 曲服务的查找和验证都要人 工完成,或者是以丧失精确性和灵活性为代价而使用基于关键字匹配的方 法。这种状况也促使一些结合w 曲服务已有技术和其他领域技术( 例如:线 性规划、语义网等等) 的方案提出( z e n ge ta l ,2 0 0 4 ) 。 本章首先介绍论文的研究背景,接着对目前w 曲服务以及语义网领域主 要的标准和协议做一个总结,随后给出一个贯穿全文的应用场景来刻画目 前w 曲服务领域存在的研究问题,然后对本领域相关工作和研究现状进行概 括和总结,最后给出本文的研究内容、创新点以及论文其他部分的组织。 1 1研究背景 作为一种新兴的分布式计算技术,w 曲服务被用来进行跨企业、跨平 台的商务流程交互与管理( p r o c e s si n t e r a c t i o na n dm a n a g e m e n t ) ( y u ee ta l , 2 0 0 4 ) 。不同于传统的集中式系统,w 曲服务可以被看作是轻量级的中间 件技术。出于分散设计逻辑与应用逻辑以及提高w 曲服务的模块性和可重 用性( r e u s a b l i t v ) 的考虑,单个的w 曲服务往往拥有相对简单和单一的设 计逻辑和实现逻辑,因此不能完成一些太复杂的功能。而为了实现服务增 值( v a l u e a d d e d ) ,常常需要将若干已经存在的w 曲服务按照一定的顺序调用, 并最终得到期望的结果,这一过程通常被称为w 曲服务组合( w e bs e r v i c e s c o m p o s i t i o n )( a l o n s oe ta l ,2 0 0 4 ;t s a l g a t i d o ua n dp i l i o u r a ,2 0 0 2 ;d u s t d a ra n d s c h r e i n e r ,2 0 0 5 ) 。 由于对于w 曲服务的调用主要依赖于它的接口定义和标准通信机 第l 章绪沦 制( s o a p 消息) ,因此从农血上来看,调用单个w 曲服务与调用多个w 曲服 务来完成某个复杂功能似乎并没有木质上的区别。然而,w e b 服务组合是 与它的商业流程密切相关的,对w 曲服务的调用必须严格遵循商业流程 中的时序依赖以及数据依赖关系,否则执行结果就会产生偏差,j 一时,任 何个参与服务的执行结果以及代价都会对整个商业流程产生影响。因 此,使用一种标准语言来描述和执行对w 曲服务的组合流程是- 1 分必要的, 而w s b p e l ( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw 曲s e r v i c e s ) 也就应 运而生了。 在w s b p e l ( a l v e se ta l ,2 0 0 7 ) 中,一个商业流程的结构主要是由以下几 种基本活动组成: s e q u e n c e 活动:包含在一个s e q u e n c e 活动中的所有子活动都会被按照出 现顺序依次执行。s e q u e n c e 活动实际上体现了现实世界中最常见的顺序 时序关系,其中每一个子活动都会在前一个活动执行结束前二直等待, 而当所有的内部活动都执行完成后,整个s e q u e n c e 活动也执行结束。 i f e l s e 活动:这种活动主要是用来表达在w 曲服务组合流程中的条 件分支语句。类似于编程语言,i f e i s e 活动的主要表达方式有三 种:i f 、e l s e i f 以及e l s e ,它们在这种活动中可以形成多个条件分支。 在w 曲服务组合流程中,这些分支会按照出现的先后顺序被依次访 问,如果分支的条件判断语句为真,则这个分支就会被执行。e i s e 语句 则是为了确定一个缺省条件分支,当所有其他的条件分支都不为真 时,e l s e 里的语句就会被执行。 w h i l e 活动:这种活动是w s b p e l 中三种循环执行结构之一( 另外两种 是r e p e a t u n t i l 和f o r e a c h ) 。w h i l e 活动同样拥有个条件分支来确定是否 需要继续循环,在每次迭代的开始,如果布尔表达式为真,则继续执行 循环体,否则,就推出循环过程。 r e p e a t u n t i l 活动:这种活动同样也会根据条件表达式的取值来决定是否 执行循环体,不同的是它对条件表达式的取值判断是在执行完循环体 之后,因此至少可以保证执行一次循环体。 f o r e a c h 活动:前两种循环结构( w t i i l e 和r e p e a t u n t i i ) 的循环次数都是非 确定的,而相比之下,f o r e a c h 活动并不会给出任何条件表达式来决定 是否执行循环体,而是将循环次数限定在一个固定值。 2 第l 牵绪沦 f l o w 活动:这种活动描述了w 曲服务组合中的并发执行结构,在f l o w 活 动r f l 所有的子活动都会被同时调皮执行,而f l o w 活动则会在所有子活 动都执行结束后才完成。特别的,f l o w 活动中允许使崩l i n k 元素来确定 _ 了活动之中的控制依赖关系,i i n k 指向的活动必须在l i n k 起始的活动执 行完成之后才可以被执行。同时,如果在f l o w 活动中有异常发生,从异 常源出发的l i n k 边都会被设为假,并且会沿着执行路径一直传播这个结 果,直剑遇到合取条件判断为真的判断条件,这种技术被称为死路径消 i 除( d p e ,d e a d p a t he l i m i n a t i o n ) 。 而每种结构化活动内部通常都包含一些最基本的w - e b 服务活动,这些活 动主要有以下几种( a l v e se ta j ,2 0 0 7 ) : a s s i g n 活动:这种活动用于将w 曲服务交互过程中得到的数据保存 进w 曲服务组合流程的某个变量中,在这个过程中主要使用关键 词“c 叩y ”,而对它的描述需要指定初始变量和目标变量; i n v o k e 活动:这种活动用于调用一个外部的、b 服务,而在活动描述中 必须给出具体的w e b 服务链接( p a n n e r l i n k ) 、操作名称、输入以及输出 参数等等; r e c e i v e 活动:这种活动用于从w 曲服务中接收请求和数据,并在w 曲服 务组合流程中做相应处理。在r e c e i v e 活动的描述中必须指定w 曲服务链 接、操作名称、变量名称等参数; r e p l y 活动:这种活动用于在同步或者异步信息交换模式中对接收到的 消息做出响应,对它的描述需要指定w 曲服务链接、操作名称以及变量 名称; t h r o w 活动:当w r e b 服务组合的执行过程出现错误时,t h r o w 活动可以抛 出相对应的异常,以便交由指定的处理器( f a u l th a n d l e r ) 处理; w a i t 活动:这种活动是用于在一些特定的情况下将整个w 曲服务组合流 程暂停一段指定的时间,或者是等到某一个截止时问的到来; f a u l t h a n d e r 是用于在w 曲服务组合流程中捕捉某个特定的异常,并根 据不同的情况对异常做不同的处理。它有两种异常捕捉模式:“c a t c h ” 和“c a t c h a l l ”,其中c a t c h 用于捕捉某种已知异常,而c a t c h a i 坝0 是一种 缺省模式,用于捕捉事先未被定义的异常; 3 第l 章绪论 e x i t 活动:这种活动用于立即终止当前所有的并发执行活动,而不涉及 到任何的终止处理、异常处理或者是补偿活动。 e m p t y 活动:这种活动用于指定当前的w 曲服务组合流程不需要执i j :任 何操作,它丰要适用于流程同步、任务等待等情况。 1 2w e b 服务领域相关标准和协议 在本节中,我们重点回顾w 曲服务的基本协议以及与其相关的语义网协 议。 1 2 1w e b 服务基本协议 w e b 服务是对面向服务架构( s c i a ,s e r v i c e so r i e n t e da r c h i t e c t u r e ) ( p a p a z o g l o ua n dv a nd e nh e u v e l ,2 0 0 7 ) 的一种具体实现,而与之相对应的是,这 种架构主要包含3 种基本协议:s o a p 、w s d l 以及u d d i 。接下来,我们对着 三种协议做一个概述。 1 2 1 1s o a p 协议 对于所有分布式的应用程序来说,相互间的通信是它们能正常运作的基 础,这点对于w 曲服务来说也不例外。并且由于接u 标准化的要求,虽然人 部分的w 曲服务是基于h t t p 协议进行通信,但是它们并不是简单使用h t t p 协 议中的g e t 以及p o s t 等方法,而是传输x m l 格式的数据,而这种传输协议就 是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 0 1 ) ( m i t r aa n dl a f o n ,2 0 0 7 ) 。 通常,s o a p 消息被用于在s o a p 节点之间互相传输,这些s o a p 节点分 为两种:s o a p 发送者和s o a p 接收者。在传输过程中,一个s o a p 消息并不 一定会直接到达接收者,而是需要经过一些中间节点的过渡。从结构上来 说,一个s o a p 消息通常分为两个部分:h e a d e r ( 包头) 和b o d y ( 包体) 。其 中,s o a p 的头部是可选部分,它可以用来对具体需要传输的数据进行相关 描述,提供一定的一卜下文信息,从而使得整个s o a p 消息里的数据更容易被 理解和处理。为了使得这些信息的表达更层次化和模块化,在s o a p 头部中 使用b l o c k 来封装它们,用户可自定义若于b l o c k 来存放上下文信息,并且这 些b l o c k 是可以嵌套的。同时,这种方式还使得对s o a p 消息中上下文信息的 提取和理解更为方便。除此之外,s o a p 消息的头部还允许用户设置一些属 性值以使得各个通信节点的任务更加明确,其中最主要的有以下三种( m i t r a a n dl a f o l l ,2 0 0 7 ) : 4 第l 章绪沦 r o l e 属性:这种属性是种枚举值属性,它被用来确定各种s o a p 节点 在处理s o a p 消息头部b i o c k 时所扮演的“角色”,通常有四种取值:缺 省、“n o n e ”、“n e x t7 以及u l t i m a t e r e c e i v e r ”。( i ) 当某b l o c k 的r o l e 属性 取值为缺省时( 也就是空值) ,就表示不要求任何的s o a p 中问节点有能 力处理这个b l o c k 中的上下文信息,但是要求最终的接收节点有对这些 信息的处理能力:( i i ) 如果某一个b l o c k 中r o l e 属性的取值为“n o n e ”,则 意味着它不要求任何节点( 包括中间节点和最终接收节点) 有能力处理 这些上下文信息;( i i i ) 如果r o l e 属性的取值为“n e x t ”,则意味着所有的 节点( 包括中间节点和最终接收节点) 都会被要求有能力处理b l o c k 中 的信息:( i v ) “u l t i m a t e r e c e i v e r ”属性的意义与缺省值相同,也就是只 要求最终的s o a p 接收节点有能力处理b i o c k 中的信息。 m u s t u n d e r s t a n d 属性:这是种布尔取值的属性,它在r o l e 属性的基础 上进一步为s o a p 消息头部上下文信息的理解和处理提供灵活性。如 果m u s t u n d e r s t a n d 属性被设置为假,则意味着s o a p 接收节点不需要具 有处理b l o c k 中上下文信息的能力,因此,对于所有的s o a p 接收节点来 说,如果它们没有这种处理能力,仍然可以解析s o a p 消息包体( b o d y ) 内的信息而不会面临处理失败的问题。而如果m u s t u n d e r s t a n d 属性被设 置为真,则s o a p 接收节点必须有能力处理这些上下文信息,否则对这 个s o a p 消息的解析就会失败。 r e l a y 属性:该属性同样是一个布尔取值的属性,它的存在主要是出 于对s o a p 消息通信安全性的考虑。如果r e l a y 属性被设置为真,则 对s o a p 消息经过的中问节点来说,即使它们不能解析b l o c k 中的上下文 信息,也必须将这些信息保留在原s o a p 消息中,并转发给下一个节点。 否则,这些不能被解析的上下文信息则会被删除,不被继续转发。 而s o a p 消息的包体( b o d y ) 部分则是必须存在的,由于传输的x m l 数 据部分需要位于包体,因此它不能为空。s o a p 消息的结构如下图所示: 1 2 1 2w s d l 标准 由于w 曲服务是一种自描述( s e l f - d e s c r i b i n g ) 、自包含( s e l f _ c o n t a i n e d ) 的w 曲应用程序,因此如何描述w 曲服务的功能、接口以及其他相关属性就 成为了一个至关重要的问题。在目前的w e b 服务规范中,w s d l ( w r e b s e r v i c e s d e s c r i p t i o nl a n g u a g e ) 被专门用来进行对w 曲服务的描述,针对w 曲服务接口 的特性,一个w s d l 文档主要由以下的元素组成( c m s t e n s e ne ta 1 ) : 5 第l 章绪沦 s o a i ,e 1 1 v e l 0 1 ) e c ? v n | v e r s 们= 1 o + ? 昕ve ? v e l o p 日x i n l 兜s :e n v :h i l p 拈惴w ,w 3 o f g l 2 c 髫印嘈刑e 嘲 s o a ph t i 盯 e ,:vh 孽牝料) f 鬲写6 a ? j 记最d ,1x n l ;n s :n = h n p :f 栅ws o a p e 。m p l ec o r n i h e 牙芒o r ,t t 一e re t 惦。:u一篙慧篆船婴鲫蝴嗍w 螂? 抛啪培晰鳓矿: ;j n :s o a p h e a c e r ! - c a d c rb t 。c t :卜 lc m :s o p h e a c e r 2x 丹i s :r n = h :l p , w 胁s o p x 扑1p | ec d 州h e 。d b r 2 - 一 鲫v 埔:h n p ,黼,w 3 o 彻c 5 鼢p 锄e l o 倒r 触小嘶只蝴广 7 ic ? 盯山f ! 翻 k d d 吖m e | 吐- l ? ms 0 a p h o a a 。r 2 q e n vr 怕删e p s o a pb o d v 一篙:! 器俐蜘蝴抄。 l i v 日o c p ? e n ve n v e i o d e 图1 1 :s o a p 消息的结构( m i t r aa n dl a f o n ,2 0 0 7 ) w s d l :t y p e s 是用于对w e b 服务中数据类型的指定,例如:字符串类型,并 且通常依赖一些具体的w - e b 类型系统定义; w s d l :m e s s a g e 用于定义在w _ e b 服务交互中所需要用到的消息,这些消息 在w s d l 中是一种高度抽象的形式而没有具体实现的; w s d l :o p e r a t i o n 是对一个w 曲服务中具体操作的定义,这些操作可以被 看作在w r e b 服务调用过程中具体实现请求目标的功能函数。w e b 服 务的o p e r a t i o n 有四种基本类型:o n e w a y 、r e q u e s t r e s p o n s e 、s o l i c i t - r e s p o n s e 以及n o t i f i c a t i o n 。其中,o n e w a y 和n o t i f i c a t i o n 分别是指接收 一条消息和发送一条通知消息,这两个操作体现了w e b 服务中同步通信 的特点。而r e q u e s t r e s p o n s e 类型则是指w 曲服务先接收一条s o a p 消息, 然后再返回一条消息作为响应;s o l i c i t r e s p o n s e 类型则恰好相反,w 曲服 务会先发送一条消息,然后等待对方返回的响应消息,这两种类犁体现 了w 曲服务中异步通信机制的特点: w s d l :p o n l y p e 定义了一个w e b 服务的抽象端口( p o n ) 类型,它通常包含 了对w s d l :m e s s a g e 以及m e s s a g e 中具体的操作名称( w s d l :o p e r a t i o n ) 的抽 象定义: w s d l :b i n d i n g 元素可以通过“t y p e ”关键字引用一个w s d l :p o n t y p e 元素, 并为其提供具体的消息格式; 6 第l 章绪论 虽然个w s d l 义档并不设计w 曲服务的任何底层代码和具体实现,但 是它为w 曲服务的外部调用提供了一种行之有效的解决方案。任何w 曲应用 程序,只要能够存取( a c c e s s ) 一个w 曲服务的w s d l 文档,就可以非常精确 的解析出它各个端口以及操作的调用方法和地址,从而可以成功的实现对它 的调用。 1 2 1 3u d d i 对于w e b 服务来说,除了通信与调用机制,另一个极为重要的问题就是: 对于一个用户请求,如何可以在w ,e b 上准确的找到满足要求的服务地址以 及w s d l 文档。这个过程主要牵涉到以下技术难点: 如何描述用户请求中的约束条件,以及如何判定一个w 曲服务捕述是 可以满足这些约束条件的; 如何组织w e b 服务描述文档,以及使用什么搜索机制在这些捕述文档 中发现最符合用户需求的服务。 其中第一个问题属于w 曲服务的语义匹配问题,而对于第二个问题, 目前的解决方案是使用一种集中式的w 曲服务注册机制,这种机制被 称为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 )( c u r b e r ae ta l , 2 0 0 2 ) 。u d d i 既提供对w 曲服务的注册和描述功能,也提供对已注册w 曲服务 的查找机制。u d d i 的工作机制基于一种公认协议,每个w 曲服务提供商都应 该在u d d i 中注册自己的服务,并提供相应的描述信息以便查找。而用户方 则可以通过u d d i 的搜索查找机制来发现合适w e b 服务的相关描述信息,并 使用这些信息去调用相关服务。 u d d i 使用三类信息来描述w 曲服务( c u r b e r ae ta 1 ,2 0 0 2 ) : 白页信息( w h i t ep a g e s ) 是用来描述w 曲服务的一些基本属性,例如: 名称、地址等等; 黄页信息( y e l l o wp a g e s ) 是用于描述w r e b 服务的商业属性,根据不 同w 曲服务的业务范畴,可以将它们归到不同的商业类别,从而方便查 找: 绿页信息( g r e e np a g e s ) 用于描述w 曲服务的功能信息和技术信息,这 类信息往往偏重于描述w 曲服务底层技术方面的内容。 7 第l 章绪论 1 2 ,2 语义网相关标准 近年来,除了w - e b 服务,另一个兴起的研究领域是语义网( s e m a n t i c w 曲) 。语义网的概念最初由t i mb e m e r s l e e 于1 9 9 8

温馨提示

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

评论

0/150

提交评论