一种支持多模式驱动的工作流引擎制造技术

技术编号:10506128 阅读:142 留言:0更新日期:2014-10-08 10:42
本发明专利技术公开了一种支持固定流、自由流和混合流三种模式驱动的工作流引擎,包括业务流程定义和业务流程驱动模块。在固定流模式驱动下,业务流程定义规定了流程的所有活动、路由信息等参数,在业务流程驱动时,必须根据定义的参数予以执行。在自由流模式驱动下,不需要预先定义流程相关的活动或路由信息,在业务流程驱动时,每一个活动和路由通过选定的角色或人员以及选定的应用程序信息动态地确定。在混合流模式驱动下,业务流程定义仅规定了流程可能涉及的活动信息参数,在业务流程驱动时,对于已定义的活动参数必须参照执行,对于路由线索、触发条件等则通过选定的活动、角色或人员动态地确定。

【技术实现步骤摘要】
一种支持多模式驱动的工作流引擎
本专利技术属于计算机信息
,更具体是一种支持多模式驱动的工作流引擎,用于业务流程信息化系统的实现。
技术介绍
目前国内外多数的工作流引擎模式比较单一,一般都是基于预先设定好的流转线索或事件触发进行流程的驱动,比如工作流管理联盟(WFMC)就制定了详细的工作流定义及驱动等方面的规范,在此规范指导下,市场上存在很多工作流引擎产品,比如国外开源的shark、osworkflow、jbpm,商业的ultimus,微软的WF,国内协同数码、东兰等公司的产品等。这些产品都具备一些通用的特征,比如都是预先定义好流程模板,包括涉及的步骤、步骤之间的先后关系、事件触发的条件等,然后在流程实例化后根据预先定义好的模板参数进行驱动。这种工作流的驱动模式能适合多数需要工作流参与的场景,也在很多系统里面有成功的案例。在普通应用场景下,常规的通过预定义模板来驱动流程运转的模式虽然能适应一般应用需求。但是,在中国目前的体制环境下,尤其面对复杂的业务审批机制,这种常规的工作流驱动模式就很难满足实际需求。很多业务应用并没有良好的规范或标准可以遵循,“人治”而非“法治”阶段特点明显,意味着即使同样的事情,在不同人或不同时间的执行下其所经历的环节都可能存在巨大差异,尤其是很多审批业务如何流转都是由领导临时发话或者多人会签意见来临时动态决定的。比如政府机关的公文审批,正常的流程可能是简单的拟稿、审核、签发、核稿、印发,但在实际工作中,可能某个领导会随意地签发意见,从而改变这种固有的流转模式,完全无序或半无序地影响流程的运转。此时常规的工作流引擎就无法应对这种需求了。为此,专利技术了支持固定流、自由流和混合流三种模式驱动的工作流引擎。本专利技术的工作流引擎通过引入自由流和混合流的概念,不需要预先确定业务该怎么办、谁来办、办多久和怎么办等参数,而是将这些需要预先设定的参数下放到流程驱动环节,由上一环节的相关数据来智能决定,这样以不变应万变的模式能很好的适应所有的不确定情况,使应用系统更加的灵活和适应用户需求。本专利技术涉及到流程定义和流程驱动的基本概念如下:1)流程或子流程:一组实现一个企业目标或策略目标的相关联的程序和活动,其表现为一组活动、驱动线索等相关参数设定的集合。2)活动/步骤:流程定义中的最小单元,表示一个相对独立的逻辑步骤,包括人工活动和自动活动。3)路由:各个活动的串联线索,表达了各个活动的流转顺序或触发条件,包括分支、聚合、单双向、循环等类型。4)应用程序:活动的附加参数,定义活动需要干什么,比如填写一个或多个表单或打印一份文稿等。5)候选参与者:活动的附加参数,定义由谁来执行活动,可以是具体的人、角色或系统。6)流程实例:即流程实例化后的具体对象,一个流程可以实例化多个流程实例。7)活动实例:及活动实例化后的对象,包括具体做了什么事、由谁花了多久来完成的等内容。8)路由实例:流程实际流转的路线,记录了流程实际流转的路线信息。当为固定流时,路由实例为固定流定义里面的路径之一,当为自由流或混合流时,路由实例动态生成。9)实际参与者:记录了活动实际的办理人,一般为人或者系统。10)应用程序实例:活动执行时实际涉及的表单或其它任务。11)角色/分组:一组权限或人员的集合,对一群具有某些共同属性的对象予以描述。12)人员/用户:具体的自然人描述或系统使用者的标识。13)组织/岗位:行政单位设置。14)表单/处理:活动要填写的电子表单或要完成的运算或其它事项。
技术实现思路
为了实现上述目的,本专利技术采取的技术方案是:本专利技术的工作流引擎包括业务流程定义和业务流程驱动二个部分,支持固定流、自由流和混合流三种模式驱动。工作流引擎以组件方式开发,组件对象包括流程模板、流程、活动、路由、候选执行者、应用程序、流程实例、活动实例、路由实例、实际执行者、扩展参数等。所述业务流程定义部分用于描述业务流程,包括以下操作步骤:S10:创建流程模板,所述流程模板是同类型业务流程的集合,用于方便管理同类型节点的流程。S20:在流程模板中添加一个流程/子流程,所述流程/子流程是一系列相关活动的有序组合,支持固定流模式、自由流模式和混合流模式驱动。S30:对上述流程/子流程配置属性,每个流程除包括名称、分类、状态、驱动模式、期限和描述等基本信息外,还可以配置高级属性,包括流程主管部门、负责人、内部编码、流转控制、表单控制、参与者和扩展参数等信息。S40:对上述流程添加开始活动。S50:配置开始活动属性,包括开始活动的基本属性、候选参与者、应用程序和参数四个方面,其中,基本属性包括名称、类型、期限、执行策略、启动条件、提交条件等。候选参与者类型可以是角色、也可以是具体的职员。参与方式可以是主办、分发、协办、督办、查询等,并可以根据业务系统需要进行设置。应用程序(如表单或者应用程序的URL地址)可以运行在不同类型的设备上,如桌面电脑、智能手机等终端设备。S601:如果流程定义为固定流模式,添加后续的活动。其添加方法与添加开始活动的方法类似。转步骤S701。S602:如果流程定义为自由流模式,转步骤S100。S603:如果流程定义为混合流模式,添加后续的活动。。其添加方法与添加开始活动的方法类似。转步骤S703。S701:对于固定流模式,配置后续活动的属性。其属性配置方法与配置开始活动属性的方法类似。转步骤S801。S703:对于混合流模式,配置后续活动的属性。其属性配置方法与配置开始活动属性的方法类似。转步骤S603,继续添加相关的活动。所有活动设置完成后,转步骤S100。S801:对于固定流模式,添加路由。路由表达了各个活动的流转顺序或触发条件。其中,流转顺序可以有分支、聚合、单双向、循环等形式。S901:对于固定流模式,配置路由控制。每条路由可以为普通、缺省和必选三种类型,路由的分支控制也可以进行人工控制。转步骤S601,继续添加相关的活动和路由。所有活动和路由设置完成后,转步骤S100。S100:保存流程信息,流程定义结束。进一步,在业务流程定义时,还包括权限管理配置、表单管理配置等模块。权限管理配置模块负责管理业务流程、活动涉及的组织结构设置、机构职员构成、职员、角色分组,以及设置相应的权限。表单是活动过程中要填写的电子表格或要完成的运算,通过配置应用程序对应的表单路径(包括表单标识或表单对应的URL地址),使活动与应用程序关联。所述业务流程驱动部分,用于创建流程实例,并根据业务流程定义,创建流程的每一个活动实例、路由实例,为每一个活动设置实际参与者和应用程序实例等。对于固定流模式驱动,每一个预定义好的流程可以实例化多个实例。每个实例创建后,按顺序实例化具体的活动,每个活动由对应的应用程序执行完成后,提交到下一活动时,必须按照流程定义的路由线路进行,并激活下一活动。对于自由流模式驱动,其运转的逻辑规则有下面关键几点:1)流程实例化时,首先初始化流程相关的信息,包括事项名称、办理时限等,然后进入第一步初始化。2)第一步初始化时,首先决定本步骤要办理的事项(比如填写哪个表单)、办理的时限等内容,然后分配给办理的执行者(如角色或人员)。本步骤的名称需要通过选定的角色或人员以及选定的应用程序信息动态地确定。假设选定的应用程序为某一个名称本文档来自技高网
...
一种支持多模式驱动的工作流引擎

