(计算机应用技术专业论文)万维网服务组合动态模型的研究与实现.pdf_第1页
(计算机应用技术专业论文)万维网服务组合动态模型的研究与实现.pdf_第2页
(计算机应用技术专业论文)万维网服务组合动态模型的研究与实现.pdf_第3页
(计算机应用技术专业论文)万维网服务组合动态模型的研究与实现.pdf_第4页
(计算机应用技术专业论文)万维网服务组合动态模型的研究与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)万维网服务组合动态模型的研究与实现.pdf.pdf 免费下载

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

文档简介

南京邮电大学硕士研究生学位论文万维网服务组合动态模型的研究与实现 摘要 为满足用户对业务和应用的需求,下一代业务的开发、部署和运行必须更加便利灵活,网 络和业务开发体系面临着改革,万维网服务技术使用了松耦合的集成模型,使得重用服务构 建新的应用程序变得简单而且快速,因此,万维网服务组合技术成为目前的研究热点,尤其 是万维网服务动态组合技术。 万维网服务动态组合是在流程的执行过程中动态查找、绑定并调用万维网服务的一种服务 组合方式,这种方式适用于动态开发新应用,以满足用户动态变化的需求。因此,在目前已 有的技术支持下,如何实现服务动态组合、如何高效查找、准确绑定服务成为研究的关键点。 当前已有较多相关工作,有些工作提出了一个完整的动态组合模型,有些工作针对动态组合 的部分问题提出解决方案,但是这些工作没有考虑,由于万维网服务的松耦合性以及网络的 不稳定性的存在,流程也需要动态组合技术来确保其正常执行,同时没有从流程使用者的角 度考虑提供服务定制能力。 为了解决上述问题,本文以目前既成事实的流程建模规范b p e l 4 w s 语言为重点进行分析 和研究,针对服务动态组合需要解决的问题,改进了服务绑定模型,基于改进的服务绑定模 型,通过扩展b p e l 4 w s ,提出了基于b p e l 4 w s 的万维网服务组合动态模型,模型主要包含后 备服务机制以及服务定制机制,解决可执行工作流程动态组合需求以及抽象工作流程的服务 定制需求,并以动态组合过程管理机制实现 尽力而为 确保流程的可执行性。 本文重点研究了万维网服务组合动态模型,并针对目前服务组合模型缺乏服务定制能力以 及动态环境下流程可行性保证的问题,提出了包含后备机制以及服务定制机制的服务组合动 态模型。通过软件实现可以发现,该模型可以解决可执行工作流程绑定后备服务以及抽象工 作流绑定定制服务问题,同时尽力而为保证流程的可执行性。 南京邮电大学硕士研究生学位论文万维网服务组合动态模型的研究与实现 a b s t r a c t i no r d e rt os a t i s f yt h ec u s t o m e r sr e q u i r e m e n t sf o rs e r v i c e sa n da p p l i c a t i o n s ,n e x tg e n e r a t i o n s e r v i c e sm u s tb ed e v e l o p e d ,d e p l o y e da n de x e c u t e di nam o r eh a n d ya n df l e x i b l em e t h o d ,a c t u a l n e t w o r k sa n ds e r v i c ed e v e l o p m e n ta r c h i t e c t u r ea r ec o n f r o n t e dw i t l li n n o v a t i o n b a s eo nal o o s e l y c o u p l e di n t e g r a t i o nm o d e l ,w e bs e r v i c e st e c h n o l o g i e sc a ns i m p l ya n dq u i c k l yd e v e l o pn e w a p p l i c a t i o n sb yr e u s i n gw e b s e r v i c ea sac o m p o n e n t t h e n , w e bs e r v i c e sc o m p o s i t i o nt e c h n o l o g i e s b e c o m er e s e a r c hh o t s p o t ,e s p e c i a l l yw e bs e r v i c ed y n a m i cc o m p o s i t i o n w e bs e r v i c ed y n a m i cc o m p o s i t i o ni sak i n do fc o m p o s i t i o nm o d eu s e df o rd y n a m i c a l l yf i n d i n g , b i n d i n ga n di n v o k i n g p a r t n e r sd u r i n ge x e c u t i o no fp r o c e s s t h i sm o d ei sa p p l i e dt od y n a m i c a l l y d e v e l o pn e wa p p l i c a t i o nt oc a t e rf o rt h ef l e x i b l er e q m r e m e n t so fc o s t u m e r s a tp r e s e n t ,t h e r eh a v e b e e ns o m er e s e a r c h e so nw e bs e r v i c ed y n a m i cc o m p o s i t i o n ,s o m eo naw h o l ed y n a m i cm o d e lo f c o m p o s i t i o na n ds o m eo np a r ti s s u e so ft h i sa s p e c t b u ta l lt h e s er e s e a r c h e sn e g l e c tp r o b l e m st h a t p r o c e s sw i l lb eo u to ft h ew a yb e c a u s eo fw e bs e r v i c e s l o o s e l yc o u p l e dp r o p e r t ya n df l e x i b l e n e t w o r ke n v i r o n m e n ta n dt h a tt h eu s e r s i n d i v i d u a t i o nr e q m r e m e n t f o rt h e s ep r o b l e m s ,t h et h e s i se m p h a s i so nt h er e s e a r c ho nt h ed ef a c t op r o c e s sm o d e l i n g s t a n d a r d - - b p e l 4 w s ,f o c u s i n go nt h ep r o b l e m sw h i c ha r em e n t i o n e db e f o r e ,a n da m e n dt h em o d e l o fs e r v i c eb i n g d i n g b a s eo nt h ea m e l i o r a t i v em o d e l t h et h e s i sb r i n gf o r w a r dad y n a m i cm o d e lo f w e bs e r v i c ec o m p o s i t i o ni n c l u d i n gb a c k u pm e c h a n i s m ,c u s t o m i z a t i o nm e c h a n i s ma n dm a n a g e m e c h a n i s mt om a k et h eb e s tt og u a r a n t e en o r m a le x e c u t i o nt op r o c e s s i ns h o r t ,t h i st h e s i se m p h a s i so nt h ed y n a m i cm o d e lo fw e bs e r v i c e sc o m p o s i t i o n ,f o c u s i n go n p r o b l e m st h a ta c t u a ls e r v i c e sc o m p o s i t i o nm o d e l sa r el a c ko fs e r v i c ec u s t o m i z a t i o na b i l i t ya n d t h a t h o wt og u a r a n t e ep r o c e s st ob ee x e c u t a b l ea n db r i n gf o r w o r dad y n a m i cc o m p o s i t i o nm o d e lm a i n l y i n c l u d i n gb a c k u pa n d c u s t o m i z a t i o nm e c h a n i s m s v i at h ei m p l e m e n t a t i o nb a s e do nt h em o d e l s ,i t s f o u n dt h a tt h em o d e lc a ns o l v et h ep r o b l e m sa n dd ot h eb e s tt og u a r a n t e ee x e c u t a b l ep r o c e s s 1 1 南京邮电大学硕士研究生学位论文 中英文专业术语对照表 中英文专业术语对照表 英文本文译文 娓bs e r v i c e s 万维网服务 晒r k f l o w工作流 p a r t n e r 参与者 m e s s a g e 报文 c o n c e r n i n g 关注点 a d v i c e 增强 j o i np o i n t 连接点 p o i n t c u t 切入点 w e a v i n g 编织 c h o r e o g r a p h y 编排 m e s s a g ep r o p e r t i e 报文属性 c o r r e l a t i o n 关联 s c o p e 活动范围 i n v o k e 调用请求 r e c e i v e接收请求 a c t i v i t y 活动 s e r v i c ed o m a i n服务域 s e r v i c el i n k 服务链接 r e m e d y 修复 f o r w a r dr e c o v e r y向前恢复 b a c k w a r dr e c o v e r y 向后恢复 c o m p e n s a t i o n 补偿 5 3 南京邮电大学硕士研究生学位论文 缩略词 缩略词 缩略词 英文全称 译文 x m le x t e n s i b l em a r k u pl a n g u a g e 可扩展标签语言 w s d l w e bs e r v i c ed e s c r i p t i o n 万维网服务描述语言 l a n g u a g e 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简单对象访问协议 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 s o as 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 c s e v i c e o r i e n t e dc o m p u t i n g 面向服务计算 q o sq u a l i t yo fs e r v i c e 服务质量 b u s i n e s sp r o c e s se e x e c u t e b p e l 4 w s 万维网服务流程执行语言 l a n g u a g ef o rw e bs e r v i c e s w 3 c舫r l d 黜踞6c o n s o r t i u m 万维网联盟 a o p a s p e c t - o r i e n t e dp r o g r a m m i n g 面向方面编程 d c o m 分布式组件对象模型 d i s t r i b u t e dc o m p o n e n to b j e c t m o d e l e p r e n d p o i n tr e f e r e n c e 端口引用 w s f lw e bs e r v i c e sf l o wl a n g u a g e万维网服务流程语言 商家对商家的一种电子商务交 b 2 bb u s i n e s s t o b u s i n e s s 易模式 s a x s i m p l e a p if o r x m l x m l 简单编程接口 x s dx m ls c h e m ad e f i n i t i o n x m l ( 元) 模型定义 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:冱查童日期:兰翌竺:2 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相二 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名:石塑 导师签 日期: 南京邮电大学 硕士学位论文摘要 学科、专业:工学计算机应用技术 研究方向: 计算机网络与分布计算系统 作者:2 0 0 4 级研究生石方方 题目:万维网服务组合动态模型的研究与实现 英文题目: r e s e a r c ho nt h ed y n a m i cm o d e lo fw e bs e r v i c e s c o m p o s i t i o na n di t si m p l e m e n t a t i o n 主题词:万维网服务业务流程执行语言动态组合 k e y w o r d s : w e bs e r v i c e s b p e l 4 w sd y n a m i cc o m p o s i t i o n 课题来源:国家自然科学基金重大研究计划项目,项目编号: 9 0 4 1 2 0 0 2 南京邮电大学硕士研究生学位论文第一章绪言 第一章绪言 1 1 、研究背景介绍 在网络技术的快速发展的形势下,为满足用户对业务和应用的需求,下一代业务的开 发、部署和运行必须更加便利灵活,网络和业务开发体系面临着改革。针对目前出现的问 题,s o c ( s e v i c e o r i e n t e dc o m p u t i n g ) 1 提出了面向业务的思想。 s o c 是为实现应用层次上的网络融合而提出的面向业务计算技术,遵循s o c 所构造 的s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 可以在提供下一代新型业务的同时尽可能保留 原有网络的业务,s o c 将( 异构) 业务封装为自治构件,构件独立于平台,独立于网络,并 为构件提供标准化描述、发现和通信的基本功能支持,通过重用这些构件,快速灵活开发、 部署复杂的跨网络的下一代业务。 万维网服务技术是s o a 的典型实现,目前其协议栈包括w s d l 、s o a p 和u d d i 三种标准协议,这些协议建立在x m l 之上,借助x m l 的跨语言、跨平台的解决方案,搭 建了面向服务的松耦合的交互环境,解决了架构中构件标准化描述、查找和调用的问题, 简化了跨平台应用交互问题,从而解决了异构系统的交互问题。 在万维网服务架构中,应用和业务等均被视为架构中的构件,称为万维网服务。这些 服务可通过集成快速构成功能更强大的服务,满足客户和业务开发者对下一代业务的需 求。但是,目前万维网服务技术缺少建立在这些协议之上的、支持服务集成的标准抽象协 议来适应大规模商业应用需求,如何重用已有的万维网服务,并通过自动化、可管理的方式 进行合成,动态生成新的应用系统,以满足市场对应用的动态需求,已经成为工业界与学术 界共同关注的问题,且已成为推动万维网服务技术不断向前发展的技术动力和研究热点【2 】 1 2 、当前国内外的研究工作 服务动态组合需要服务描述、服务查找和服务组合描述语言的支持,综合这些技术可 以进一步提出服务组合模型以及开发服务组合系统。目前国内外的研究工作也大多是基于 这几方面进行的: 为实现服务自动组合而提出的具有丰富语义的o w l s ;文献3 从业务级组合考虑提 南京邮电大学硕士研究生学位论文 第一章绪言 出的一种支持业务用户编程的服务虚拟化技术 3 】;s e l f s e r v e 思想则将一组功能相同的 服务进行虚拟化,在对服务的描述中没有提供任何提供者相关的信息,功能相同的服务在 容器中注册,采用容器进行统一管理 4 】,与此思想类似的是服务域( s e r v i c ed o m a i n ) 5 】; c l a u d em o u l i n 和m a r c os b o d i o 将服务内部描述为 c 1 ,c 2 ,g 卜 w s 一 c 。形式,并最终 建模为一组r d f 陈述,为自动组合规划算法的实现提供了基础 6 ;文献 7 提出一种适合 于语义组合服务模型的本体建模方法,服务本体添加了属性间的关系:语义等价 ( s e m a n t i c e q u a l ) 和半语义等价( s e m i s e m a n t i c e q u a l ) ,即服务间的逻辑关系,这是o w l s 所没有定义的;e v r e ns i r i n 和j a m e sh e n d l e r 基于d a m l s 流程描述语言在语义的支持下 开发出了半自动组合的原型系统【8 】;d a n i e lj m a n d e l l 和s h e i l a a m c l l r a i t h 采用b c a 算法 实现了自动组合服务 9 】,文献 6 【1 0 】也采用了类似方法,其中文献【l o 】对b c a 算法进行了 改进,消除了递归;h t m g ,e c k 和c h i u ,d k w 提出将b p e l 4 w s 流程逻辑分割为控制流、 数据流和异常处理流,提高了流程的灵活性,使得动态改变流程逻辑得以实现【1 1 】;a n i s c h a r f i l 和m i r am e z i n i 将流程与脚本语言结合,由脚本语言来处理动态组合需求 1 2 等等。 1 3 、本论文的主要工作 论文对目前万维网服务动态组合的需求进行了分析和总结,并指出实现动态组合需要 解决的一般性问题,包括服务异构性,服务非功能性需求以及最佳服务选择问题,以解决服 务异构性问题为前提,在此基础上主要针对b p e l 4 w s 展开研究工作,指出基于b p e l 4 w s 实 现服务动态组合的具体需求和问题,并对目前已有工作进行分析和比较,结合已有工作的 优点,针对其缺点,提出了改进的服务绑定模型,设计后备服务机制以及服务定制机制,分 别解决b p e l 4 w s 可执行工作流的动态需求问题以及抽象工作流的非功能性需求和最佳服务 选择问题 本文的主要工作以及创新点主要包括以下几点: 1 、通过对动态组合的问题的研究和分析,针对已有工作的缺陷,以b p e l 4 w s 为研究 重点,提出了改进的动态绑定模型; 2 、设计后备服务机制,解决b p e l 4 w s 可执行工作流的动态组合需求; 3 、在他人工作基础上,从流程执行者的个性化需求角度出发,设计灵活的服务定制 机制以及最佳服务选择策略,解决工作流非功能性需求以及最佳服务选择问题; 4 、动态组合过程管理机制将后备服务机制以及服务定制机制结合起来,并以二次查 找方式实现尽力而为”的动态绑定过程,确保流程的正常执行; 2 南京邮电大学硕士研究生学位论文 第一章绪言 5 、设计实现模型,改变b p e l 4 w s 活动的生命周期,基于b p e l 4 w s 事件解决服务定制 问题以及可执行流程动态需求问题: 论文同时对提出的万维网服务组合动态理论模型和实现模型进行了可行性说明和分 析,并以原型系统验证方案的可行性 在本文的工作中,鉴于研究重点以及时间的安排和实验条件作出如下假设: 1 、假设已有较好的服务查找解决方案,能够高效率地查找到服务的w s d l 文档; 2 、不考虑服务异构性问题,即不针对服务异构性问题展开探索。 1 4 、本论文的组织结构 本论文分为六章,具体结构安排如下: 第一章:绪言,主要介绍了研究背景和意义,并总结了当前国内外的研究工作,介绍 论文的主要工作和创新点。 第二章:介绍并总结目前万维网服务组合所涉及到的关键性技术。 第三章:介绍b p e l 4 w s 语言,介绍流程与服务的交互模型、流程协同服务模型、事件 和异常处理机制以及目前流程执行引擎,总结其静态组合模型,为第四章以b p e l 4 w s 为重 点的深入研究和分析作铺垫。 第四章:分析动态组合的动机,并对b p e l 4 w s 动态组合能力进行分析和总结,同时分 析动态组合需要解决的具体问题。针对这些问题,总结了目前相关问题的工作,经过分析 和比较,采纳了他人工作的优点,针对某些缺陷,提出了改进的服务绑定模型,包括后备 服务机制和服务定制机制,设计基于b p e l 4 w s 的动态组合理论模型,并进行了理论可行性 说明。 第五章:基于第四章所提出的理论模型,改变b p e l 4 w s 活动的生命周期状态图,设计 动态组合的实现模型,最后实现原型系统验证模型的可行性。 第六章:进行总结和展望,提出进一步的工作。 南京邮电大学硕士研究生学位论文第二章万维网服务组合关键技术 第二章万维网服务组合关键技术 2 1 、概述 万维网服务是封装成一个单一实体并通过网络发布给其它程序使用的一系列功能集, 它是自包含、自描述、模块化的应用,可以发布、定位、通过万维网调用,其目标是通过 使用万维网服务标准达到全球应用的互操作e l3 。 万维网服务不同于以往的分布式计算技术,它使用了松耦合的集成模型,允许在多种 领域内的异构系统进行灵活集成,包括b c ,b b 和企业应用集成。这使得采用重用服务创 建新的应用程序变得简单而且快速,因为开发者不需要花大量的时间定义哪里可以找到合 作应用程序,也不需要花时间定义允许它们进行通信的规则( 协议) ,松散耦合的应用程序 的维护也更容易。p i c c i n e l l i ( 1 9 9 9 ) 把服务组合描述成是现有服务结合起来形成的一个新服 务,两个或多个服务提供者提供的服务通过集成、联合和同步后形成的新的具有增值效应 的新服务是先前任何一个单个服务所不具备的。因此服务组合的研究具有重大的意义。 服务组合涉及到很多技术,包括服务描述、服务查找算法、流程描述语言以及流程执 行方式等等,这些技术是一个组合模型需要考虑的方面,同时这些技术并非相互独立的, 服务描述是服务查找算法和流程描述语言的基础,因此服务组合最关键的技术是服务描述 技术和流程描述语言。 本章主要从服务组合的角度分析服务描述技术和流程描述语言需要考虑的问题,并介 绍目前存在的相关技术,同时对目前存在的组合方案进行分析、比较和总结。 2 2 、服务描述技术 服务的异构性不仅表现在服务的功能,服务的实现技术以及服务所处的系统,相同功 能服务的不同描述也使得服务具备着异构性,因此,服务描述需要考虑以下几个问题: 服务描述方式统一:服务间的交互要求服务以一种统一的方式描述,包括统一的数据 编码方式、功能的表达方式等,以达到不同服务提供者之间信息的共享和独立于平台的协 作; 4 南京邮电大学硕士研究生学位论文 第二章万维网服务组合关键技术 服务的描述可理解性:服务的描述信息是否是人类和机器均可理解,这会影响服务组 合模型的组合策略的选择和整体架构。服务描述的信息智能化是实现自动组合的基础,服 务描述的机器可理解性可以解决相同功能服务的描述异构性问题。 服务描述的完整性:服务的属性包括服务的功能,访问方式,服务的质量,服务事务 特性,服务访问约束信息,服务访问地址等等,服务信息描述得越详尽,越有利于服务的 查找。 目前已经出现了很多服务描述的技术标准和方法,其中最主要的技术是w s d l 标准。 2 2 1 、w s d l w s d l 基于x m ls c h e m a 将万维网服务描述为服务访问点的集合,描述可分为两个层 面( 图2 。1 ) :抽象描述和具体绑定信息。 抽象描述:包括m e s s a g e 、o p e r a t i o n 、p o r t t y p e 三个元素 m e s s a g e 定义了通信报文的数据结构; o p e r a t i o n 是对服务支持的操作的抽象描述,描述了访问入口的报文对; p o r t t y p e 描述一个访问入口点,是操作( 服务功能) 的抽象容器。 图2 1 、w s d l 的简化数据结构 下层类描述具体绑定信息;上层类描述抽象信息 具体绑定信息:包括b i n g d i n g 、p o r t 、s e r v i c e 三个元素。 b i n g d i n g 指定了p o r t t y p e 的传送数据的具体协议和数据的编码格式; p o r t 将b i n d i n g 与具体w e b 访问地址绑定,描述了单个服务访问点; s e r v i c e 描述了相关服务访问点的集合。 w s d l 描述了万维网服务的最基本的信息,基于w s d l 可以查找和调用w e b 服务,是 万维网服务架构协议栈中描述万维网服务的规范,w s d l 将抽象信息和具体绑定信息分离的 5 南京邮电大学硕士研究生学位论文第二章万维网服务组合关键技术 思想为服务组合带来了灵活性,基于工作流思想的b p e l 4 w s 描述语言就是利用这一思想来 支持服务动态组合。 w s d l 在服务描述的可理解性以及服务描述的完整性方面尚有不足:w s d l 的服务描 述缺乏语义,使得相同功能的服务仍然存在异构性,影响服务查找的效率和动态组合的可 行性;服务描述目前仅仅能描述服务的功能以及访问细节信息,还缺乏更进一步信息的描 述,比如服务质量,服务的事务特性,服务计费等。 2 2 2 、语义描述 基于w s d l 服务只能基于句法匹配,查全率和查准率比较低 1 4 ,容易造成匹配错误, 如将句法相匹配但语义不匹配的w e b 服务相匹配进而造成错误绑定,这是因为w s d l 缺乏 语义造成的,因此学术界将语义w e b 引入万维网服务领域,其中o w l s 为学术界所推崇。 o w l s 不仅具备了服务描述方式上的统一,而且基于本体为服务描述添加了语义,使 得基于o w l - s 的服务查找有着高准确率;同时,相较于w s d l ,o w l s 通过p r e c o n d i t i o n 和e f f e c t 对服务输入和输出添加了逻辑约束的描述,从而为在组合时进行可执行性验证 提供了方便;但是o w l - s 对服务的描述同样不够详尽;o w l s 比较适合描述专有领域的服 务,不同领域服务交互时首先要获知双方的领域本体,这也是o w l s 解决相同或者相似服 务功能的前提。 2 2 3 、其他描述方法 为了弥补标准的服务描述模型的缺陷,为了满足不同领域或者不同应用的需求,或者 出于服务组合模型对服务描述的要求考虑,许多研究者在这两个服务描述标准之上提出了 服务虚拟化技术和本地系统服务建模的方法,如v i n c a 聚合服务机制 3 ,服务容器 4 ,5 以 及一些本地建模方法 6 ,7 从某种角度来说,服务虚拟化技术和本地系统服务建模方法是 一种服务管理的技术。 2 3 、流程描述语言 作为集成平台,万维网服务技术的潜力只有在应用和业务流程能够通过使用一种标准 的流程集成模型,实现复杂交互的集成时才能得以完全的发挥。w s d l 支持的交互模型实 际上是一种同步的或者无相关异步交互的无状态模型。基于万维网服务进行的业务交互需 6 南京邮电大学硕士研究生学位论文第二章万维网服务组合关键技术 要一种形式化的报文交互描述协议,即流程描述语言。目前存在的基于工作流的流程描述 标准规范主要有w f - x m l 、w s f l 、x l a n g 、b p e l 4 w s 、w s c i 以及状态图形式化描述规 范【4 】等,还有一些行业基于行业本身的特性开发的些流程标准如p i p s 3 ,4 】,文献【4 ,5 将 这些标准进行了多方面的比较;一些人工智能研究者以实现服务查找、组合和执行的自动 化为目标,将语义w e b 与万维网服务结合提出语义万维网服务,从而将人工智能技术引入 服务组合领域,并提出了o w l - s ,s w s o f l o w s ,w s m o ,w s d l s 等基于语义的服务和流 程描述规范。 在众多工作流建模语言中,b p e l 4 w s 为工业界所推崇。定义业务流程逻辑需要的概 念构成了一个闭联集( c o n t i n u u m ) 。b p e l 4 w s 试图能够覆盖这个集合 1 3 1 ,主要包含以下几 个方面: : 1 、流程和流程参与者的交互模型。b p e i a w s 定义了描述流程与流程参与者之间交互 的模型和文法,流程与参与者之间的交互通过万维网服务接口发生,接口级别上的交互关 系由服务链接( s e r v i c el i n k ) 封装,b p e i a w s 采用了w s d l 服务描述模型; 2 、b p e l 4 w s 流程定义了如何将与参与者们之间进行的多次交互协同为一个业务目标 ( b u s i n e s sg o a l ) ,包括协同需要的状态和逻辑。反应在b p e l 4 w s 定义的概念集中,包含了 一系列的基本活动和结构化( 复合) 活动; 3 、b p e l 4 w s 还介绍了处理业务例外和流程故障的系统机制; 4 、补偿机n - 当例外发生或者参与者请求撤销时,流程内的基本活动或者复合活动 如何协同起来进行补偿或者相应处理使流程从错误中恢复。 b p e l 4 w s 可定义两种流程:可执行工作流以及抽象工作流。可执行工作流要求流程 在部署时指定绑定的万维网服务,即在流程执行之前确定参与者的访问地址和方式;抽象 工作流定义了服务交互的“协议”,没有和具体的服务绑定,是不可执行的工作流。 2 4 、服务组合技术 2 4 1 服务组合技术分类 目前的服务组合技术可以从三个侧面进行分类:根据流程逻辑生成的自动化程度,即 流程生成方式,分为人工组合、半自动组合 8 】以及自动组合 9 ,1 0 ;小粒度的服务组合以 及大粒度的服务级组合【1 5 】;分类流程与具体参与者绑定的时机,即静态组合和动态组合。 7 南京邮电大学硕士研究生学位论文 第二章万维网服务组合关键技术 流程与具体参与者的绑定发生在执行之前称为静态组合;服务动态组合则是在执行过 程中动态地查找、绑定和调用服务。 一般静态组合适用于组合长期需要的服务或者应用,这种服务或者应用的流程逻辑比 较固定,而动态组合相比静态组合更适用于组合短期需要的服务,即按需服务。除此之外, 动态组合还可以在流程执行过程中动态更换参与者,实现流程的优化,在出现故障得时候 甚至通过更改流程逻辑来保证流程的正常执行。 2 4 4 、服务组合模型 根据目前出现的服务组合解决方案,我们可以抽象出服务的组合模型,模型包含三个 逻辑实体:服务描述模型、流程描述模型以及流程执行环境。 : 服务描述模型:对服务的功能、访问信息以及服务质量等信息的描述,模型包括描述 的内容以及描述的方式,服务组合基于服务描述模型来管理、查找、绑定和调用服务; 流程描述模型:流程的形式化描述协议,包括如何表述流程与参与者的交互关系、流 程的工作模式、流程的控制信息、数据信息以及异常处理信息等,流程描述模型是建立在 服务描述模型的基础上的。 流程执行环境:流程执行的环境,也称为流程执行引擎,执行环境负责解释流程逻辑, 并完成对服务的查找、绑定和调度。 2 4 4 1 、服务静态组合模型 静态组合是指流程在执行之前绑定了具体的参与者,流程执行环境只需要负责服务调 度而不需要查找和绑定服务的一种组合方式,根据服务静态组合的定义我们可以得出静态 组合的模型,如图2 - 3 : 服 查i 绑定- 猫j 丕干昊型模型 务 描 部 述 署 模 型 罔唐 1r 一 。i 漓识妯;:i - k 倍 、 7 i韧l 匿j 札1j l 、o 晃 图2 3 、静态组合模型 在流程定义阶段,流程的设计者通过服务描述模型查找所需要的参与者,并根据流程 8 南京邮电大学硕士研究生学位论文第二章万维网服务组合关键技术 描述模型对流程逻辑以及流程与参与者的绑定信息建立模型,参与者的绑定也可以在流程 定义之后,执行之前的部署环节进行绑定,流程执行过程中,流程执行环境根据流程的逻 辑调度流程参与者,协同参与者完成流程定义的复杂功能。 简而言之,在静态组合模型中,通过服务描述模型查找、绑定以及调度服务,服务查 找和绑定发生在流程执行之前( 定义或者部署阶段) ,而服务的调度则发生在流程执行过程 中。 静态组合模型因为人工指定了参与者,因此可采用缺乏语义的服务描述模型、流程描 述模型和人工组合方式,不支持流程的动态执行。 2 4 4 2 、动态组合模型 : 类似地,我们可以得出动态组合的模型,如图2 4 : 与静态服务组合不同的是,动态服务组合模型中,流程的定义只是定义了一类参与者 之间的协同的逻辑,流程绑定了一类参与者而不是某一个参与者,服务的查找、绑定和调 服 1 7 i 找 t ,m 7 l i i j 【日 4 二i 二k 2 务 描 部 述 署 模 型 杏栈绑常调庸 1 r 一 一 i 流i l , 程1 执行j 环i 境 r l i ,二c i,i 7 0 图2 4 、服务动态组合模型 度都由流程执行环境来负责。 9 南京邮电大学硕士研究生学位论文 第三章基于b p e i a w s 组合服务 第三章基于b p e l 4 w s 组合服务 b p e l 4 w s 集w s f l 和x l a n g 两家之长,既能描述w s f l 风格的流程,也能描述 x l a n g 风格的流程,更可以描述两者皆不能描述的流程。因此,b p e i a w s 是目前既成事 实的业务流程建模规范。 上一章已经对b p e l 4 w s 模型进行了简要的介绍,本章将进一步介绍b p e l 4 w s 模型, 并分析其组合能力。 3 1 、b p e l 4 w s 中流程与服务的交互模型 图3 1 、b p e i a w s 中流程与参与者的交互模型 1 、这个模型是建立在w s d l 接口类型的基础上,即定义了流程与参与者的p o r t t y p e 之间 的关系; 2 、流程与参与者交互关系模型由p a r t n e r l i n k t y p e 描述,在这个描述中,一般包括两个 角色,s e r v e r 和c u s t o m e r ,c u s t o m e r 代表请求者,s e r v e r 代表提供服务者( 被调用 者) 。也可以只有一个角色定义; 3 、流程定义时,将p a r t n e r l i n k t y p e 具体化,指定流程的角色是s e r v e r 还是c u s t o m e r , 如果流程的角色是s e r v e r ,则参与者的角色是c u s t o m e r ,即参与者消费流程提供的服 务,从而建立了流程与参与者某个p o r t t y p e 的交互方式。 上图中,p a r t n e r 包含了两个p a r t n e r l i n k ,p l k l 和p l k 2 。p l k 2 的流程角色即m y r o l e 被指定为c u s t o m e r ,参与者角色p a r t n e r r o l e 被指定为s e r v e r ,这样在流程与参与者之间建 1 0 南京邮电大学硕士研究生学位论文第三章基于b p e l 4 w s 组合服务 立了p l k 2 连接,这个连接代表了流程向参与者请求服务的交互方式。 3 2 、流程协同服务的模型 b p e l 4 w s 结合了x l a n g 和w s f l 的协同服务模型,具备强大的协同服务能力,另一方面, b p e l 4 w s 从控制流和数据流两个方面对流程建立模型。 3 2 1 、b p e l 4 w s 控制流概念集 b p e l 4 w s 通过定义基本活动和结构化活动的概念集合来实现对流程控制流的建模。 ( 1 ) 基本活动 1 调用请求活动。b p e l 4 w s 进程以 o n e - w a y 或者”r e q u e s t - r e s p o n s e 方式调用伙伴 提供的w e bs e r v i c e 功能。 2 接收请求活动。提供了其他服务调用b p e l 4 w s 进程的功能。当b p e l 4 w s 执行到该活动 的时候将处于阻塞的状态,等待与之匹配的报文的到来。 3 赋值活动。更新变量值操作。 4 错误抛出活动。它将进程内部错误抛出。 5 等待活动。它使得运行进程处于阻塞状态,直到某段时间过后或者某个时间点到达后 再继续运行。 6 空活动。在b p e l 4 w s 进程内部插入 无操作”活动,其主要用于活动间的同步、异常 的捕获或者抑制。 7 回复请求操作。响应接受活动接受到的请求。它和接受活动结合形成了进程的w s d l 的 p o r t t y p e 请求一响应 操作。 ( 2 ) 结构化活动 它将一些活动按照一定的规则组织起来,主要包括如下几类活动: 1 顺序活动。它内部的活动按照所列的顺序执行。 2 s w i t c h 活动。它类似与编程语言中的s w i t c h 结构,根据表达式值的不同情况执行不同 的操作。 3 循环活动。类似于编程语言中w h i l e 结构,它内部的活动循环执行直至条件不再满足。 4 选择活动。等待一系列事件中的某个事件的发生,然后执行与该事件关联的活动。 5 并行活动。提供活动之间的并行和同步,它通过 和 结 南京邮电大学硕士研究生学位论文第三章基于b p e i a w s 组合服务 构确定活动间的依赖关系。 3 3 、事件和异常处理 事件和异常处理一直是工作流研究工作中的一项必不可少的工作【1 6 】。 3 4 1 、异常的定义 异常:是一种特殊事件,使得流程背离了正常行为或者不能正常执行。b p e l 4 w s 将 事件与异常概念分离开来,b p e l 4 w s 中事件指的是不影响流程执行,流程控制需要的正 常事件,比如流程通过获取一个事件来确定流程走向。 3 4 2 、b p e l 4 w s 中的异常处理 文献 1 7 】在介绍了基于图形的异常处理和基于代数的异常处理之后,对b p e l 4 w s 中的 异常处理进行了全面的介绍,指出b p e l 4 w s 提到了三类异常: 应用异常:或者称为参与者异常,是在流程向参与者发送请求时接收到的错误返回结 果,这个错误由参与者的w s d l 描述f a u l t 报文描述,比如服务拒绝接收请求。 流程异常:这个是在流程定义时由活动t h r o w 抛出的异常。 系统异常:这类异常由流程执行引擎抛出,比如数据类型不匹配,异步协同的错误等 等,这种异常可能由服务异构性所造成,服务异构性将在第四章进行详细介绍和分析。 异常的发生原因很多,因此需要比较灵活的处理,处理方法因异常发生的原因和用户 需求而多变,但大体可以分为三类处理方法 1 1 】: 修复( r e m e d y ) ,比如修复被破坏的数据。 向前恢复( f o r w a r dr e c o v e r y ) ,如果需要,将已经执行的部分活动回退,并取消此路 径的执行或者指定另外一条执行路径来替代有问题的活动。 向后恢复( b a c k w a r dr e c o v e r y ) ,也称为补偿( c o m p e n s a t i o n ) 。如已被修改的数据恢复 为原来的数据。 b p e l 4 w s 针对其提出的三类异常提出了f a u l t h a n d l e r 和c o m p e n s a t e h a n d l e r 机制, f a u l t h a n d l e r 用来处理修复和f o r w a r dr e c o v e r y ,c o m p e n s a t e h a n d l e r 用来处理b a c k w a r d r e c o v e r y 异

温馨提示

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

评论

0/150

提交评论