一种基于反射BPEL业务过程动态演化方法.docVIP

一种基于反射BPEL业务过程动态演化方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于反射BPEL业务过程动态演化方法

一种基于反射的BPEL业务过程动态演化方法   摘要:提出了一种基于反射的BPEL业务过程动态演化方法。该方法基于可反射的BPEL业务过程的动态演化框架,扩展了现有BPEL引擎,并对演化元过程建模,使其在BPEL引擎中实例化执行,来实现对业务过程的动态演化。??   关键词:业务过程;业务过程执行语言;工作流??   中图分类号:TP311文献标志码:A   文章编号:1001-3695(2007)05-0031-04      Web Service是一种设计和实现SOA的方法和技术,它给用户提供了粗粒度、独立于定位和连接的业务服务[1,2]。Web服务的业务过程执行语言(WS-BPEL)是一种基于XML的、平台无关的业务过程建模和执行语言[3]。它提供了一种简单的、基于标准的方法,以描述现实世界中的业务过程[4]。WS-BPEL 支持两种截然不同的使用情形,即可执行业务过程和抽象的业务过程。可执行的业务过程可在一个运行环境(即BPEL引擎)中实例化执行[5]。??   业务过程的复杂多变和因特网资源固有的不确定性使得对BPEL业务过程的建模无法避免不断的后期修改。针对上述问题,目前所用的传统方法一般是中止源程序的运行,待新程序编译、部署完成后运行新程序[6]。然而对于一个部署和运行在BPEL引擎中的业务过程而言,不能简单终止其某个正在运行的实例。例如,若终止有较长生存期的业务过程,那么该业务过程的长期工作必须重新实施。又如,若终止某业务过程实例的运行,那么需将其所完成操作进行反向补偿,然而并非所有业务过程均可补偿。因此,传统方法不能很好地支持业务过程的动态演化。与此同时,当前的BPEL语言规范和相应的BPEL执行引擎亦不能较好地支持业务过程的动态演化。??   根据上述分析,本文提出了一种基于反射的BPEL业务过程的动态演化方法。本文将该框架中向外提供演化功能的Web服务称为演化元服务。同时,为了完成某次演化,用户可依次组合多个不同的演化元服务的调用,以形成演化元过程。由于该演化元过程是标准的BPEL过程,其可在BPEL引擎中实例化执行,从而依次调用演化元服务,完成BPEL业务过程的动态演化。??      1反射与反射体系结构??      所谓反射是指系统能够通过修改对自身状态和行为的描述(简称自述)来调整自己的能力。系统实际的状态和行为始终与自述保持一致,即对自述的改变能反映到系统实际的状态和行为中,而系统的实际状态和行为改变亦能在自述中得到反映[7]。如图1所示,一个面向对象的可反射系统在逻辑上可以分为两层或者更多层(组成一个反射塔)[8]。??   相邻两层中的下层称为基本级,描述系统本身想要做的计算;上层称为元级,负责建立和维护系统自述。工作在基本级的对象称为基本级对象,工作在元级的对象称为元级对象。元级和基本级是因果关联的(Causally Connected),即元级和基本级任何一方的改变均会引起另一方作相应的改变。基本级的任何改变都会自动地在其自述中得到体现――这个过程叫做具体化;而元级的任何改变都会自动地在其基本级中得到体现――这个过程叫做反射。反射提供了一种运行时刻系统修改自身的能力。因此可以很好地实现系统自适应性、动态配置以及系统的动态演化。??      2基于反射的BPEL业务过程的动态演化方法??      为了使BPEL引擎可以向外提供演化元服务,需要对现有的BPEL引擎作相应的扩展,使之能支持BPEL业务过程的动态演化。为此,提出了一种基于反射的BPEL业务过程的动态演化框架。应用该框架以实现对BPEL引擎的扩充,从而提供对BPEL业务过程动态演化的支持。??      2.1基于反射的BPEL业务过程的动态演化框架??   基于一个两层的反射体系结构,图2描述了本文提出的BPEL业务过程的动态演化框架。其中,基本级定义了需动态修改的对象,即过程定义和过程实例。同时,为了能对过程定义和过程实例进行修改,扩展了BPEL引擎中原有过程定义和过程实例的类库,使之具有可反射的特性。??   相应地,该框架的元级集中实现了提供演化功能的主要模块,分别定义如下:??   (1)演化控制器。接收外部的演化请求,与BPEL引擎的过程管理器、持久化机制通信,并控制整个演化过程的执行。具体化操作和反射操作均在演化控制器中被显式调用。??   (2)过程结构演化模块。完成对业务过程结构的演化操作。该模块仅修改过程的结构元信息,不考虑这些修改后的结构元信息如何反射到下面的BPEL过程定义和过程实例中。??   (3)过程状态演化模块。完成对业务过程状态的演化操作。该模块修改过程的结构元信息,不考虑这些修改后的结构元信息如何反射到下面的BPEL过程定义和过程实例中。

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档