【技术保护点】
一种支持多模式驱动的工作流引擎,其特征在于:所述引擎包括业务流程定义模块和业务流程驱动模块,所述业务流程定义模块用于描述业务流程,所述业务流程驱动模块,用于创建流程实例,并根据业务流程定义,创建流程的每一个活动实例和路由实例,为每一个活动设置实际参与者和应用程序实例。

【技术特征摘要】
1.一种支持多模式驱动的工作流引擎,其特征在于:所述引擎包括业务流程定义模块和业务流程驱动模块,所述业务流程定义模块用于描述业务流程,所述业务流程驱动模块,用于创建流程实例,并根据业务流程定义,创建流程的每一个活动实例和路由实例,为每一个活动设置实际参与者和应用程序实例;(一)业务流程定义方法S10:创建流程模板流程模板是同类型业务流程的容器;每个流程模板包括名称、分类及描述基本信息;S20:添加流程/子流程在流程模板中添加流程,每个流程包括名称、分类、状态、驱动模式、期限和描述基本信息,其中流程状态有禁用、启用两个状态,表明当前流程是否可用,驱动模式包括固定流模式、自由流模式和混合流模式,期限信息描述了当前流程办理的总期限;进一步地,在流程中可以添加关联的子流程,其方法与添加流程的方法类似;S30:配置流程属性每个流程除包括名称、分类、状态、驱动模式、期限和描述基本信息外,还可以配置高级属性,包括流程主管部门、负责人、内部编码、流转控制、表单控制、参与者和扩展参数信息,其中:流程内部编码可以用于流程的识别和统计,流转控制有允许更改和不允许更改两种模式;在流程流转提交时,允许更改模式可以更改提交的活动/步骤;表单控制也有允许增加和不允许增加两种模式;在流程流转提交时,允许增加模式可以更改下一活动/步骤运行的表单;参与者可以是单个职员、岗位、或是一个角色;参与者为岗位或角色,则所属岗位或角色下的所有职员具备相应的权限;参与者的参与方式分为主办和分发两种方式;主办为当前程序的办理者,即流程的创建者;分发表示当前用户是程序的全程负责人,在流程设置为“全程负责”模式时有效;参与者控制有允许另选和不允许另选两种模式;在流程流转提交时,允许另选模式可以自定义更改下一活动/步骤的办理人;扩展参数用于为流程设置扩展属性;S40:添加开始活动每个流程包含一个开始活动;每个活动由多个属性组成;S50:配置开始活动属性每个活动由基本属性、参与者、应用程序和参数四个方面组成,其中,基本属性包括:活动名称:当前活动/步骤的名称;活动类型:当前活动/步骤的类型属性;执行期限:当前活动/步骤的办理期限;执行策略:控制流程流转办理者,分为共享工作模式、平行会签模式、流程创建者模式和上步执行者模式四种;共享模式为当前活动/步骤按流程设置的参与者办理;平行会签模式为当前活动/步骤为平行会签,必须所有的参与者都办理完成才可提交至下一步骤;流程创建者模式表示当前活动/步骤只有流程创建者可以办理;上步执行者则表示当前活动/步骤只有上一步的执行者才能办理;启动约束:设置当前流程步骤办理的约束条件,分为前续步骤全部完成、前续步骤完成一步和前续必选步骤完成、强制合并进入步骤四种约束条件;其中,第四种约束条件是指如果当前步骤已创建,并有新的步骤需要提交到本步骤时将不新创建步骤,而是直接指向当前已创建的步骤;提交约束:设置当前活动/步骤提交的约束条件,分为只能选择一条路径和可以选择所有路径这两种模式;只能选择一条路径表示业务提交时,下一活动/步骤只能选择一个;可以选择所有路径表示业务提交时,可以自定义选择多个下一活动/步骤;说明:如果路由线上面设置为必选时,对应步骤提交时是不可取消选中的,如果路由线上面设置为默认,那么就是默认选中但可以取消;必须附件:当前步骤提交时,必须提供的附件,活动/步骤提交时,系统将给出提示;办理土地登记业务,收件时需提供相应附件,有多个附件时以“;”分开设置;备选附件:当前流程的备选附件清单,多个附件时以“;”分开设置;参与者属性描述了当前活动的参与者或办理者,包括参与者名称、类型、参与方式和描述信息;其中,参与者类型可以是角色、也可以是具体的职员;参与方式可以是主办、分发、协办、督办、查询,并可以根据业务系统需要进行设置;应用程序属性描述了当前活动/步骤的应用程序,包含了应用程序名称、类型、所属分类、用途和描述信息;应用程序可能运行在不同类型的设备上;活动的参数属性用于设置每个活动的初始化参数,并可以根据这些参数进行业务控制和功能操作控制;S601:如果流程定义为固定流模式,添加后续的活动;其添加方法与添加开始活动的方法类似;S602:如果流程定义为自由流模式,转步骤S100;S603:如果流程定义为混合流模式,添加后续的活动,其添加方法与添加开始活动的方法类似;S701:对于固定流模式,配置后续活动的属性;其属性配置方法与配置开始活动属性的方法类似;S703:对于混合流模式,配置后续活动的属性;其属性配置方法与配置开始活动属性的方法类似;所有活动设置完成后,转步骤S100;S801:对于固定流模式,添加路由;路由表达了各个活动的流转顺序或触发条件,可以包括名称和类型信息;流转顺序可以有分支、聚合、单双向、循环形式;S901:对于固定流模式,配置路由控制;每条路由可以为普通、缺省和必选三种类型,路由的分支控制也可以进行人工控制;所有活动和路由设置完成后,转步骤S100;S100:保存流程信息,流程定义结束;(二)固定流模式驱动固定流模式是目前市面上绝大多数工作流引擎的工作模式,适用的业务流程场景为:预先知晓要干什么、谁来干、谁先干的场景;工作流引擎需要预先定义工作流驱动模板,并在模板里面预先规...

【专利技术属性】
技术研发人员:胡锐沈江涛邓跃进邓玉锋黄敏梁毅付彦召刘少波
申请(专利权)人:武大吉奥信息技术有限公司
类型:发明
国别省市:湖北;42

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

1