一种不基于过程模型的自由工作流管理方法及系统的制作方法

文档序号:6581761阅读:83来源:国知局
专利名称:一种不基于过程模型的自由工作流管理方法及系统的制作方法
技术领域
本发明涉及一种工作流管理技术领域,尤其是指一种不基于过程模型的自由工作
流管理方法及系统。
背景技术
现代社会中人们对所从事工作的分工越来越细,完成一项工作已经不是一个人的事,需要多人之间的协作,并以通过对工作过程合理的组织,才能高效的完成工作。工作流正是为了解决多人之间的组织协作问题而出现的一种技术,它利用计算机建立业务过程模型,将不同的人、不同的任务组织起来,并控制业务的执行顺序以及任务在不同的人之间的分配。 工作流管理系统是"一种在工作流形式化表示的驱动下,通过软件的执行而完成
工作流定义、管理及执行的系统",其主要目标是对业务过程中各活动发生的先后次序以及
同活动相关的相应人力或信息资源的调用,进行管理和实现业务过程的自动化。 工作流系统参考模型的体系结构如图1所示,它主要由过程工具、过程定义、工作
流执行服务、组织/角色模型数据、任务表、应用程序以及工作流相关数据等组成。通过使
用一个或多个分析、建模和系统定义工具,把实际中的业务过程转变成形式的、计算机可以
处理的定义。通常把定义的结果称为过程模型、过程模板、过程元数据、或者过程定义,它包
含了描述一个能够由工作流执行服务软件系统执行的过程所需要的所有信息,这些信息包
括过程的开始和完成条件、构成过程的活动(任务)以及进行活动间导航的规则、用户所需
要完成的任务、可能被调用的应用、工作流引擎的引用关系、以及所有与工作流相关数据的定义。 工作流执行服务负责解释过程定义、控制过程实例、安排活动的执行顺序、向用户工作表中添加工作项目、调用应用工具。这需要一个或者多个协同工作的工作流引擎来完成这些职责,工作流引擎管理各种过程的一个单独实例。工作流执行服务器维护内部控制数据,这些数据或者集中于一个工作流引擎中,或者分布在一个工作引擎集合中;这些工作流控制数据包括与各种过程、或者正执行的活动实例相关的内部状态信息,也包括工作流引擎用来合作或者从失败中进行恢复的检查点、恢复/重新启动信息。过程定义与(运行时期)工作流相关数据协作,一同用来控制过程中活动的导航、提供活动的进入与退出条件、不同活动的并行执行、顺序执行选项、用户任务、与每个活动相关的IT应用程序等。如果过程定义包括组织模型/角色实体类型,那么完成以上任务,需要访问组织/角色模型数据。工作流引擎也包括调用一些形式的应用工具的能力,来激活必要的应用程序执行相关活动。这种调用机制间有很大的不同,在一些简单的系统中,也许只提供对单一的固定工具调用(例如,文本编辑器),然而在工作流系统中可能提供调用本地与远程的大范围内工具的方法。 工作流引擎是工作流管理软件的核心功能,当一个业务过程被初始化(由相应的人启动或者被调用)后,工作流引擎将对没有前依赖活动的活动初始化得到各个活动的任
4务线程,并根据任务执行所需的角色和角色中人员的指派规则,找到相应的人员(参与者)来执行该任务。当该任务执行完毕后,由执行该任务的人通知工作流引擎并更改线程状态标志,然后工作流引擎根据任务的完成条件来判断该任务是否已经完成。如果不满足完成条件,则工作流引擎向执行该任务的人返回相应的信息并要求该人再做相应的处理。如果满足完成条件,工作流引擎将该任务的完成标志设为TRUE,并判断该任务是否有后转发任务。如果该任务有后转发任务,则根据依赖集找到该任务的后转发任务集,再根据活动的后转发规则流向相应的任务(活动的后转发规则指的是当前活动所对应的任务结束后该启动何种后继活动在找到任务的后转发任务集后,再判断具体应该流向哪些活动)。然后根据活动的前依赖规则(活动的前依赖规则指明相应活动的启动条件,当前活动的任务线程能否启动取决于前依赖活动集,中所包含的那些活动是否已经达到各自应该达到的结束状态)判断这些相应的任务是否能够执行。如果不能执行,则等待,直到前依赖活动执行完后再执行。然后按照上面的步骤继续执行,直到所有执行完的活动都没有后转发任务了 ,该业务过程便完成。 经过多年的发展,市场上已经有不少工作流产品,这些产品中大多数都是基于工作流标准组织制定的标准实现的,然而这些产品都缺乏相应的灵活性,无法满足一些业务流程经常变化的应用系统。例如电子政务系统,为了顺应现代社会的快节奏,以及政务工作要根据政策宏观变化实时调整,需要对很多由于政务工作本身变化所产生的可变流程以灵活的机制进行规划、整合,这正是传统的工作流管理技术的瓶颈所在。 对于一些对业务流程灵活性要求更高的系统,例如电子政务系统,因政务和政策的快速变化而无法使用预先设计好的过程模型,而过程模型是传统工作流引擎运转的基础,这导致了传统工作流引擎无法满足这一类需求。

