(计算机应用技术专业论文)基于多层本体论的web服务动态合成研究.pdf_第1页
(计算机应用技术专业论文)基于多层本体论的web服务动态合成研究.pdf_第2页
(计算机应用技术专业论文)基于多层本体论的web服务动态合成研究.pdf_第3页
(计算机应用技术专业论文)基于多层本体论的web服务动态合成研究.pdf_第4页
(计算机应用技术专业论文)基于多层本体论的web服务动态合成研究.pdf_第5页
已阅读5页,还剩107页未读 继续免费阅读

(计算机应用技术专业论文)基于多层本体论的web服务动态合成研究.pdf.pdf 免费下载

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

文档简介

哆型堂坚点筮型堂堂堂壁垒盟 摘要 女务合成把i n t e m e t 上已有的相对简单的w e b 服务按一定的业务流程逻辑合成起来 蚺的复合服务,从而提供更强大更完整的商业功能。通过动态地合成已有的w e b 无须重构单一的复杂服务,同时很好地适应电子商务环境中的多变性和动态性7 提出了一个清晰完整的w e b 服务合成框架。该框架建立在常识本体论、行业本体 论和w e b 服务本体论三层本体论的基础之上,围绕业务流程逻辑将w e b 服务合成的过程分 解为业务流程逻辑的生成、表示和实现三个步骤,并指出了w e b 服务的描述和发现机制在 这个过程中的重要性。基于这个框架,本文将当前研究界的工作分为w e b 服务的“自动合 成”、“动态合成”和“静态合成”三个层次,并对各层次的工作做了较详尽的综述。 本文明确地区分了业务流程逻辑的抽象表示和具体表示这两个不同层面上的概念,并提 出了将目前已有的各种抽象表示规范在实例化时统一为得到业界强大支持的具体表示规范 b p e l 4 w s 语言的思路,这对w e b 服务合成的整个理论框架以及其在业界中的实际应用都具 有很大的意义。作为对这一思路的尝试,本文提出了一种全新的抽象业务流程表示规范 g b p l 语言,并给出了将g b p l 流程实例化为b p e “w s 流程的具体方法。g b p l 语言结合 了本体论技术及可执行语言的语法,与同类规范相比具有更多的优点。 关键词:w e b 服务,w e b 服务合成,复合服务 服务摸述,服 、 能匹配,安恻 呶业务流程黼数瓢弋 塑翌燮圭堂堡笙塞 苎三量星查竺笙塑翌! 堡墨垫查鱼壁堑壅 a b s t r a c t w e bs e r v i c e c o m p o s i t i o ne n a b l e st h ec o n s t r u c t i o no fc o m p l e xc o m p o s i t es e r v i c e sf r o m s i m p l e ro n e so nt h ei n t a m e ta c c o r d i n gt oc e r t a i nb u s i n e s sp r o c e s sl o g i c s ,t h u ss u p p o r t i n gm o r e p o w e r f u l a n dm o r e c o m p l e t eb u s i n e s sf u n c t i o n s b yd y n a m i c a l l yc o m p o s i n ge x i s t i n gw 曲 s e r v i c e s ,t h e r e sn on e c e s s i t yt ow r i t ec o m p l e xo n e sf r o mt h ej u m p ,a d a p t i n gw e l lt ot h ec o n s t a n t e v o l u t i o no f t h ee - c o m m e r c ee n v i r o n m e n t t h i sp a p e r p r o p o s e sac o m p l e t ea n dw e l l - s t r u c t u r e df r a m e w o r k f o rw 曲s e r v i c e c o m p o s i t i o n t h ef r a m e w o r ki sb u i l to nt h r e el a y e r so f o n t o l o g i e s ,n a m e l y , c o m m o ns e n s eo n t o l o g y , d o m a i n o n t o l o g ya n dw 曲s e r v i c eo n t o l o g y , i t d i v i d e st h e p r o c e s s o f s e r v i c e c o m p o s i t i o ni n t ot h r e es t e p s w h i c ha r et h eg e n e r a t i o n ,s p e c i f i c a t i o na n di m p l e m e n t a t i o no ft h eb u s i n e s sp r o c e s sl o g i c s ,a n d i n d i c a t e st i i ei m p o r t a n c eo f s e r v i c e d e s c r i p t i o na n dd i s c o v e r ym e c h a n i s m si n v o l v e di nt h i sp r o c e s s b a s e do nt h i sf r a m e w o r k , c u r r e n tr e s e a r c he f f o r t sc a nb ec l a s s i f i 酣i n t ot h r e el e v e i s 。i ea u t o m a t i c c o m p o s i t i o n ,d y n a m i cc o m p o s i t i o na n d s t a t i cc o m p o s i t i o n t h i s p a p e rp r e s e n t sac o m p r e h e n s i v e s u r v e yo f c u r r e n t r e s e a r c hw o r k 砒e a c hl e v e l t h i s p a p e rd i s t i n g u i s h e se x p l i c i t l y t h e c o n c e p t s o fa b s t r a c t s p e c i f i c a t i o na n dc o n c r e t e s p e c i f i c a t i o no fb u s i n e s sp r o c e s sl o g i c s ,a n ds u g g e s t st h a tm a n ye x i s t i n ga b s t r a c ts p e c i f i c a t i o n s c o u l db eu n i f i e di n t ot h eb p e l a w sl a n g u a g ed u r i n gt h e i ri n s t a n t i a t i o np r o c e s s b p e l 4 w sc o u l d b ec o n s i d e r e da sat y p i c a lc o n c r e t es p e c i f i c a t i o no fb u s i n e s sp r o c e s sl o g i c s i th a su v e r ys t r o n g i n d u s t r yb a c k g r o u n d t h i si d e am a k e ss e n s an o to n l yt ot h ew h o l et h e o r e t i cf r a m e w o r kf o rs e r v i c e c o m p o s i t i o nb u ta l s ot o i t s p r a c t i c a la p p l i c a t i o ni nt h ei n d u s t r y a s 们e x p e r i m e n t , t h i sp a p e r p r o p o s e sa n e wa b s t r a c tb u s i a e s sp 僦e s sl o 套, i cs p e c i f i c a t i o nc a l l e dg b p l a n t id i s c u s s e sh o wt o i n s t a n t i a t eag b p lp r o c e s si n t oab p e l 4 w sp r o c e s s g b p l l a n g u a g eb r i n g so n t o l o g y t e c h n o l o g ya n de x e c u t i v el a n g u a g e sg r s m l n a rt o g e t h e r , t h u se x c e l l i n go t h e rs i m i l a rs p e c i f i c a t i o n s i nm a n y p e c t s k e y w o r d s :w e bs e r v i c e ,w e bs e r v i c ec o m p o s i t i o n ,c o m p o s i t es e r v i c e 。o n t o l o g y , b u s i n e s sp r o c e s s l o g i c ,d a t af l o w , c o n t r o l f l o w , s e r v i c ed e s c r i p t i o n ,s e r v i c ed i s c o v e r y , f u n c t i o n a l i t ym a t c h , i n s t a n t i a t i o n 2 塑竖奎堂堡主羔堡堡塞 苎王墨星查堡垒塑坠! 竖墨垫查鱼盛坚塑 第一章概述 w e b 服务”1 是i n t e m e t 上松散耦合并可重用的分布式软件组件。它对离散的功能进行语 义上的封装,通过标准的w e b 协议向外部程序提供服务,包括提供信息( 如天气预报) 或 完成一些动作从而对现实世界产生影响( 如在线预订机票) 。w e b 服务具有自包含、自描述 的特点,可以通过w e b 发布、查找和调用。它提供了一种更灵活轻便的企业间协作方式。 w e b 服务合成“1 是组织这种协作的重要形式,它把i n t e m e t 上已有的相对简单的w e b 服务 按定的业务流程逻辑合成起来以构成复杂的复合服务,从而提供更强大更完整的商业功 能。通过合成已有的w 曲服务,就无须重构单一的复杂服务。同时,当这种合成能动态地 进行时,无疑将很好地适应电子商务环境中的多变性和动态性,使企业不被局限于单一固定 的合作伙伴。 关于w e b 服务合成的研究方兴未艾,目前的工作可以归纳在一个w e b 服务合成的总体 框架中。该框架围绕业务流程逻辑,将w e b 服务合成的过程分解为三个步骤,即业务流程 逻辑的生成、表示和实现。w e b 服务的描述和发现机制作为w e b 服务构架的基础设施,在 其中扮演了重要角色。该框架特别强调了本体论( o n t o l o g y ) 【8 9 】技术的应用,其中常识本 体论使用户能用较自然的形式表达其服务请求,领域本体论使业务流程逻辑能根据用户的请 求动态地生成从而提供最大的灵活性和适应性,w e b 服务本体论则是实现w e b 服务的描述 和发现机制的完善途径。 基于上述框架,目前研究界的工作可以分为三个层次。第一个层次是w e b 服务的“自 动合成”,涉及业务流程逻辑的生成、表示和实现所有三个步骤,该层次的工作还未出现很 大进展。第二个层次是w e b 服务的“动态合成”,涉及业务流程逻辑的较抽象表示、实现, 该层次吸引了大曩的研究努力,出现了很多抽象业务流程表示规范及相应的支撑平台。第三 个层次是w e b 服务的“静态合成”,涉及业务流程逻辑的较具体表示、实现,该层次的工作 主要由业界完成。业务流程执行语言b p e i a w s f l e l 是最重要的成果。 如果能将第二个层次的研究成果统一在第三个层次,那么无论在理论上还是在实际应用 中都将具有重要的意义。主要的思路是:在获得业务流程逻辑的较抽象表示后。当需要将它 实现即进行实例化和运行时,首先将其转化为一种统一的较具体表示,然后再提交给独立的 执行引擎去执行这个业务流程。作为对这一思路的尝试,本文提出了一种新的抽象业务流程 逻辑表示规范g b p l ( g e n e r i cb u s i n e s sp r o c e s sl a n g u a g e ,通用业务流程语言) ,并讨论了如 何将g b p l 定义的抽象流程实例化为使用具有深厚业界背景的b p e l 4 w s 语言定义的可执行 流程,从而可由现成的b p e i a w s 引擎完成其执行。g b p l 语言结合了本体论技术及可执行 语言的语法,分为两个部分:a s d l ( a b s t r a c ts e r v i c ed e s c r i p t i o nl a n g u a g e ,抽象服务描述 语言) 和a p d l ( a b s t r a c t p r o c e s s d e s c r i p t i o n l a n g u a g e ,抽象流程描述语言) 。a s d l 使用本 体论表示语言d a m l i ”定义,旨在从语义的角度对流程中所需的抽象服务进行功能性方面 的描述,参考了w e b 服务本体论d a m l s 1 2 - 1 4j 的部分语法。a p d l 则使用x l v i ls c h e m a t ”1 定义,主要描述流程的控制逻辑,参考了b p e l 4 w s 的部分语法。 本文其余内容组织如下:第二章描述w e b 服务合成总体框架的更多细节,并围绕该框 架综述了目前研究界的工作,第三章对本体论、d a m l 语言和d a m l s 规范做了一定的介 绍,第四章则主要介绍b p e l 4 w s 语言的语法,接着在第五章给出了g b p l 语言的详细定义, 然后在第六章重点讨论了将g b p l 流程实例化为b p e l 4 w s 流程的具体过程,最后在第七章 给出总结。 7 兰! 坚奎兰堡主兰堡堡苎 苎王墨星查竺堡竺鲨! 竖叁垫查鱼壁堕壅 第二章w e b 服务合成的框架 w e b 服务的出现正改变着商业合作伙伴之间及其与客户之间的协作方式,使企业能通 过服务合成来共享资源、自动化商业流程。所谓w e b 服务合成,是把i n t e m e t 上已有的相对 简单的w e b 服务按一定的业务流程逻辑合成起来以构成复杂的复合服务,从而提供更强大 更完整的商业功能。其中的业务流程逻辑通常对应一商业逻辑,被合成的每个w e b 服务完 成其中的一个任务。通过动态地合成已有的w e b 服务,就无须重构单一的复杂服务,同时 很好地适应电子商务环境中的多变性和动态性。 目前w e b 服务合成技术的应用尚处于起步阶段,但研究界和业界已有大量相关研究。 本文基于三层本体论,围绕业务流程逻辑提出了合成w e b 服务的总体框架,其要素包括: ( 1 ) 业务流程逻辑的生成:为实现一个特定的目标,计划能达到该目标的步骤并组装成一 个业务流程逻辑;( 2 ) 业务流程逻辑的表示:用某种形式化的方式将其表达出来;( 3 ) 业务 流程逻辑的实现:包括将其实例化然后执行,从而实现用户请求的功能。w e b 服务的描述 和发现机制是w e b 服务架构中的基础设施,也是框架中的组成要素。本体论作为表示和共 享语义的有效途径。解决w e b 服务合成中三个层次的关键问题:常识本体论使用户能用较 自然的形式表达其服务请求:领域本体论使业务流程逻辑能根据用户的请求动态地生成从而 提供最大的灵活性和适应性;w e b 服务本体论则是实现w e b 服务的描述和发现机制的完善 途径。 业务流程逻辑是上述w e b 服务合成框架的核心。事实上,业务流程逻辑可细化为两个 层次:抽象业务流程和可执行业务流程。前者在较抽象的层面上描述较通用的商业逻辑,因 此对流程中所需的w e b 服务只作较抽象的描述;而后者则通常已经与较具体的w e b 服务实 现绑定,在一定程度上可以看成是可执行的脚本。从某种角度讲,可执行业务流程是对抽象 业务流程的一种实例化。目前的研究并没有明确业务流程逻辑的这种细化,更没有考虑如何 将抽象业务流程“实例化”为可执行业务流程。本文将重点关注这个问题。 本章内容组织如下:首先提出基于本体论的w e b 服务合成的总体框架然后讨论w e b 服务的描述和发现机制,并简单介绍w e b 服务的总体架构,接着依次分析w e b 服务合成过 程中业务流程逻辑的生成、表示和实现,最后讨论业务流程逻辑的细化分层问题。 2 1 总体框架 w e b 服务合成的目的是利用已有的w e b 服务来完成一个特定的目标【3 1 ”,并希望在这 个过程中尽可能地实现自动化。使人工参与缩减到最少。图2 1 给出了w e b f l l l 务合成的框架。 该框架引入三层本体论,在各层本体论上使用相应的推理机代替人工进行分析推理,使合成 中的核心过程由机器自动完成。 8 浙江大学硕士学位论文 基于多层本体论的w e b 服务动态合成研究 图2 1w e b 服务台成的总体框架 本体论是表达领域知识的一组概念或术语j 。它可用于组织知识库较高层次的知识抽 象,也可用于描述特定领域内的知识。其作用可总结为三个方面1 9 】:( 1 ) 为人、企业与机器 之间的通讯提供共同词汇;( 2 ) 在不同的建模方法、范式、语言和软件工具之间进行翻译和 映射,实现互操作和集成;( 3 ) 用于系统工程中的知识获取、规范表达等,并在可重用性和 可靠性方面提供支持。有关本体论更详细的介绍见3 1 节。 在图2 1 中,第一层常识本体论涵盖人类日常生活的常识,用来理解和翻译服务请求者 发出的一般形式( 如自然语言) 的请求。典型常识本体论实例如c y c ”l 。c y c 使用一阶谓词 逻辑的变种c y c l 1 8 1 表达知识,知识库中包含简单的声明、推理规则和推理控制规则,可使 用推理机由此产生新的推断。第二层领域本体论用于表达某一特定领域内的概念、分类法、 关系和规则等知识。在商业环境中,领域本体论通常提供一个行业中共享的概念、约束和商 业过程定义等。领域本体论可以是常识本体论的一部分,也可以分离出来成为一个细化的分 支。第三层w e b 服务本体论对w e b 服务这个特定领域中出现的概念、属性等提供共享的知 识表示,典型实例如使用d a m l 语言1 定义的d a m l s 1 1 2 1 4 1 ,而w 3 c 正在制订的o w l ”j 也可用来建立w e b 服务的本体论。有关d a m l 和d a m l s 更详细的介绍见3 2 节和3 3 节。 基于三层本体论,w e b 服务合成的主要过程如下:请求者( 用户或者程序) 将某种表 达形式的服务请求提交给w e b 服务合成系统,后者基于常识本体论对该请求进行分析,并 翻译成针对目标领域的形式化表示;然后,结合相关的领域本体论进行推理。针对请求的目 标和可能的约束,计划所需的步骤并最终生成一个以某种规范表示的业务流程逻辑;之后, 该业务流程逻辑被实例化,主要是通过w e b 服务的发现机制来搜索和选择能完成业务流程 逻辑中各个任务的w e b 服务从而完成绑定;最后,实例化后的复合服务被执行并返回结果, 这需要通过w e b 服务的描述机制获得调用各个w e b 服务所需的信息( 例如调用方式、地址 等) ;在执行过程中,若个别服务出现错误或失效,则需重新搜索和选择替代服务。 上述框架抽象出了合成w e b 服务的主要步骤,但具体实现上可有所补充,例如可以给 出多个满足用户请求的业务流程逻辑或复合服务的实现让用户选择【2 0 j 。另外,出于实际需 求和效率等考虑,这些步骤也可适当简化。首先,对于使用频度较高的过程,例如旅行社代 理服务( 包含机票、旅馆预订等步骤) ,不需要每次基于本体论进行推理来生成业务流程逻 辑,而是将该业务流程逻辑保存起来。目前的研究大多在这种简化的基础上进行口4 ,“2 ”, 即业务流程逻辑是静态指定而不是动态生成的,所谓“动态合成”只是指业务流程逻辑在实 例化时可动态地发现合适的服务进行绑定。其次,更进一步,使用频度较高的业务流程逻辑 9 浙江大学硕士学位论文 基于多层本体论的w e b 服务动态合成研究 的最优实现可通过服务的描述和发现机制直接供服务请求者调用,即所谓“静态合成”。这 两种方法还可以结合,即将业务流程逻辑中部分任务与具体的w e b 服务实现静态绑定,其 余仍在执行前动态绑定。 2 2w e b 服务架构的基础设施 2 2 1 服务描述 w e b 服务的描述是进行服务发现和合成的基础。描述可按多种标准分类。 根据描述的外部可见性可分为公有描述( 或黑盒描述) 和私有描述口”。公有描述对外 部访问者可见,是使用该服务所必需的信息,而私有描述通常包含服务提供者的内部逻辑, 出于封装性或者安全的考虑而不对外公开。这种分离是对企业内部过程和企业间过程的必要 分离和抽象”。若将w e b 服务分成原子服务和复合服务两种h ”,则后者对内部业务流程逻 辑的描述通常就是私有的,两者的公有描述可以没有区别,从而对外部具有相同的表现形式 “。在某些情况下,适当暴露部分内部逻辑有助于请求者跟踪服务的执行情况,因此可对 服务作适当的灰盒描述“”。 根据描述的层面可分为目标描述、接1 3 描述、实现描述和非功能性描述等。目标描述说 明服务能完成的功能。接e l 描述类似于i d l ,包括输入、输出及其格式等。实现描述包括服 务实现的调用方式、地址等。非功能性描述包括服务的提供者信息、相关产品信息、工业分 类、地理覆盖范围、价格、最大和最小响应时间等。 目前大多数的w e b 服务描述规范都是语法性的,典型的如w s d l 2 ”。它属于公有描述, 主要包括接口和实现两个层面。一个w s d l 文档主要提供如何触发一个w e b 服务的信息, 包括需要交换的数据、进行某个操作的消息序列、服务的地址以及绑定。w s d l 将服务的 接口定义与实现定义分离开来,使得它们能够分别独立地被定义,并且能被其他部分重用。 同属一个类别的商业服务所共有的那些信息通常包含在服务的接口定义中,以便在服务的目 录中进行注册。w s c l ”是对w s d l 的一个补充,用于定义w e b 服务的一些抽象界面,这 些抽象界面主要包括由w e b 服务支持的商业实体级别的会话、公共流程等w s c l 可用于 描述被交换的x m l 文档以及允许的x m l 文档的交换序列。u d d i t 2 9 1 也可与w s d l 结合提 供部分非功能性描述。w s o l 3 0 1 则提出了另一种扩展,使得能对同个w e b 服务定义不同 的服务级别,包括不同的功能性的和非功能性的限制,例如q o s ( 服务质量) ,从而向不同 的用户提供不同级别的服务。很多w e b 服务合成平台都有专用的服务描述语法1 2 ,4 ,“2 ”,例 如e - s p e a k 3 ”。它包含了类似w s d l 的功能,使用一些“词汇”将服务描述成一系列属性, 其中词汇是一个逻辑组内的服务共有的属性。属性的值类型包括字符串、整型、布尔型和双 精度浮点数。一个基本词汇集定义了某些基本属性例如名称、类型、描述、关键字和版本等。 w e b 服务的语法性描述表达能力较弱,无法支持智能推理。而语义性描述需要建立w e b 服务的本体论。从语义的角度可总结服务所具有的属性如下p :提供者、空间和时间可用 性、请求和分发方式、价格和付费方式、安全、服务质量和信誉等。前面提到的d a m l s 则是一种较完善的w e b 服务的本体论。它提供一套标注语言使得服务提供者用机器能解析 的形式无歧义地描述服务的能力和属性,从而服务的发现、合成等都能自动完成。它主要包 含三个部分:s e r v i c e p r o f i l e 描述服务的目标:s e r v i c e g r o u n d i n g 描述服务的实现,可基于 w s d l 和s o a p 进行i l “j ;s e r v i c e m o d e l 属于灰盒描述,用面向过程的方式描述复合服务 的内部逻辑。有关d a m l - s 更详细的介绍见3 3 节 1 0 浙江大学硕士学位论文 基于多层本体论的w e b 服务动态合成研究 2 2 2 服务发现 w e b 服务发现可采用两种架构:中心式架构和分布式架构。前者通常有一中心目录, 服务提供者在其中注册服务,发布相关描述( 可称为广告) 或相应引用。服务请求者根据特 定的条件在目录中搜索所需服务。这种架构能保证性能,但可靠性和增容性不好。典型的分 布式架构如p 2 p 发现机制p ”。在p 2 p 架构中,通常服务请求者同时也是服务提供者。请求 者向已知的服务提供者提交查询,后者又可将查询转发给其所知的其他服务提供者,使得这 个查询在整个p 2 p 网络中迅速扩散,直到找到足够多的合适的服务。这种架构灵活性和增 容性相对较好,但无法保证效率。将两种架构结合起来将可能是更好的一种途径,例如提供 数量较多的服务器以分散数据和任务,并在这些服务器之间使用p 2 p 技术进行服务发现。 服务发现中另一关键问题是如何将查询条件与服务描述进行匹配【3 4 t 圳。非功能性描述 的匹配通常较简单,例如要求服务价格等在某一范围内,但其在服务选择过程中的重要性不 可忽视“”。其他层面描述的匹配较复杂,特别是对服务的目标( 先验、后验条件) 、输入, 输出的模式和语义等的匹配。因此,服务广告语言应具备高灵活性和表达能力、半结构化数 据表达能力、类型和分类支持及约束表达能力p 6 1 ,r d f a ”在一定程度上满足这些要求。 u d d i 2 9 1 属于典型的中心式架构,旨在建立统一的w e b 服务目录,请求者通过匹配关键 字搜索所需服务,但无法进行更复杂的高级搜索。增强u d d i 的工作包括i b m 近期发布的 u d d i 扩展,主要是改进其查询接口以支持综合企业与服务的搜索。另外,可通过对d a m l s 进行扩展来提供电子商务中一些必需的功能,例如将服务与电子目录进行关联、描述配套服 务以及根据产品或者服务的属性进行搜索等,并将其与u d d i 结合,从而在u d d i 中引入语 义i j ”。基于d a m l - s 的服务发现可通过服务本体论把所需服务的输入和输出模式与被查询 服务的输入与输出模式进行语义上的模糊匹配雎,匹配程度分为完全匹配、从属匹配、 超属匹配及失配。与u d d i 不同,w s i l l 4 0 1 属于分布式架构,依赖分布式模型提供对服务描 述的引用,并通过一系列约定使其本身的文档易于定位,但不支持查询。e b x m l l 4 l j 作为一 套模块化的规范,旨在使任何地域内的任何规模的企业能够在i n t e r a c t 上进行商务活动,其 中也定义了类似u d d i 的中心目录。现有的w e b 服务合成平台通常都提供中心目录以支持 服务发现”“”j ,但其实现往往是专有的,没有成为开放的标准。 2 2 3w e b 服务的架构 w e b 服务的描述和发现机制是w e b 服务架构中的基础设施,图2 2 是i b m 提出的完接 的w e b 服务架构【i 】 其中采用了大量的业界标准,包括s o a p 4 2 1 、w s d l 和u d d i 等。 图2 2i b m 的w e b 服务架构 塑竖查兰堡主兰垡丝苎 茎王墨星查堡笙塑些! ! ! 查垫查垒堕堡塞 将d a m l s 与i b m 的w e b 服务架构结合起来可以建立一种语义的w e b 服务架构【”i , 如图2 3 所示a 业界的w e b 服务标准和本体论的语义表达能力相结合在一定程度上可形成 互补。在语义的w e b 服务架构中,用户可通过a g e n t 来搜索、合成和调用服务,因此在通 讯层增加了对a g e n t 通讯协议( 如k q m l 和a c l 等) 的支持。d a m l s 被用来描述服务, 并可代替b p e l 4 w s 描述业务流程逻辑。服务发现需要有与本体论兼容的目录机制,例如 s w o b l s j ,u d d i 需要改进才能与d a m l s 配合使用【3 8 】。 图2 3 语义的w e b 服务架构 2 3 业务流程逻辑的生成 业务流程逻辑通常对应实际应用中的商业逻辑,包括控制流和数据流两个方面。控制流 指定一系列任务及其执行流程,包括顺序、分支、分支连接、并发、乱序和循环等【1 3 1 。数 据流则指定这些任务阊的数据传递模式,典型的业务流程逻辑如旅行社代理服务,其过程包 含机票预订和旅馆预订等任务,图2 4 描述了该服务的一种控制流。 圈2 4 旅行社代理服务的控制流 业务流程逻辑的生成过程可视为抽象的计划过程。所谓“抽象”,是指只确定计划中每 1 2 浙江太学硕士学位论文 基于多层本体论的w e b 服务动态合成研究 个步骤的内容及相关参数( 例如输入、输出等) ,但不给出具体实现,例如不与具体的服务 实现绑定。 现有的w e b 服务合成平台大多需要事先指定业务流程逻辑【2 4 ,2 “2 ”,而不是根据请求者 的请求动态地生成,无法很好地适应电子商务中多变的环境f 5 】。这类平台通常提供一种表示 业务流程逻辑的形式化方法,使得用户能够进行静态的复合服务设计。 另一类平台虽然支持业务流程逻辑的自动生成,但是其底层的知识库没有组织成本体论 的形式,如p l m n o w m 和w s r l “1 。 p l m n o w 5 1 将领域知识抽象为“事件条件动作”形式的商业规则,这些规则独立于具体 的业务流程,分为两类:p l m 流模式管理规则和p l m 流执行规则。前者用于动态地创建 p l m 流模式( 可以看作是业务流程逻辑) ,又分为前链( b a c k w a r d c h a i n ) 规则和后链 ( f o r w a r d c h a i n ) 规则;后者用于流模式的实例化。用户在请求一个复合服务时,需指定输 入以及完成业务流程逻辑中最终目标任务的服务的模式,系统根据前链规则和后链规则分别 进行前链和后链推理,从而动态地生成业务流程逻辑。p l m 流执行规则用于服务选择、流 程控制及执行协调。 w s r l 2 0 l 提出w e b 服务请求语言的概念。它基于形式化的计划语言e a g l e ( 时间逻辑 c t l 的一种扩展) ,并结合线性约束语言以表达各种条件( 例如超时) ,使用户能无歧义地 表达目标和约束。系统将商业模型和商业规则以n p d d l 的形式( 计划领域描述语言p d d l 的一种非确定性扩展) 保存在知识库中。当收到用户以w s r l 形式表达的服务请求后,系 统遍历知识库中的活动路径( a c t i v i t yp a t h ) 以搜索能实现目标的“通用计划”,并在实例化 时根据用户指定的约束选择适当的服务实现。 还有一些平台没有抽象出业务流程逻辑的概念,而是针对特定的目标根据某种推理直接 从服务目录中选择服务实现从而实例化复合服务。 一种方法是将服务视为a g e n t 完成一个动作的行为模块( b e h a v i o rm o d u l e s ) ,合成服务 的过程就成为a g e n t 选择动作的过程。该方法将a g e n t 领域内的技术应用到w e b 服务合成 中,例如b o d ( b e h a v i o r - o r i e n t e dd e s i g n ) 中的b r p ( b a s i cr e a c t i v ep l a n ) ,它能使a g e n t 对动态环境做出反应以确定一个行为序列。 另一种方法使用程序合成( p r o g r a ms y n t h e s i s ) 技术t 4 ”。在给定输入、输出和先验条件 后,程序合成器通过程序合成推理s s p ( s t r u c t u r a ls y n t h e s i sp r o g r a m ) 算法组合可用的服务 以满足需求,其中对服务的匹配规则是:当所要求的输入是服务输入的子集并且所要求的输 出是服务输出的子集时,匹配成功。知识对象( k n o w l e d g e o b j e c t ) 的使用使得程序合成器 能使用独立于特定规范的形式来描述服务,w s d l 、d a m l s 都可被兼容。 n i n j d l 6 1 使用“路径”的概念来表示复合服务,实现服务的连接和交互。路径上的服务 称为操作器( o p e r a t o r ) ,操作器之间通过连接器( c o n n e c t o r ) 连接。对复合服务的请求需 指定源操作器( 路径的起点) 的输入模式及终操作器( 路径的终点) 的输出模式,以及路径 必须包含的操作器名称的集合( 可以为空) 。自动路径创建器a p c 收到请求后,通过路径查 找算法动态地创建一条“逻辑路径”,该算法类似于数据库中的查询计划生成算法。生成的 逻辑路径必须保证路径上相临操作器间的输入和输出的兼容性。整条路径便实现了一个复合 服务。 2 4 业务流程逻辑的表示 模块化良好的w e b 服务合成平台应对业务流程逻辑进行抽象并提供形式化的表示方 法,使其能被重用和维护。其中控制流逻辑的表示首先需对每个任务进行描述,如目标、约 束等,作为实例化时搜索能完成该任务的w e b 服务的条件,这可参考或搬用w e b 服务的描 3 浙江大学硕士学位论文基于多层本体论的w e b 服务动态合成研究 述规范;其次,控制流逻辑需描述任务的流程。数据流逻辑描述各任务的输入、输出和消息 交换协议等。 业务流程逻辑的表示已有诸多标准提案。i b m 提出的w s f l t 4 5 1 用流模型抽象地表示应 用的执行过程及其与交易伙伴的交互序列,并用公共模型描述一组w e b 服务之间的交互模 式。m i c r o s o f t 提出的x l a n g d 6 1 用状态化的持续运行的交互作为表示业务流程的形式化规 范,通过消息交换使得行为对外部可见。b p e l 4 w s 1 0 1 由i b m 、m i c r o s o f t 和b e a 联合提出, 是w s f i ,和x l a n g 的综合。在b p e l 4 w s 中,业务流程有两种表达形式:可执行业务流 程和抽象业务流程。前者对商业交互中单个参与者的行为进行建模;后者描述业务协议,指 定参与各方互相可见的消息交换行为,而不揭示其内部行为。有关b p e l 4 w s 更详细的介绍 见第四章。 w s c o o r d i n a t i o n t 4 7 l 和w s t r a n s a c t i o n t 4 8 】作为b p e l 4 w s 的协同协议,提供一种跨越不同 实现环境的一致并可靠的方法,以协调和合成不同平台下实现的w e b 服务和业务流程,确 保正确的结果。b p m l l 4 9 1 是业务流程建模的元语言,基于事务式有限自动机,为协作业务流 程提供抽象的执行模型。e b x m l ( o l 中的c p p ( c o l l a b o r a t i o n p r o t o c o lp r o f i l e ) 也使得交易伙 伴能表达其支持的业务流程和商业服务接口。p s l l s o l 是协助流程信息交换的中间格式,旨在 使流程逻辑能够自动在流程建模、流程计划、调度、模拟、工作流、项目管理及业务流程重 建工具等应用系统间流通。这些应用系统可在其本地格式与p s l 问进行转换,从而通过p s l 与其他系统交流。以上各标准提案有互补之处,也有重叠的地方。 目前已实现的w e b 服务合成平台大多引入工作流领域内的方法表示业务流程逻辑。典 型例子包括: e f l o w t 2 1 用图为流程建模。图包含服务节点、事件节点和决策节点 还可用“事务 区”指定某局部过程的执行原子性。服务节点包含所需服务的描述,事件节点包含 控制执行流的规则。另外多服务节点( m u l t i s e r v i c en o d e ) 允许同时运行几个接收 不同输入的服务实例,通用节点( g e n e t i cn o d e ) 则可在业务流程逻辑实例化时动 态地与任意服务绑定。 一 s c m 刚中的“复合服务描述语吉”( c o m p o s i t i o ns e r v i c ed e s c r i p t i o nl a n g u a g e ) 使 用有向图来描述业务流程逻辑,其中节点表示服务,边表示服务间的依赖关系。 s c m 采用两层业务流程模型,区分服务的触发和服务的方法的触发,分别用服务 节点和方法节点表示。方法节点定义了方法的输入和输出,用x m l 模板( x m l t e m p l a t e ) 定义其模式( 例如r o s e t t a n e t ) ,并使用定制的x q l 查询从输出的x m l 中提取所需数据。另外,s c m 还支持动态会话选择,能在复合服务实例化时根据 选定的服务动态地从会话资料库中取得相应的会话协议。 一 s e l f s e r v t 4 ,5 1 , 8 1 使用s t a t e e h a r t s 的个子集来表达业务流程逻辑,其中的状态 ( s t a t e ) 分为简单状态和复合状态。简单状态对应于一个服务的执行,标注有该服 务的描述,在服务执行完毕时通过“非触发转移”结束,但如果该状态有标注着事 件的出转移,那么一旦发生此事件,该状态就结束,服务被取消。复合状态不标注 有服务,而是包含个或多个子s t a t e c h a r t s 。当进入复合状态时,触发其包含的子 s t a t e c h a r t s 的初始状态,直到到达子s t a t e c h a r t s 所有的终状态,该复合状态才结束。 s t a t e c h a r t s 使得s e l f - s e r v 能表达分支、循环、并发、连接和异常等基本的控制 逻辑。另外,s e l f - s e r v 使用服务群落( c o m m u n i t y ) 的概念来抽象服务。 一d y s c o t 2 2 】也沿用工作流模型,例如流逻辑也包括序列、选择、并发和循环等,但原 有模型中的“任务”变为“交互步骤”( i n t e r a c t i o ns t e p ) ,“资源”变为“角色”( r o l e ) 。 在一个交互步骤中,一系列角色互相交互来完成一特定目标,交互步骤的名称包含 交互如何进行的信息,输入可由某个单一逻辑实体维护的流程总体状态提供,而其 1 4 鲨塑型兰墅堂垡丝奎 苎王墨星查竺丝塑鲨! 竖量塑查全盛里窒 输出也将影响总体状态。o y s c o 提供开发工具,用类似设计工作流的界面来设计业 务流程逻辑,并提供“交互步骤”库,例如r o s e t t a n e t 中的p i p ( p a r t n e ri n t e r a c t i o n p r o c e s s e s ) 。 此外,“模式”( p a t t e r n ) 也被认为是表示业务流程逻辑的一种方法i ”i 。“模式”是由一 特定上下文、问题和解决方案三部分组成的规则,可用作交流特定上下文中解决某个问题的 经验的共同语言,例如表达可重用的业务流程。使用a g e n t 编程语言c o n g o l o g 编写的通用 过程也是一种业务流程逻辑h ”,可对应为d a m l s 中的复合服务。 2 5 复合w e b 服务的实例化和执行 复合w e b 服务的实例化是把业务流程逻辑中需要调用其他w e b 服务的任务与合适的 w e b 服务实现进行绑定的过程,主要根据各任务及相关数据流的描述通过服务发现机制找 到具体的服务提供者。实例化完成后,复合服务就被执行。服务合成平台需建立执行和协调 机制,因为被合成的服务通常分布在网络的不同节点中。协调者必须合理地保证复合服务的 错误忍受能力和执行效率,有效地管理网络资源以降低执行代价。错误忍受能力是评价服务 合成平台的重要指标。复合服务的正确运行依赖于各子服务的正确运行。当个别子服务出现 故障时( 例如当网络发生阻断) ,合成平台应能探测到该故障并应用适当的错误处理策略来 保证整个系统的正确性。 执行和协调的模型主要有四种,见图2 5 。图中节点表示服务提供者,节点间连线表示 交互。( a ) 为中心式,由一个中心执行引擎负责执行和协调复合服务的各个部分,包括调度、 触发和控制等,其中中心节点( 通常是复合服务的提供者) 分别与其他节点( 被调用服务的 提供者) 相连,典型平台实例如e f l o w 口i 、c m i 口”。该模型控制简单,故障监测和恢复及安 全和信任体系的建立较方便,但容易形成瓶颈,系统效率和增容性不好( b ) 为层状中心式, 与中心式相似,但中心节点( 假定为s p ) 把部分的执行和协调任务分配给下一层的节点( 假 定为s p i 、s p 2 ) ,由它们负责对应的一个或多个子服务。s p t 与s p 2 等同层的节点之间 没有连线,也就是它们之间不宣接通讯,而只与s p 进行交流。所有的交互仍都要通过s p 间接进行。s p ,也可以进一步把分配到的子服务交给更下一层的节点,由此递归从而构成一 个层状的结构。典型实例如a d e p t t 5 ”。该模型分散了瓶颈,但服务间通讯的效率并非最好。 ( c ) 为分布式,所有节点之间都可以进行点对点的交互,从而子服务之间的可能的交互可

温馨提示

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

评论

0/150

提交评论