首页 > 方案案例 > 正文

状态驱动的可执行业务流程模型的设计与实现

2009-12-03 09:32:33  来源:万方数据

摘要:在企业间的流程协同过程中,为了使企业的业务规则管理更灵活,防止企业私有的业务规则暴露给其他企业,并有效地监控流程的执行过程,将业务规则库和Web服务有机地整合,构建状态驱动的可
关键词: 业务规则管理 业务流

  1 概述

  随着工业经济和信息技术的发展,企业规模不断扩大,出现了跨地域经营和动态联盟。在此情况下,产品的设计、生产和交付需经过企业各部门、供应商、分销商、零售商和顾客之问的协作,设计活动和生产计划也需要基于设计需求和制造约束,与潜在的制造伙伴共同协商。因此,需要从企业阅协同管理的需求出发,研究业务协同服务的新方法、技术及实现。

  人们对企业协作进行了很多研究,对支持企业协作的业务流程管理系统提出了如下要求:(1)流程引擎具有尝试性和反复性;(2)协作食业能实时执行各自的流程,当用户需求发生改变或者预期结果无法实现时,流程能够很容易被监控重新配置;(3)按照相关约束,可编译成可执行的业务流程等。

  尽管工作流技术满足了上述部分需求,并已广泛应用于企业业务协作的自动化过程中,但由于其在模型定义、执行环境及接口方面的异构性,以及应用程序接几的匮乏等问题,因此不能满足企业的内部需求,而不适用于跨氽业的流操作。另一方面,在跨企业的协作过程中,由于包含业务规则的业务流程是仓业的私有资产,不应完全开放给各合作伙伴,因此需要提供业务规则和流程的分离机制,将它们封装在不同的贷源库中,在执行过程中进行动态组合,以保护企业的私有业务规则。本文针对以上问题,没计和实现了状态驱动的可执行业务流程模型(State—driven Executable BusinessProcess Model,SEBPM)。

  2 相关工作

  面向服务的架构(SOA)、服务催生了面向服务的业务流程新范型,它采用w曲服务作为业务流程的执行平台,并将流程作为w曲服务进行注册、发布和使用。

  目前,学术界和工业界已研究开发了一些基于w曲服务的标准和语言,以支持业务流程模型的协同和互操作。其中,web服务业务流程执行语言BPEL4ws采用web服务编排和服务流模型模拟工作流管理,使设计者能够将多个web服务聚合成一个流程服务,该流程可以看作是一个高层次的业务交互抽象或一个执行的业务流程服务。web曲服务编排接口(wscl)是面向w曲服务的编排规范,能定义和呈现协作流程服务的复杂行为。wscl采用web服务编排描述语言(ws—cDLJ定义w曲服务的通用和补偿行为,描述点对点web服务参与者的协作,而编排后的业务流程可实现企业问的业务交互和协同心。然而,BPEL4ws和WSCDL等业务流程定义语言(BPDL)在流程状态管理、业务规则处理和服务的动态发现与建模等几个方面存在不足”:

  (1)BPEL4ws和wscDL等BPDL语言没有提供任何标准元素来准确描述流程状态。BPEL4WS模型仅提出一个模糊的流程状态管理机制,由于该机制没有提供任何命名状态变量的方法,因此采用哪个变量存储流程变最变得含糊不清。

  (2)如果业务规则没有完全从业务流程中分离出来,工作流模式应该被预先定义。业务规则和流程逻辑的分离可以确保在不修改流程逻辑的条件下,改变业务规则,实现流程服务的动态配置,隐藏和保护食业的私有业务规则。虽然BPEL4ws提出了从业务流程中分离业务规则的霞要性,但没有提供任何分离机制。BPEL4ws的一个通用模型可以被扩展成一个公开的业务协议。但这种业务协议不提供隐藏业务规则的机制,使企业私有业务规则存在暴露给其他企业的危险。

  3状态驱动的可执行业务流程模型原理

  状态驱动的可执行业务流程模型通过定义流程单元明确指定流程状态,并将抽象业务流(Abstract Process Flow,APF)和扩展的业务规则(Extended Business Rule,EBR)分别存储在2个独立的知识仓库中,以一个BPEL4ws转换器组合APF和EBR,由此建立BPEL4wS支持的可执行业务流程服务,如图l所示。

  

可执行业务流程模型框架

 

  3.1流程单元定义

  为了明确定义流程状态,一个流程单元被视作一个状驱动流程模型的基础部件,由前置状态、活动、后置状态3个元素组成,如图2所示,流程单元可以标记为.流程单元:=(前置状态,活动,后置状态)流程单元的状态元素用来建立与业务规则相关的状态模型。前置状态是在活动执行之前与业务相关的流程状况,后置状态则相反。在流程单元模型中,流程单元的前置和后置状态与基于有限状态机的工作流活动状态不同,如果流程单元对应于一个独立注册的web服务,则其前置状态和后置状态可以映射为该服务的输入与输出。

  

漉程单元的图形表示

 

  3.2 APF定义

  在多个流程单元被定义后,流程单元可以通过其状态元素进行连接,连接后的全部流程单元定义了一个APF,图3给出了一个铸造业务的抽象业务流程描述。在APF中,通过赋予2个属于不同流程单元的流程状态同一个ID号来连接APF中的2个活动,如图3中的sl连接铸件需求设计和材料选择2个流程单元。当同一个ID号被赋予一个流程单元的后置状态和另一个流程单元的前置状态时,这2个属于不同流程单元的活动就被联系起来(串连关系)。当相同的ID被赋予2个属于不同流程单元的前置状态时,这2个单元的2个活动将在该状态上向2个方向分叉(分叉关系)。当相同的lD被赋予2个属于不同流程单元的后置状态时,在2个流程单元中的2个活动就以该流程状态连接,完成合并(合并关系)。

  

铸造业务的抽象业务流程图形表示

 

  3.3 EBR定义

  企业业务规则一般是私有信息,不便公开。只在业务流程执行时,根据流程状态,将私有的业务规则动态绑定到抽象业务流APF中的具体位置。EBR存储在一个类似于web服务的不对外公开的知识库中,通过web服务组件进行访问。EBR规则支持的(从APF中分离出来的)业务规则被隐藏,保证业务的安全。


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。