流程驱动方法及装置制造方法及图纸

技术编号:6956556 阅读:411 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种流程驱动方法及装置,属于计算机领域。该方法包括:确定待驱动流程的流程元素,及所述流程元素对应的流程行为;将所述流程元素映射到对应的执行对象中,并将所述流程元素的流程行为装配到所述对应的执行对象中;在外部调用所述执行对象时启动所述执行对象的执行过程。本发明专利技术通过将流程元素映射到对应的执行对象中,并在外部调用该执行对象时启动执行对象的执行过程,即以执行对象概括各种流程语言的行为特征,实现对流程的驱动,不仅可以支持块状及图状等流程语言,提高了流程驱动的扩展性;又由于不与任何特定的数据存储层技术及IOC容器绑定,因此,又可以提高流程驱动的可移植性。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别涉及一种流程驱动方法及装置
技术介绍
随着计算机技术的日益发展,流程语言的种类也越来越多。尽管流程语言的语法与格式各不相同,但要解决的问题却是大体相同的,流转行为是一致的。设计一个适应各种流程语言的通用驱动系统,有利于提高BPM(Business ProcessManagement,业务流程管理系统)引擎的开发效率;可以使得BPM产品线具有高度的扩展性;也可以满足在一个系统中同时支持多种流程语言的特殊需求。现有技术一提供的驱动系统,首先提出了 PVM(Process Virtual Machine,流程虚拟机)这个概念,并利用该 PVM 成功驱动了 BPEL (Business ProcessExecution Language, 业务流程执行语目)禾口 JPDL(Java business processmanagement Process Definition Language,业务流程管理过程定义语言)。现有技术二则开发了 Windows Workflow Foundation (工作流框架)系统,虽然没有取名“PVM”,但是该系统的设计目标和PVM是一致的,该系统可驱动各种与BPEL语言类似的流程语言。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下缺点现有技术一提供的PVM在运行时严重依赖开放源代码的对象关系映射框架 (Hibernate),该PVM还具有IOC anversion of Control,控制反转)容器等组件,这些组件本质上与PVM无关,反而导致该产品无法与其他产品集成,导致移植性差;现有技术二对于图状流程语言,如BPMN(Business ProcessModeling Notation,业务流程建模标注)等则较难胜任,尤其对于有自由跳转、取回、加签等需求的业务流程;另外,由于严重依赖于.Net Framework,导致扩展性也较差。
技术实现思路
为了提高流程驱动的扩展性及可移植性,进而提高流程驱动的实用性能,本专利技术实施例提供了一种流程驱动方法及装置。所述技术方案如下—方面,提供了一种流程驱动方法,所述方法包括确定待驱动流程的流程元素,及所述流程元素对应的流程行为;将所述流程元素映射到对应的执行对象中,并将所述流程元素的流程行为装配到所述对应的执行对象中;在外部调用所述执行对象时启动所述执行对象的执行过程。另一方面,提供了一种流程驱动装置,所述装置包括确定模块,用于确定待驱动流程的流程元素,及所述流程元素对应的流程行为;映射模块,用于将所述流程元素映射到对应的执行对象中,并将所述流程元素的流程行为装配到所述对应的执行对象中;驱动模块,用于在外部调用所述执行对象时启动所述执行对象的执行过程。本专利技术实施例提供的技术方案的有益效果是通过将流程元素映射到对应的执行对象中,并在外部调用该执行对象时启动执行对象的执行过程,即以执行对象概括各种流程语言的行为特征,实现对流程的驱动,不仅可以支持块状流程语言,也可以很好地支持图状流程语言,从而提高了流程驱动的扩展性;另外,由于本专利技术实施例提供的技术方案不与任何特定的数据存储层技术及IOC容器进行绑定,因此,具有很高的可移植性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例--提供的流程驱动方法流程图2是本专利技术实施例二提供的BPMN2. 0与流程驱动装置的关系示意图图3是本专利技术实施例二提供的流程驱动方法流程图4是本专利技术实施例二提供的BPMN2. 0的流程元素示意图5是本专利技术实施例二提供的BPMN2. 0的流程元素的流程行为示意图图6是本专利技术实施例二提供的各种执行对象示意图7是本专利技术实施例二提供的各种执行对象之间的关系示意图8是本专利技术实施例二提供的执行对象结构示意图9是本专利技术实施例三[提供的流程驱动装置结构示意图10是本专利技术实施例_Ξ提供的驱动模块结构示意图11是本专利技术实施例_三提供的执行单元结构示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。实施例一参见图1,本实施例提供了一种流程驱动方法,该方法流程具体如下101 确定待驱动流程的流程元素,及该流程元素对应的流程行为;102 将该流程元素映射到对应的执行对象中,并将该流程元素的流程行为装配到对应的执行对象中;103 在外部调用该执行对象时启动该执行对象的执行过程。本实施例提供的方法,通过将流程元素映射到对应的执行对象中,并在外部调用该执行对象时启动执行对象的执行过程,即以执行对象概括各种流程语言的行为特征,实现对流程的驱动,不仅可以支持块状流程语言,也可以很好地支持图状流程语言,从而提高了流程驱动的扩展性;另外,由于本专利技术实施例提供的技术方案不与任何特定的数据存储层技术及IOC容器绑定,因此,具有很高的可移植性。实施例二本实施例提供了一种流程驱动方法,该方法通过将流程元素映射到对应的执行对象中,以执行对象概括各种流程语言的行为特征,实现对流程的驱动。为了便于说明,本实施例以BPMN2. 0流程语言为例进行说明,图2为该BPMN2. 0流程引擎与流程驱动装置之间的关系示意图。参见图3,本实施例提供的方法流程具体如下301 确定待驱动流程的流程元素,及该流程元素对应的流程行为;针对该步骤,每个特定的流程语言都包含了各种流程元素,关于如何确定待驱动流程的流程元素及对应的流程行为,本实施例不做具体限定。以BPMN2. 0流程语言为例,其流程元素如图4所示,包含了 ftOcess,Activity, Event, SequnceFlow等流程元素,对应的流程行为可如图5所示。302 为该流程元素选择对应的执行对象;具体地,本实施例以Executable Object表示执行对象,将其看作是一个具有特定行为的Java Bean,并定义了三种进程,即执行进程execute ()、唤醒进程awaken ()和结束进程complete ()。其中,execute ()用于执行业务逻辑,该业务逻辑即为映射到该执行对象中的流程所承载的业务逻辑;awakenO用于唤醒执行对象,实际应用时,通过进行数据恢复唤醒执行对象;complete ()则在execute ()执行业务逻辑结束后被调用。虽然每个执行对象都有execute (),awaken (),complete ()三个进程,但这些进程的具体实现方式不一定完全相同。参见图6,根据进程实现方式的不同,可以将执行对象分为网(NetInstance),节点(NodeInstance)和弧(ArcInstance)三种类型。其中,一个网可以包含若干个互相连接的节点和弧;节点可以有若干个输入弧和若干个输出弧,每个弧必须有一个输入节点和一个输出节点;另外,一个网可以包含子网,各种执行对象之间的关系可如图7所示。关于如何为流程元素选择对应的执行对象,本实施例不对具体的选择方式进行限定,仍以BPMN2. 0中的流程元素为例,可以选择将Process流程本文档来自技高网
...

【技术保护点】
1.一种流程驱动方法,其特征在于,所述方法包括:确定待驱动流程的流程元素,及所述流程元素对应的流程行为;将所述流程元素映射到对应的执行对象中,并将所述流程元素的流程行为装配到所述对应的执行对象中;在外部调用所述执行对象时启动所述执行对象的执行过程。

【技术特征摘要】
1.一种流程驱动方法,其特征在于,所述方法包括确定待驱动流程的流程元素,及所述流程元素对应的流程行为; 将所述流程元素映射到对应的执行对象中,并将所述流程元素的流程行为装配到所述对应的执行对象中;在外部调用所述执行对象时启动所述执行对象的执行过程。2.根据权利要求1所述的方法,其特征在于,所述在外部调用所述执行对象时启动所述执行对象的执行过程,具体包括判断是否可触发所述执行对象所对应的业务逻辑; 如果是,则执行所述业务逻辑,并在执行结束之后指示下一步操作。3.根据权利要求2所述的方法,其特征在于,所述执行所述业务逻辑,具体包括 调用执行进程执行所述业务逻辑,并在执行所述业务逻辑结束后,调用结束进程; 如果需要长时间执行所述业务逻辑,则将所述执行对象的状态保存在存储介质中,直至执行所述业务逻辑结束,调用唤醒进程进行数据恢复,并在数据恢复后调用结束进程。4.根据权利要求1所述的方法,其特征在于,所述执行对象分为网,节点和弧;其中,每个网包含多个互相连接的节点和弧;每个节点包含多个输入弧和多个输出弧; 每个弧至少包含一个输入节点和一个输出节点。5.一种流程驱动装...

【专利技术属性】
技术研发人员:陈乜云
申请(专利权)人:深圳市金蝶中间件有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1