发明内容
针对上述问题,本发明的目的在于提供一种不基于过程模型的自由工作流管理方法及系统,其可以根据业务需求自定义下一个工作任务的参与者和处理表单,而不用依赖事先定义好的过程模型来完成工作。
本发明提供了一种不基于过程模型的自由工作流管理方法,其包括 A、用户在入口表单中自定义本环节任务名称、下一环节任务名称,下一环节任务
接收人、下一环节任务对应的处理表单,然后调用工作流引擎的启动自由流程接口 ; B、工作流引擎创建虚拟流程实例并为其分配流程实例编号,根据用户自定义的本
环节任务名称创建当前环节的任务实例并为其分配任务实例编号; C、接收者进入工作夹,工作流引擎到流程实例表和任务实例表中读取当前接收者相关的流程实例和任务实例; D、接收者从工作夹列表选择流程实例和任务实例办理,这时会向工作流引擎传入流程实例编号和任务实例编号,然后调用工作流引擎提供的办理任务接口根据流程实例编号加载流程实例并读取其表单;
E、接收者办理自由流任务。 具体地,步骤A之前包括以下步骤定义要使用到的业务表单或者电子表单,并为自由工作流定义流程名称和业务模块名称;将工作流引擎提供的自由流接口与入口表单绑
5定。 所述步骤B还包括 工作流引擎根据用户自定义的下一环节任务名称创建下一环节任务实例,并将传 入的下一环节任务接收人设置给该任务实例; 工作流引擎根据用户自定义的下一环节任务处理表单和业务内容保存在任务实 例的变量对象中,引擎保存创建的流程实例和任务实例到与固定流程相同的数据库表中;
工作流引擎返回下一环节任务实例对象。
所述步骤D具体包括 工作流引擎根据流程实例编号加载流程实例对象,并判断该流程实例对象是否属 于自由流程的任务实例; 工作流引擎根据该任务实例对象读取其中的表单信息和业务内容并返回。 工作流弓I擎根据返回的表单显示用户办理任务的界面,并将业务内容显示在表单
相应的内容栏中。 所述步骤D和E之间还包括步骤用户在表单处自定义下一环节任务名称,下一环 节任务接收人、下一环节任务对应的处理表单以及其他业务内容,或者选择结束流程。
所述步骤E具体包括 引擎判断用户选择的是结束流程还是选择下一接收人办理任务;
如果用户选择的是继续流转,则继续调用引擎提供的办理任务接口,引擎根据用 户自定义的下一环节任务名称创建下一环节任务实例,并将用户自定义的下一环节任务接 收人设置给该任务实例;将用户自定义的下一环节任务处理表单和业务内容保存在任务实 例的变量对象中;将当前环节的任务变量进行更新;然后保存当前环节任务实例和新创建 的任务实例到与固定流程相同的数据库表中;同时返回下一环节任务实例对象。返回步骤 C直到有接收者办理任务时选择结束流程。 如果用户选择的是结束流程,则调用引擎提供的结束自由流程接口,引擎判断绑 定表单时是否设置了应用程序回调接口,如果设置了则回调该接口实现的业务操作,然后 将当前环节的标识设置为结束,将环节所属流程的标识也设置为结束,并将结果保存到数 据库表中。 本发明还提供了一种不基于过程模型的自由工作流管理系统,其包括 工作流引擎,其包含启动自由流程接口、办理任务接口,工作流引擎利用启动自由
流程接口启动自由流程,创建虚拟流程实例并为其分配流程实例编号,根据用户自定义的
本环节任务名称创建当前环节的任务实例并为其分配任务实例编号;到流程实例表和任务
实例表中读取该接收者相关的流程信息并返回,接收者利用办理任务接口办理任务; 应用处理模块,用于存储工作流引擎需调用到的相关应用程序; 数据存储模块,用于存储工作流引擎需调用到的相关数据或任务表格。 本发明在传统工作流引擎的基础上,增加了自由流程的功能,保证用户可以根据
业务需求自定义下一个工作任务的参与者和处理表单,而不用依赖事先定义好的过程模型
来完成工作,实现了用户自定义流程的要求。


