(计算机软件与理论专业论文)面向流程的组合代价优化方法研究.pdf_第1页
(计算机软件与理论专业论文)面向流程的组合代价优化方法研究.pdf_第2页
(计算机软件与理论专业论文)面向流程的组合代价优化方法研究.pdf_第3页
(计算机软件与理论专业论文)面向流程的组合代价优化方法研究.pdf_第4页
(计算机软件与理论专业论文)面向流程的组合代价优化方法研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机软件与理论专业论文)面向流程的组合代价优化方法研究.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 摘要 w 曲服务是一种新型的因特网软件,它部署在全球网络的各处,并能通 过标准协议相互调用。因此,通过使用这种技术,不同服务提供商提供的服 务能够很容易的集成为流程形成一个综合的服务。选择和集成w e b 服务可以通 过静态的方法,也可以通过动态的方法。这些方法的选择是根据服务的功能 要求和性能约束决定的。但是不论选择哪种方法,对于由w e b 服务组成的分布 式的应用程序来说,该综合服务的性能质量是通过运行时的性能( 如,端到 端延迟、整体成本、服务的可靠性和可用性等) 来度量的,而不是个别服务 组件的质量。用户所关心的也只是所能获得的最终组合流程的性能,而不会 关心具体的服务组件。这就需要一个机制来保证组合的w e b 服务的流程整体的 组合代价是在可接受的范围内。 本文研究了着眼于流程整体性能约束下的服务组合优化问题。本文建立 了组合代理来处理w 曲服务用户和提供商之间通讯、协调和选择的工作。这 个组合代理收集服务提供商的可度量信息;接收来自用户的服务请求:然后 选择出可能满足用户请求里的功能需求的服务;并根据流程的整体性能约束 迸一步挑选恰当的服务;并与服务提供商协商获得服务的服务性能承诺。这 种方式使本来面向专业领域的w e b 服务能够更容易的被普通用户所使用,大 大减小了用户的使用成本,并可处理各服务之间交互所出现的问题,提高了 系统的可靠性。 在服务选择中为了满足流程整体性能约束,我们设计了一种服务选择算 法,来在组合代理中使用。这个算法的目标是在满足流程整体组合代价约束 的基础上,使整个流程中用户定义的利益函数取得最大值。我们在选择算法 中根据服务成本、服务响应时间、服务的负载情况、和网络延迟等性能属性 来选择最符合流程性能约束的服务。我们把组合代价约束的服务选择问题分 成单约束的服务选择和多重约束的服务选择。我们可以把单约束的服务选择 看作是多选择的背包问题,把多重约束的服务选择抽象为多尺度的多选择背 包问题,也可抽象为多约束的最优路径问题。就这些问题我们分别展开讨论 山东大学硕士学位论文 及分析,并给出高效的解决方法。 这些算法保证了在服务组合中生成的服务流程,在满足用户的功能性的 需求的基础上,根据用户对组合服务性能的要求,获得整体性能更高的组合 服务,并可进一步最大化服务的利益函数,获得最好的服务组合结果。 最后,该方法在s m a n f l o w 模式中进行了应用,并获得了良好的效果。 关键词:w e b 服务组合;w e b 服务选择;流程;服务质量 山东大学硕士学位论文 a b s t r a c t w e bs e r v l c ei san e wf o mo f1 1 1 t e m e ts o r w a r et l l a tc a nb eu n i v e r s a l l y d e p l o y e d 锄di n v o k e d i ns 协l d a r d p f o t o c 0 1 t h e r e f o r e ,t h el i s e i n gs u c ht e c h n o l o g y , d i f f b r e n ts e i c ep r o v i d e rs e c e sc a nb ee 鹌i l yi 1 1 t e g r a t e dp r o c e s st of o r m 趾 i n t e g r a t e ds e r v i c e i i l t e g r a t e dw e bs e r v i c ec 锄b ed o n em r o u g hs t a t i cm e t 量1 0 d so r d y n a i l l i cm e t h o dt h e s em e t h o d sc a nb es e l e c t e do nt l l eb 勰i so ff h n c t i o n a l r e q l i i r e m e n t s 趾dp e r f b n 】怕n c ec o n s t f a i n t s f o rm m l yd i s 仃i b u t e da p p l i c a t i o n s c o m p o s e db yw e bs e r v i c e s ,血er u n t i m ep e r f o r i l l 锄c e ( e g ,e n d - t o e n dd e l a y , o v e r a l lc o s t ,s e i c er e l i a b i l i t y 肌da v a i l a b i l i 锣) i sm e 鹊l l f e db yi 拓r i | i l d m e p e b r m a l l c e ,r a t i i e rt h 锄n l ep e r f b r m 锄c eo fa n yi n d i v i d u a ls e r v i c ec o m p o n e n t w h a tm eu s e r sm o s tc a r ef o ri st h ep e r f b r m a n c eo ft h ec o m p o s i t i o ns e i c e s , f a t h e rt h 锄t l l ei n d i v i d u a ls e i c e s o am e c h a n i s mi sn e e d e dt oe n s u r et i l a tt h e c o s to f b i l s i n e s sp r o c e s s 谢t l lc o m p o s i t ew 曲s e r v i c e si sa c c 印t a b l e i nm i sp a p e r ,t h em a i nt a r g e ti sa i m e da tn l ec o n p o s i t o n 锄do p t i m i z a t i o no f s e r v i s e su n d e rn i er e s t i c t i o no fo v e r a l lp e r f b r m a n c eo ft h es e r v i c e s a g e n tf o r c o m p o s i n gs e r v i c e si s e s t a b l i s h e dt od e a l 、析t 墨lt 1 1 ew o r ko fc o m m i l l l i c a t i o n , c o o r d i n a t i o na 1 1 ds e r v i c ec h o i c eb e t w e e nw e bl l s e r sa i l dp r o v i d e r s t h e ng e t t i n g a l l s a t i s f a c t o 哆s e i c e s ,s e l e c t i n g s e r v i c e s c o r d i n g t ou s e r sf h n c t i o n a l d e m 柚d s 锄dg e 砸n gt h es e r “c ep m m i s ef 如ms e r “c ep r o v i d e rt h i s 印p r o a c h h 弱m a d et h ef i e l do fw e bp m f e s s i o n a l sc 孤b em o r ee a s i l y 惦e db yo r d i n a r y u s e r s 耐mt h ec o s to fl l s e r sg r e a t l yr e d u c e d w h 砌o r e ,i tc 强d e a l 晰t ht h e p r o b l e m sb e 铆e e nt l l ei n t e r a c t i o no fs e r v i c e sm di m p r o v et h er e l i a b i l i t yo fm e s y s t e n i l lm es e n ,i c es e l e c t i o np r o c e s s ,w ed e s i g n e das e i c es e l e c d o na l g o r i t l l m i no r d e rt om e e tm eo v e r a l lp e r f b r m a n c ec o n s 仃a i n t s t h eg o a lo ft h ea l g o r i t h m i st om e e tt h ec o s to fm et o t a lp o r t f o l i op r o c e s so nt 量l eb 鹊i so fc o n s t r a i n ti n o r d e rt 0m a x i i i l i z et h ei n t e r e s t si nt h ew h o l ep r o c e s s w es e l e c t “g o r i t h mb a s e d i i i 山东大学硕士学位论文 o nc o s to fs e r v i c e ,s e r v i c er e s p o n s et i m e ,s e r v i c el o a d ,a n dn e t w o r kd e l a y p e r f b n n a n c ea n r i b u t e st os e l e c t 血eb e s te n d t o e i l ds e i c ep e r f o r m a n c e c o n s t r a i n t s w ed i v i d ep r i c er e s t r a i n tc h o i c eo fs e n r i c e s i n t 0 s i n g l e i s s u e b i n d i n gc h o i c eo fs e i c e s 趾dm u l t i p l eb i n d i n go p t i o n s w ec 锄d e a l 、撕t l l s i n g l eb i n d i n gc h o i c eo fs e r v i c e s 豁c h o i c e rk n a p s a c kp r o b l e m ,i n c o r p o r a t e s m u l t i p l eb i n d i n gc h o i c e so fs e r v i c e s t om o r ea b s t r a c ts c a l em u l t i c h o i c e l 【l l a p s a c kp r o b l e m ,b u ta l s om o r ea b s t r tc o n s 仃a i n e do p t i m a lr o u t i n gp r o b l e m 1 1 1 e s ei s s u e sw e r ed i s c u s s e d 觚d 锄a i y z e d ,姐dh i 曲i ye 疏c t i v es o l u t i o ni s p r o p o s e d t h e s ea l g o r i m m sg u a r 卸t e e dt h a tt l l es e r “c e sp o r t f o l i of l o wg e r a t e di 1 1 m p o s i n gp r o c e s so nt 量l eb 器j so fa c c o r d i n gt ou s e f so ft h ep o n f b i i os e r v i c e p e r f b r m a n c er e q u i r e m e n t s ,c a i la c c e s st oh i 曲e ro v e r a l lp e d o 珊趾c eo ft 1 1 e p o r t f o l i os e i c e s ,肌df u r t h e rg e tt h ei n t e f e s t sm a x i m i z ef u n c t i o na i l dt h eb e s t m i xo f s e r v i c e sr e s u l t s f i n a l l y ,t t l em e t h o di sa d a p t e di ns m a n f l o wm o d e lf o r 山ea p p l i c a 矗o n ,a n d o b t a i n e dg o o dr e s u l t s 1 ( e y w o r d s :w e bs e r v i c e sc o m p o s i t i o n ;w e bs e r v i c es e l e c t i o n ;p r o c e s s ;q u a t y o fs e r “c e 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:焦二遨日期:翌2 1 匕 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:焦二豳导师签名: 山东大学硕士学位论文 第1 章绪论 1 1 课题的研究背景 w 曲服务的出现使网络的应用方式发生了巨大的改变,并提供了一种新 颖且极具前途的技术。使得企业可以使用单独的( 原子的) 服务来组成复杂 的服务流程。使用w e b 服务,能将独立开发的单独的服务组合成完整的分布式 应用程序和企业业务流程。在流程运行时,当系统的条件发生改变或者应用 程序需要改进时,服务组件也可以被动态的升级或替换。这种方式大大增强 了服务组合的能力,为构建分布式企业业务或网格提供了一种更加理想的, 灵活的和具复用性的解决方法。为了针对动态的市场环境改写他们的操作, 企业迫切需要快速动态的构造业务流程( 对于供应链或服务网络) ,这对企业 的业务计算是非常重要的。同样的需求也存在于全球交易系统、卫生保健、 旅游业。 但是,组合的弹性是以系统工程的复杂性的增加为代价的。w 曲服务组 合的弹性包括以下三个主要因素:1 、对于一个合成的服务来说可利用的原子 服务的数目非常巨大;2 、将原子服务组件集成为复杂的服务流程也存在着各 种不同的可能性;3 、合成服务的不同性能要求( 例如,端到端延迟、服务成 本、服务性能和资源) 。w 曲服务组合由此产生了流程整体的组合代价问题, 因此服务选择必须使用流程性能约束来选择最好的服务组成一个高效的综合 流程。 近年来,服务提供商针对不同用户群体的需要提供不同的服务水平,成 为一种越来越流行和普遍的做法。企业会基于用户的资格或服务成本提供不 同的服务品质( 例如,上等阶层和普通阶层,金卡会员和普通会员) 。同样的, 尽管很多原子服务都有类似的功能( 例如,核算市场状况、预约旅馆、安排 会议等等) ,但是他们在非功能特性上有很多不同,比如服务时间、业务成本、 系统可用性等等。服务提供商可以通过与客户间签订的不同服务水平协定 ( s l a ,s e i c el e v e la r e e m e n t s ) 来定义并提供多种性能的w e b 服务。 这些改变大大增加了服务组合的难度,需要我们在进行服务组合时不仅 山东大学硕士学位论文 仅要满足用户的功能性要求,而且更需要考虑最后形成的综合服务的性能。 对于由w e b 服务组成的分布式的应用程序来说,该综合服务的性能质量是通 过运行时的性能( 如,端到端延迟、整体成本、服务的可靠性和可用性等) 来度量的,而不是个别服务组件的质量。用户所关心的也只是所能获得的最 终组合服务的性能,而不会关心具体的服务组件。这就需要一个机制来保证 组合的w 曲服务的流程整体的组合代价是在可接受的范围内。选择和集成 w e b 服务可以通过静态的方法,也可以通过动态的方法。这些方法的选择是 根据服务的功能要求和性能约束决定的。 1 2 国内外研究现状 w e b 服务组合通过对企业业务流程集成的支持获得了很大的影响。形成 了很多工业标准,例如,b p e l 4 w s ( b u s i n e s sp r o c e s se x e c l n j o nl 觚g u a g ef o f w e bs e r v i c e s ) 【l 】和b p m l ( b u s i n e s sp r o c e s sm o o d e l l i n gl a n g u a g e ) 【2 】。 b p e l 4 w s 提供了一种语言规范业务流程和业务交互协议的描述。它能够提 供抽象的和可执行的流程行为模型。b p 池是一种基于舳的元语言由 b p m 【( b l l s i n e s sp r o c e s sm a i l a g e m e n ti i l i t i a t i v e ) 开发。b p m l 支持高级语义, 例如在b p l 4 w s 中没有描述的嵌套流程和复杂的修正业务。 许多项目都已经研究了w e b 服务组合问题。在s w o r d 项目【3 】中提出 了一种简单而高效的机制来对不在线的w e b 服务进行组合。它使用了一种基 于规则的专家系统来检查当前的服务是否可以实现一个组合服务,并且产生 一个执行计划。s w o r d 更关注于服务的互操作性,并没有提到服务组合的 整体性能问题。e f l o w 【4 】项目对于电子业务流程管理提供了一种动态的、自 适应的服务组合机制。在e f l o w 项目中,每一个服务节点包含了一个查询方 法,该方法定义了该节点选择具体服务的服务选择规则。该规则是基于局部 标准的,并没有涉及到业务流程中的全局组合代价约束问题。 w e b 服务的服务性能保证是s l a 框架中的一个重要内容。该框架主张 w e b 服务有不同的水平,使用自动化的管理和服务水平协定( s l a s ) 。服务 水平的不同是基于很多变量的,例如,响应情况,可用性和性能。该框架最 山东大学硕士学位论文 初版本是在2 0 0 3 年4 月发布的,作为m m 提出的技术工具箱( e t l k ) 版本 1 0 的一部分。尽管它为了保证最大水平的客观性,包含了几个s l a 监控服 务,但是没有实现流程整体性能管理能力。 还有其他的项目也在研究与服务性能有关的服务选择,例如【5 ,6 ,7 ,8 】。在 【5 】中当执行服务组合时,作者提出了一种质量驱动的方法来选择组件服务。 他考虑了多重性能约束,例如价格、持续时间、可靠性,来作为全局约束的 依据。【6 】也研究出了一个类似的方法。 1 3 本文的研究内容与特色 在我们的研究中,我们提出了一种代理框架( s m a r t f l o w 模型中的一部分) 来进行基于流程组合代价整体约束的w 曲服务组合。代理接收来自用户的服 务请求,并找出既符合流程组合代价约束也符合用户所提出的需求的服务。 在这种代理框架中,w 曲服务组合包含两步:服务组合和服务选择。在代理 中,这两步分别由组合管理器和服务选择管理器来分别实现。服务组合的目 标是,根据用户的需求,使用抽象的服务类别( 也可称为元服务) ,来构建出 符合服务要求的流程。服务选择的目标是在流程整体组合代价约束下,所选 择出的服务能够使用户所定义的利益函数最大化。我们所提出的约束是一种 面向流程的全局约束,从而能使整个流程在全局来看获得个最好的性能。 我们定义了组合代理来在w 曲服务组合中管理流程的组合代价约束。这 种组合代理与b p e l 流程组合中的流程服务、w s 1 t 缸s a c 矗o n 中的协调服务、 u d d i 注册中的注册服务有所区别,但是可以看作是他们的综合体。这个组 合代理能够根据用户的流程性能约束和需求,来进行服务选择满足用户的请 求。 目标函数( 也称为利益函数) ,是由基于整个系统参数的算法来定义的。 这些系统参数包括静态的服务信息( 服务水平) 、用户的流程性能需求( 性能 约束) 、动态的服务性能( 服务负载) ,和网络延迟。当然也可以加入服务可 靠性、可用性等等。 我们根据在服务选择时流程组合代价约束的数量,将服务选择分为单约 山东大学硕士学位论文 束的服务选择和多约束的服务选择两种情况,并分别给出了解决方法。 本文提出了一种基于用户需求的流程组合代价全局约束,进行服务组合 的代理模式。并主要针对服务组合中的服务选择问题提出了解决算法。这种 模式简化了服务组合的过程,提供了灵活的流程构造方式,并可很容易的改 进使之能够处理运行异常和系统升级等情况。本文的研究对于流程管理、w 曲 服务组合、w e b 服务选择等都有一定的贡献。 1 4 论文的整体结构 本论文的组织结构如下: 第一章餮主要是本课题提出的背景,国内外的研究现状和本文的主要研 究内容和特色。 第二章对服务组合的相关技术进行了阐述。首先介绍了w e b 服务组合的 要求,然后分别介绍了目前影响w e b 服务组合几种比较流行的技术:b p e l 、 语义w e b 、p e 仃j 网、模型校验与状态机等,并分别分析比较了这几种技术对 w e b 服务组合的影响。 第三章我们详细描述了我们的组合代理的模型,给出了服务组合过程中 该代理所使用的操作步骤。以及我们根据服务组合中需要考虑的因素定义了 一些下一步分析中需要用到的符号标识。 第四章里我们详细分析了服务组合中基于流程组合代价约束下的服务选 择算法,提出了背包问题模型和带约束的最优路径的模型,并就这两个模型 分别讨论给出解决方案。 第五章是组合代理在s m a n f l o w 模式中的应用,并解释了该代理如何与 其他几个部分的组件相配合。该应用取得了良好的效果。 最后,在第六章中我们对我们的研究工作进行了总结,并对下一阶段工 作的方向进行了展望。 4 山东大学硕士学位论文 第2 章服务组合相关技术概述 在面向服务的计算( s o c ) 中,程序员们把服务作为应用程序编程过程 中的基础元素。不论被客户端还是其他服务调用,服务是独立于平台和网络 的。在s o c 环境中操作,服务必须标准的、机器可读、格式明确的定义其性 质。因此,s o c 具备三种基本功能:描述、发现以及通信。网络服务就是一 种典型的s o c 例子:程序员通过网络服务描述语言w s d l ( 描述) 、通用描 述、发现、整合u d d i ( 发现) 以及s o a p ( 通信) 实现s o c 的基本功能【9 】。 为了创建应用程序,s o c 程序员使用服务组合,这种组合是在s o c 基 本应用之上的。为了解决复杂的问题,程序员以及客户可以将可用的服务进 行组合,使他们满足问题的需求。服务组合加速了程序的快速编程,服务的 重利用以及复杂的服务通信的发展。但是,目前服务组合并没有标准化,而 且服务组合并没有包含每个组合实现必须满足的基本需求( 例如可测量性、 独立性以及正确性) 。s o c 范例要想获得成功并成为未来分布式系统的主要 构成,我们必须提供一种稳定可靠的服务组合解决方案。 本章综述了现存的有关网络组合服务的方法,并就四个基本要求进行了 比较。我们希望通过对这些基本属性的概述、系统化以及目前方案的建设性 评价,能集中服务组合设计员和程序员的注意力,以及提供更多的实用方案 有所帮助,同时我们也描述了这类技术的迫切的需求。 2 1 服务组合的要求 分布式系统的复杂性以及不断增长的信任屏障在硬件、操作系统以及应 用层面上对s o c 的发展产生重要的影响。尽管现代操作系统也可以认为是一 系列协作服务,但我们主要关注应用层面。从程序员的角度出发,服务组合 使得程序的再利用成为可能;从客户角度出发,服务组合提供了到多种复杂 服务的无缝连接。 服务组合与主流的基于组件的软件开发不同。在访问文件和代码( 源代 码或二进制代码) 过程中,s o c 应用程序的开发人员和用户只能访问w s d l 的基本功能描述。服务在不同的环境中运行,这些运行环境可能被防火墙或 山东大学硕士学位论文 其他信任屏障隔离。因此,一个组合机制必须满足下列要求:连通性、非功 能服务质量属性、正确性、可测量性【1 0 】。 任何组合方法必须满足连通性的要求。根据可靠的连通性,我们可以确 定哪些服务是可以组合的,以及输入输出信息的原因。然而,由于网络服务 基于信息交流,开发人员同时必须描述非功能性能属性,如时间窗、安全性 以及依赖性。组合的正确性要求确定被组合后流程的属性,如安全性和依赖 性。最后,由于复杂的企业业务的初始化链中包含了大量的服务调用,组合 框架的规模必须与被组合的服务数量成正比。 我们可以用两个例子说明这种要求。首先,假设我们有一个可信的服务 以及一个不可信的服务,当我们将两种服务组合起来,组合的服务是可信还 是不可信或者是介于两者之间? 对于我们来说,知道我们的应用程序的安全 性和依赖性是非常重要的。另外,当我们将两种可信的服务进行组合,这种 组合服务是否一定可信? 另一个说明非功能属性必要性的例子就是组合中的时间窗。假设我们有 一个包含两个协作服务的简单握手协议的例子,其中一个服务需要调用另一 服务的方法。客户端服务希望当其运行( 调用方法) 时被提醒,而提供端服 务希望当客户需要使用其服务的时候被提醒。除非开发人员事先了解这种需 求,否则这种组合不会产生所期望的效果。 2 2w e b 服务组合相关技术 一旦网络服务的基本功能被充分开发,服务组合的方法就开始显现。由 于第一代的组合语言,如m m 网络服务流程语言( w s f l ) 以及b e a 系统 的网络服务编排接口( w s c i ) 的相互兼容性不好,研究人员开发了第二代语 言,如网络服务的业务流程执行语言( b p e l 4 w s 或简写为b p e l ) ,它是在 微软的x l a n g 规范下w s f l 和w s c i 的组合。虽然如此,网络服务体系结 构栈仍然缺乏一个流程层的聚合、编排、组合的标准。我们列举了几种网络 组合服务的方法,以及它们是如何满足连通性、非功能属性、正确性以及可 测量性要求的【1 1 1 。 山东大学硕士学位论文 2 2 1b p e l b p e l 是一种x m l 语言。该语言支持面向流程的服务组合。由b e a 、m m 、 微软、s a p 等公司开发以来,b p e l 开始成为结构化信息发展组织( 0 a s i s ) 的标准。b p e l 组合与网络服务的子集相互作用以完成一个给定的任务。在 b p e l 中,组合结果称为“流程”,参与的服务称为“伙伴”服务,交流的信 息或中间的结果称为“活动”。因此,一个流程包括一系列活动。流程通过 w s d l 与外部服务相互作用【1 2 】。 为了定义一个流程,我们使用: 一个b p e l 源文件( b p e l ) 用于描述活动; 一个流程接口( w d s l ) 用于描述组合服务的端口; 一个可选的扩展描述( x m l ) ,包含服务组件的物理地址。 b p e l 包含几种元素组,但是基本的包括: 程序初始: ; 定义组合中的合作服务: ; 同步或异步调用: , ; 中间变量与结果操作: , , ; 错误处理: , ; 顺序或并行执行: , ; 逻辑控制: 。 我们采用一组3 个服务的组合作为例子。同步调用服务a ,用于初始程 序。两个异步的服务,服务b 和服务c ,并行调用并采用服务a 的输出结果 作为其输入信息。程序等待它们运行并根据运行结果确定流程的结果。该组 合的b p e l 代码如下( 方便起见。我们假设所有服务在一个端口只有一次操 作以简化b p e l 代码) : 7 一 山东大学硕士学位论文 v 撕a b j en 枷e = “p r o c e s s h i p u t ”胁 山东大学硕士学位论文 f 伯mv a r i a b i e = “a 0 u t p m ”肛 i l l v o k en 锄e -“i l l v o k e b ”p a 椭e r - l i n k =“s e r v i c e b ” i n p u t v a r i a b l e = “b c i l l p u t ”胁 研究人员最近开发了b p e l j ,一种b p e l 与j a v a 的组合,使得开发人员 可以在b p e l 代码中嵌入j a v a 代码。因此,开发人员可以使用j a v a “片断” 9 山东大学硕士学位论文 执行中间的转换。例如在文件中执行值计算;文件可以根据其他文件和变量 进行构建和拆解以及为流控制的进行的值计算。一个j “a 片断”运行在j 2 e e 环境中,它可以在特定范围内访问所有变量和合作者的链接。我们可以用一 个j “a “片断”写先前例子中省略的 结构: 0 u t p u t c ) p r o c e s s o u t p u t = o u t p u 毋; e l s e p r o c e s s o u t p u t = o u t p u t c ; 铂p e u :s n i p p e 伊 开发人员可在其他两个分类中使用b p e l : 网络服务协作:协调网络服务动作,确保服务活动的结果必须达成一 致 网络服务事物:定义网络服务事务行为 在j 2 e e 和n e t 平台中有数种b p e l 组合服务应用,包括m m 的 w e b s p h e r e ,0 r a c l e 的b p e l 管理,m i c r o s o r 的b i z t a l k2 0 0 4 ,o p e n s t r o m c h o r e 0 s e v e r 和a c t i v eb p e l 1 3 】。 2 2 2 语义e b ( 叫l - s ) 语义w e b 着眼于w e b 资源可以通过内容来访问,就像通过关键词访问 一样。而w 曲服务在其中扮演了重要的角色:用户和软件代理可使用组合的 服务进行发现、组合以及调用其内容。d 舢( d a ,aa g e n tm a k e 印 l 肌g u a g e ) 扩展了x m l 和r d f ( r e s o u r c ed e s c r i p t i o nf r 锄e w o r k ) 以提供一 系列机器可读的本体以及修饰信息。d a m l 程序对语义w e b 的贡献是o w l s ( w e b0 n t o l o g yl 孤g u a g ef o rs e r v i c e 服务的w e b 本体语言) 。0 w l - s 是一个 山东大学硕士学位论文 服务本体,可以实现自动服务发现、调用、组合、相互协作和执行监控。 o w l s 服务模型采用三部分本体: 服务简述:简要描述服务的用户需求以及如何满足用户; 服务模型:确定服务如何运行; 服务基础:给出如何调用服务的信息。 流程模型是服务模型的子集,用以描述服务的输入、输出以及它之前之 后的状态,必要时包括它的子程序。在流程模型中,我们可以描述组合过程 以及之间的依赖性和相互作用。o w l s 定义了三种流程:原子的,其特点在 于没有子流程;简单的,其特点在于无法直接调用而只能作为原子和组合流 程的抽象元素:组合的,其特点在于由子流程组成。组合流程按照流控制的 结构可分为以下种类:s e q u e n c e ,s p l i t ,s p l i 州o i n t ,l n l o r d e r e d ,c h o i c e , i f - t h e n - e l s e ,i t e r a t e ,r 印e a t - 岫枷。 0 w l s 可将上述例子描述如下: d 锄l :s u b c l 鹬s o 侈 d 撇l :c l a s sr d f = a b o u 卢 “格e r v i c e c ”肛 m s g : p r i v a t ev o i dc o m p o s e ( b o p e r a t i o n , c o p e r a t i o n ) : p r i v a t ev o i dm e s s a g e d e c o m p o s i t i o n ( b c i n p u t ,b i n p u t ,c i n p u t ) ; p r i v a t ev o i dm e s s a g e s y n t h e s i s ( b o u t p u t ,c o u t p u t ,b c o u t p u t ) : c l a s st e s tu ss e q u p u b li cm s gp r o c e s s i n p u t , p r o c e s s o u t p u t : p u b l i co p e r a t i o n ( m s g ) 一 m s g : p r i v a t ev o i dc o m p o s e ( a o p e r a t i o n ,b c o p e r a t i o n ) ; p r i v a t ev o i dm e s s a g e d e c o m p o s i t i o n ( p r o c e s s i n p u t ,a i n p u t ) p r i v a t ev o i dm e s s a g e s y n t h e s i s ( p r o c e s s o u t p u t ,b c o u t p u t ) : 山东大学硕士学位论文 p r i v a t ev o i dm e s s a g e m a p p i n g ( a 0 u t p u t , b c i n p u t ) : ) 我们可以将w e b 组件分为两种同构形式:类定义和在s c s l ( s e r v i c e c o m p o s i t i o ns p e c i f i c a t i o nl a n g u a g e ) 中的x m l 规范描述。s c s l 规范包括 组合服务接口和组合逻辑。用规范中的组合逻辑将上文中的t e s t 类表述如 下: 山东大学硕士学位论文 w e b 组件提供兼容性和一致性检查。两个服务,s 1 和s 2 ,当s 1 具备s 2 的功能,或者s 1 可以取代s 2 ,我们认为s 1 和s 2 是兼容的。当s 1 的输出作 为s 2 的输入时,我们认为s 1 和s 2 是一致的。在我们的例子中,服务a 与服 务b 和服务c 是一致的,同时服务b 和服务c 是兼容的c 1 5 。 2 2 4 代数流程组合 代数服务组合与其他方式相比较,可以提供更为简练的描述( 1 6 。代数 服务组合同时可以确定动态流程服务的性质,如安全性、时效( 如正确的结 束) 、资源管理等等。动态流程理论是建立在n 一微积分的基础之上的。其核 心是一个流程:可以是一个空的流程,可以是数次i o 操作之中的选择,可 以是并行的组合,可以是递归的定义,也可以是递归的调用。i o 操作可以 是输入或者输出。例如,x 【y ) 代表在通道x 接收的数组y ,z 抄) 代表在通道x 发送的数组y ,点号表明一个序列的动作,如d 1 ,川d ( 工,y ,z ) d z + y + z 1 表示 流程通过通道c 发送数组【l ,d 】,然后通过通道d 接收到由变量工,y ,2 组成的数 组,最后在通道c 发送五y ,2 的组合。串行流程组合用a p 表示。多个流程可 以串行执行并且可在兼容通道中通信。 经过简单的推理,我们可发现组合的结果不是p r o c e s so u t p u t = b o u t p u t 就 是p r o c e s so u t p u 伊c o u t p u t ,也就是说该组合的自由度较小,经过有限几步组 合就可以达到理想的结果。在代数流程组合中,最常见的问题就是信息量的 多少:信息量过少,无法确定组合的某些性质,如安全性;信息量过大,组 合将过于复杂,不利于执行。 山东大学硕士学位论文 2 2 5p e t r i 网 p e t r i 网是分布式系统建模和分析工具,它特别便于描述系统中的顺序、 并发、冲突以及同步等基本关系。同其它系统模型相比较,对其并发的确切 描述是p e t r i 网的独特优势【1 7 】。 p e 仃i 网的概念是1 9 6 2 年由德国科学家c a da d 锄p e t r i 博士提出来的。 经过4 0 多年的发展,不仅p e t r i 网理论本身已形成一门系统的、独立的学科 分支,而且p e t r i 网理论在计算机科学技术( 如操作系统、并行编译、网络协 议、软件工程、形式语义等) 、自动化科学技术( 如离散事件动态系统、混杂 系统等) 、机械设计与制造( 如柔性制造系统、计算机集成制造系统等) 以及其 它许多科学技术领域都得到了广泛的应用。 通过将转换赋值以及地址赋值的途径,我们可以将服务模拟为p e t r i 网。 每个服务可以通过相应的p e 仃i 网描述服务行为,这种p e t r i 网包括两个部分: 输入地址和输出地址。在任何给定的时间,服务处于以下状态之一:初始化、 r e a d y 、运行、延迟、结束。当服务被定义为p e t r i 网之后,可通过下列组合 操作执行组合:排序、选择、无序排列、重复、并行通信等等。通过这些操 作我们将两个或多个w e b 服务组合为一个服务【1 8 】( 见下图) 。 圈队 峙拶u 卜叮 图2 1p e t r i 网组合方式 1 6 山东大学硕士学位论文 2 2 6 模型校验与终态机( f i n i t e _ s t a t e _ a c h i n e o ,f s h s ) 另外一种实现w e b 服务组合的方式是模型校验,即通过m e a l v 机进行模 型组合,或者通过终态机进行自动组合【1 9 】。 模型校验主要用于校验终态同向的系统。我们采用逻辑方式描述系统规 范,而后校验该模型是否符合规范。在w e b 组合服务中,可以采用模型校验 的方法确定工作流的正确性以及数据的连续性。 研究人员同时提出了w e b 服务组合的“对话机制”。根据该途径,理解 连续服务的本地行为以及组合服务的全局行为是检查和保证正确性的重要方 式。模型校验通过m e a l y 机进行信息的输入和输出。每个服务是有序的,服 务之间通过发送不同步的消息进行通信。一个全局性的“观察者”跟踪所有 的消息。对话被翻译成一系列的消息。模型校验这种方法通过学习和理解对 话的性质,提供了设计和分

温馨提示

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

评论

0/150

提交评论