附图1为现有的一种工作流管理系统的系统结构示意图; 附图2为本发明的一种不基于过程模型的自由工作流管理方法的流程图; 附图3为本发明的一种不基于过程模型的自由工作流管理系统的框图。
具体实施例方式
本发明的目的是提供一种不基于过程模型的自由工作流管理系统及方法,本发明 在传统工作流引擎的基础上,增加了自由流程的功能,保证用户可以根据业务需求自定义 下一个工作任务的参与者和处理表单,而不用依赖事先定义好的过程模型来完成工作。
与传统工作流管理系统体系结构图相比,本发明已经不需要过程分析工具和过程 定义,而是通过引擎提供的一系列扩展接口 executeFreeStartNode(流程定义名称,业务 模块名称,当前环节任务名称,下一环节任务名称,当前环节参与者,下一环节参与者,流程 变量)启动自由流程、commitFreeTaskNode (任务实例ID,下一环节任务名称,当前环节参 与者,下一环节参与者,流程变量)办理任务、endFreeProcess(流程实例ID,结束流程参与 者,流程变量)结束自由流程。 在运行时根据参与者输入的流程内容(流程定义名称、业务模块名称、当前环节 任务名称、下一环节任务名称、当前环节参与者、下一环节参与者和流程变量等)动态创建 流程实例和任务实例,替代了传统工作流由过程模型的描述内容来创建流程实例和任务实 例的方式,以达到用户自定义流程环节的效果。 参考图2,本发明提供了一种用户自定义的工作流管理方法,其包括 S01、用户在入口表单中自定义本环节任务名称、下一环节任务名称,下一环节任
务接收人、下一环节任务对应的处理表单,然后调用工作流引擎的启动自由流程接口 ;
S02、工作流引擎创建虚拟流程实例并为其分配流程实例编号,根据用户自定义的
本环节任务名称创建当前环节的任务实例并为其分配任务实例编号; S03、接收者进入工作夹,工作流引擎到流程实例表和任务实例表中读取当前接收 者相关的流程实例和任务实例; S04、接收者从工作夹列表选择流程实例和任务实例办理,这时会向工作流引擎传 入流程实例编号和任务实例编号,然后调用工作流引擎提供的办理任务接口根据流程实例 编号加载流程实例并读取其表单;
S05、接收者办理自由流任务。 参考图3,本发明还提供了一种用户自定义的工作流管理系统,其包括 工作流引擎1,其包含启动自由流程接口、办理任务接口,工作流引擎利用启动自
由流程接口启动自由流程,创建虚拟流程实例并为其分配流程实例编号,根据用户自定义
的本环节任务名称创建当前环节的任务实例并为其分配任务实例编号;到流程实例表和任
务实例表中读取该接收者相关的流程信息并返回,接收者利用办理任务接口办理任务; 应用处理模块2,用于存储工作流引擎需调用到的相关应用程序; 数据存储模块3,用于存储工作流引擎需调用到的相关数据或任务表格;其包括
工作流相关数据31和任务表32,以及组织/角色模型数据33。 具体来说,开发人员或者是技术人员事先定义好本次流程要使用到的业务表单或者电子表单,并为该自由流定义名称和业务模块名称,设置结束流程后是否回调应用程序
接口,然后将引擎提供的自由流接口与入口表单绑定。 1〉用户启动自由流前 用户在入口表单处自定义本环节任务名称、下一环节任务名称,下一环节任务接 收人、下一环节任务对应的处理表单以及其他业务内容,然后调用引擎的启动自由流程接 口 executeFreeStartNode。
2〉用户启动自由流 引擎根据技术人员事先定义的流程名称和业务模块名称创建虚拟流程实例并为 其分配唯一标识(流程实例ID),并将流程实例的流程定义ID设值为"FREE_PR0CESS",表 示该类型的流程均为自由程序,用与区分基于过程模型的流程。 引擎根据用户自定义的本环节任务名称创建当前环节的任务实例并为其分配唯 一 ID(任务实例ID)。 引擎根据用户自定义的下一环节任务名称创建下一环节任务实例,并将传入的下 一环节任务接收人设置给该任务实例。 引擎根据用户自定义的下一环节任务处理表单和业务内容保存在任务实例的变 量对象中。 引擎保存创建的流程实例和任务实例到与固定流程相同的数据库表中。
引擎返回下一环节任务实例对象。
3〉接收者进入工作夹 引擎到流程实例表和任务实例表中读取该接收者相关的流程信息并返回。由于自 由流程与基于过程模型的流程采用相同的存储和处理机制,对用户来说在"工作夹"看到的 工作项是没有区别的,这同时也保证了对自由流程的管理和监控是与基于过程模型的流程 是一致的,为用户提供了更好的一致性与交互性。当然,由于自由流程的流程实例对象在创 建时为其指定了值为"FREE_PR0CESS"的流程定义ID,该值就可以将自由流程实例对象与 其他流程实例对象进行区分。 4>接收者从工作夹列表选择任务办理,这时会向引擎传入流程实例ID和任务实 例ID,然后调用引擎提供的办理任务接口 commitFreeTaskNode : 引擎根据流程实例ID加载流程实例对象,并根据流程定义ID的值是否为"FREE_
PROCESS"来判断该流程是否属于自由流程的任务实例。弓I擎根据该任务实例变量读取其中的表单信息和业务内容并返回。 引擎根据返回的表单显示用户办理任务的界面,并将业务内容显示在表单相应的
内容栏中。 5>接收者准备办理自由流任务 用户在表单处自定义下一环节任务名称,下一环节任务接收人、下一环节任务对
应的处理表单以及其他业务内容,或者选择结束流程。 6>接收者办理自由流任务 引擎判断用户选择的是结束流程还是选择下一接收人办理任务。 如果用户选择的是继续流转,则继续调用引擎提供的办理任务接口
commitFreeTaskNode,引擎根据用户自定义的下一环节任务名称创建下一环节任务实例,并将用户自定义的下一环节任务接收人设置给该任务实例;将用户自定义的下一环节任务 处理表单和业务内容保存在任务实例的变量对象中;将当前环节的任务变量进行更新;然 后保存当前环节任务实例和新创建的任务实例到与固定流程相同的数据库表中;同时返回 下一环节任务实例对象。重复步骤"接收者进入工作夹"直接有接收者办理任务时选择结 束流程。 如果用户选择的是结束流程,则调用引擎提供的结束自由流程接口 endFreeProcess,引擎判断技术人员绑定表单时是否设置了应用程序回调接口,如果设置 了则回调该接口实现的业务操作,然后将当前环节的标识设置为结束,将环节所属流程的 标识也设置为结束,并将结果保存到数据库表中。 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明 的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范 围之内。
权利要求
一种不基于过程模型的自由工作流管理方法,其特征在于,包括A、用户在入口表单中自定义本环节任务名称、下一环节任务名称,下一环节任务接收人、下一环节任务对应的处理表单,然后调用工作流引擎的启动自由流程接口;B、工作流引擎创建虚拟流程实例并为其分配流程实例编号,根据用户自定义的本环节任务名称创建当前环节的任务实例并为其分配任务实例编号;C、接收者进入工作夹,工作流引擎到流程实例表和任务实例表中读取当前接收者相关的流程实例和任务实例;D、接收者从工作夹列表选择流程实例和任务实例办理,这时会向工作流引擎传入流程实例编号和任务实例编号,然后调用工作流引擎提供的办理任务接口根据流程实例编号加载流程实例并读取其表单;E、接收者办理自由流任务。
2. 如权利要求1所述的一种不基于过程模型的自由工作流管理方法,其特征在于步 骤A之前包括以下步骤定义要使用到的业务表单或者电子表单,并为自由工作流定义流程名称和业务模块名称;将工作流引擎提供的自由流接口与入口表单绑定。
3. 如权利要求2所述的一种不基于过程模型的自由工作流管理方法,其特征在于所 述步骤B还包括工作流引擎根据用户自定义的下一环节任务名称创建下一环节任务实例,并将传入的 下一环节任务接收人设置给该任务实例;工作流引擎根据用户自定义的下一环节任务处理表单和业务内容保存在任务实例的 变量对象中,引擎保存创建的流程实例和任务实例到与固定流程相同的数据库表中;工作流引擎返回下一环节任务实例对象。
4. 如权利要求3所述的一种不基于过程模型的自由工作流管理方法,其特征在于所 述步骤D具体包括工作流引擎根据流程实例编号加载流程实例对象,并判断该流程实例对象是否属于自由流程的任务实例;工作流引擎根据该任务实例对象读取其中的表单信息和业务内容并返回; 工作流引擎根据返回的表单显示用户办理任务的界面,并将业务内容显示在表单相应的内容栏中。
5. 如权利要求4所述的一种不基于过程模型的自由工作流管理方法,其特征在于所 述步骤D和E之间还包括步骤用户在表单处自定义下一环节任务名称,下一环节任务接收 人、下一环节任务对应的处理表单以及其他业务内容,或者选择结束流程。
6. 如权利要求5所述的一种不基于过程模型的自由工作流管理方法,其特征在于所 述步骤E具体包括引擎判断用户选择的是结束流程还是选择下一接收人办理任务;如果用户选择的是继续流转,则继续调用引擎提供的办理任务接口,引擎根据用户自 定义的下一环节任务名称创建下一环节任务实例,并将用户自定义的下一环节任务接收人 设置给该任务实例;将用户自定义的下一环节任务处理表单和业务内容保存在任务实例的变量对象中;将当前环节的任务变量进行更新;然后保存当前环节任务实例和新创建的任 务实例到与固定流程相同的数据库表中;同时返回下一环节任务实例对象。返回步骤C直 到有接收者办理任务时选择结束流程。如果用户选择的是结束流程,则调用引擎提供的结束自由流程接口,引擎判断绑定表 单时是否设置了应用程序回调接口,如果设置了则回调该接口实现的业务操作,然后将当 前环节的标识设置为结束,将环节所属流程的标识也设置为结束,并将结果保存到数据库 表中。
7. —种不基于过程模型的自由工作流管理系统,其特征在于,包括 工作流引擎,其包含启动自由流程接口 、办理任务接口 ,工作流引擎利用启动自由流程 接口启动自由流程,创建虚拟流程实例并为其分配流程实例编号,根据用户自定义的本环 节任务名称创建当前环节的任务实例并为其分配任务实例编号;到流程实例表和任务实例 表中读取该接收者相关的流程信息并返回,接收者利用办理任务接口办理任务; 应用处理模块,用于存储工作流引擎需调用到的相关应用程序; 数据存储模块,用于存储工作流引擎需调用到的相关数据或任务表格。
全文摘要
本发明提供了一种不基于过程模型的自由工作流管理系统,其包括工作流引擎,其包含启动自由流程接口、办理任务接口,工作流引擎利用启动自由流程接口启动自由流程,创建虚拟流程实例并为其分配流程实例编号,根据用户自定义的本环节任务名称创建当前环节的任务实例并为其分配任务实例编号;到流程实例表和任务实例表中读取该接收者相关的流程信息并返回,接收者利用办理任务接口办理任务;应用处理模块,用于存储工作流引擎需调用到的相关应用程序;数据存储模块,用于存储工作流引擎需调用到的相关数据或任务表格。本发明还提供了一种不基于过程模型的自由工作流管理方法。本发明可以根据业务需求自定义下一个工作任务的参与者和处理表单,而不用依赖事先定义好的过程模型来完成工作。
文档编号G06Q10/00GK101714231SQ20091019405
公开日2010年5月26日 申请日期2009年11月20日 优先权日2009年11月20日
发明者杨镇琼 申请人:广东金宇恒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1