CN103971225A - 一种工作流动态扩展方法及系统 - Google Patents
一种工作流动态扩展方法及系统 Download PDFInfo
- Publication number
- CN103971225A CN103971225A CN201410190954.3A CN201410190954A CN103971225A CN 103971225 A CN103971225 A CN 103971225A CN 201410190954 A CN201410190954 A CN 201410190954A CN 103971225 A CN103971225 A CN 103971225A
- Authority
- CN
- China
- Prior art keywords
- active
- node
- active node
- information
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 146
- 230000000694 effects Effects 0.000 claims description 61
- 238000010276 construction Methods 0.000 claims description 56
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000012423 maintenance Methods 0.000 description 12
- 238000011161 development Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种工作流动态扩展方法,包括:创建所述工作流的子流程的活动节点信息源对象;接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息和活动节点链接信息;根据所述活动节点信息构建活动节点对象,并根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,将所述子流程载入黑盒占位节点动态运行。本发明还同时公开了一种工作流动态扩展系统。如此,本发明实施例在工作流实例的运行过程中,能够根据所述子流程中的活动节点信息和活动节点链接信息生成子流程,将子流程载入黑盒节点动态运行,从而实现工作流的动态扩展。
Description
技术领域
本发明涉及办公自动化技术,尤其涉及一种工作流动态扩展方法及系统。
背景技术
现代科技社会中,办公自动化系统随着计算机科学与技术的发展而产生。所谓办公自动化系统,是指实现办公室内事务性工作自动化和信息处理自动化的系统,现有办公自动化系统在现代计算机技术的支持下,通过对业务流程的抽象,来规范人们在经济生活中的业务活动、约束业务操作流程,能够最大限度地优化统筹多方资源,从而达到信息充分共享、资源有效利用、工作效率大幅提升的目的。由此可见,办公自动化技术已经成为企业提升工作效率、有效优化资源利用率、提升企业竞争力的核心技术手段,同时也是企业实现现代化管理的重要标志。
办公自动化系统的核心技术为工作流管理技术,现有的工作流管理技术通常只支持业务流程的预先定义,在这种情况下,开发人员根据企业具体业务的实际流程,开发业务流程的定义,这一环节必须在运行所述办公自动化系统的业务流程实例之前完成。
发明人在实现本发明的过程中,发现现有办公自动化系统至少存在以下缺陷:
1)随着企业业务逐渐变得越来越复杂,使得很多业务子流程无法在工作流设计前期完全定义;
2)业务逻辑变化频繁,需要不断新增业务或频繁修改业务,而现有的办公自动化系统无法在系统后期维护过程中新增业务或频繁修改业务,难以实现工作流的扩展。
发明内容
有鉴于此,本发明实施例期望提供一种工作流动态扩展方法及系统,能实现工作流的动态扩展。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种工作流动态扩展方法,该方法包括:
创建工作流中的子流程的活动节点信息源对象;
接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息和活动节点链接信息;
根据所述活动节点信息构建活动节点对象,并根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程;
将所述子流程载入黑盒节点动态运行。
上述方案中,所述创建工作流中的子流程的活动节点信息源对象,包括:
获取子流程中全部活动节点的规则配置信息;
对所述规则配置信息进行解析,得到活动节点信息和活动节点链接信息;
将活动节点信息和活动节点链接信息封装为活动节点信息源对象。
上述方案中,所述方法还包括:
将全部活动节点的规则配置信息存储在drl格式或cof格式的文件中。
上述方案中,所述根据所述活动节点信息构建活动节点对象,包括:
调用活动节点构建接口,根据所述活动节点信息及所述活动节点构建接口中预设的算法依次遍历构建所述子流程中每个活动节点对应的活动节点对象。
上述方案中,所述根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,包括:
调用活动链接构建接口,根据所述活动节点链接信息及所述活动链接构建接口中预设的算法依次对所述子流程中每个活动节点对应的活动节点对象进行链接生成所述子流程。
根据上述方法,本发明实施例还提供了一种工作流动态扩展系统,该系统包括:规则配置模块、调度管理模块、活动节点构建模块、活动链接构建模块、系统扩展模块;其中,
所述规则配置模块,用于创建工作流中的子流程的活动节点信息源对象;
所述调度管理模块,用于接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息及活动节点链接信息;将所述活动节点信息发送给所述活动节点构建模块,并将所述活动节点链接信息发送给所述活动链接构建模块;接收到所述活动链接构建模块发来的子流程时,将所述子流程发送给所述系统扩展模块。
所述活动节点构建模块,用于在接收到所述活动节点信息时,根据所述活动节点信息构建活动节点对象;
所述活动链接构建模块,用于在接收到所述活动节点链接信息时,根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,将所述子流程返回给所述调度管理模块;
所述系统扩展模块,用于将接收到的子流程载入黑盒节点动态运行。
上述方案中,所述规则配置模块具体用于:
获取子流程中全部活动节点的规则配置信息;
对所述规则配置信息进行解析,得到活动节点信息和活动节点链接信息;
将活动节点信息和活动节点链接信息封装为活动节点信息源对象。
上述方案中,所述规则配置模块还用于:
将全部活动节点的规则配置信息存储在drl格式或cof格式的文件中。
上述方案中,所述活动节点构建模块具体用于:
接收到所述活动节点信息时,调用活动节点构建接口;
根据所述活动节点信息及所述活动节点构建接口中预设的算法依次遍历构建所述子流程中每个活动节点对应的活动节点对象。
上述方案中,所述活动链接构建模块具体用于:
接收到所述活动节点链接信息时,调用活动链接构建接口;
根据所述活动节点链接信息及所述活动链接构建接口中预设的算法依次对所述子流程中每个活动节点对应的活动节点对象进行链接生成所述子流程。
本发明实施例所提供的工作流动态扩展方法及系统,创建工作流的子流程的活动节点信息源对象;接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息和活动节点链接信息;根据所述活动节点信息构建活动节点对象,并根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,将所述子流程载入黑盒节点动态运行。如此,本发明实施例对工作流中暂时无法实现的子流程或频繁变化的子流程,可以先采用黑盒节点占位,然后对所述子流程的逻辑进行抽象,配置所述子流程中全部活动节点的规则配置信息;在所述办公自动化系统运行时,能够根据具体的上下文环境及所述规则配置信息生成子流程,将子流程载入黑盒节点动态运行,从而实现工作流的动态扩展。
并且,在办公自动化系统后期的维护过程中,可以根据实际需求添加或修改所述drl格式或cof格式的文件中的规则配置信息,以支持办公自动化系统后期的扩展及维护,从而提高办公自动化系统的开发效率,并降低开发的风险及维护成本。
附图说明
图1为本发明实施例工作流动态扩展系统的结构示意图;
图2为本发明实施例工作流动态扩展方法实现流程示意图;
图3为本发明实施例办公自动化系统的结构示意图。
具体实施方式
在本发明实施例中,创建工作流的子流程的活动节点信息源对象;接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息及活动节点链接信息;根据所述活动节点信息构建活动节点对象,并根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,将所述子流程载入黑盒节点动态运行。
下面结合附图对本发明的具体实施方式进行说明。
图1为本发明实施例中提供的工作流动态扩展系统的结构示意图,如图1所示,该工作流动态扩展系统包括:规则配置模块100、调度管理模块101、活动节点构建模块102、活动链接构建模块103、系统扩展模块104;由调度管理模块101负责对所述工作流动态扩展系统中的其他功能模块进行统一管理和调度;其中,
所述规则配置模块100,用于创建工作流中子流程的活动节点信息源对象;
其中,工作流中包括多个针对业务的子流程,每个子流程中包括多个活动节点;活动节点类型可以是脚本节点、任务节点等类型。
这里,所述活动节点信息源对象包括活动节点信息和活动节点链接信息;
所述调度管理模块101,用于在接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息及活动节点链接信息,将所述活动节点信息发送给所述活动节点构建模块102,并将所述活动节点链接信息发送给所述活动链接构建模块103;还用于将接收到的所述活动链接构建模块103发来的子流程发送给所述系统扩展模块104;
这里,所述调度管理模块101从所述规则配置模块100获取所述活动节点信息源对象中包括的活动节点信息及活动节点链接信息;
所述活动节点构建模块102,用于在接收到所述活动节点信息时,根据所述活动节点信息构建活动节点对象;
所述活动链接构建模块103,用于在接收到所述活动节点链接信息时,根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,将所述子流程返回给所述调度管理模块101;
所述系统扩展模块104,用于将接收到的子流程载入黑盒节点动态运行。
这里,开发办公自动化系统的技术人员从工作流的基础需求出发,根据所述工作流中的业务逻辑设置所述工作流的主框架,所述工作流中包括多个针对业务的子流程;对暂时无法实现的子流程或频繁变动的子流程,可以先采用黑盒节点在工作流中充当子流程进行占位,以延迟暂时无法实现的或频繁变动的子流程设置的实施时机;
这里,如果有多个暂时无法实现的子流程或频繁变动的子流程,可采用多个黑盒节点在工作流中分别进行占位;其中,一个用于占位的黑盒节点对应一个暂时无法实现的子流程或频繁变动的子流程。
然后,对所述子流程按照具体的业务逻辑进行抽象,通过分析子流程所需的节点集合,以及各个节点之间的关系,例如,第一节点是第二节点的前驱节点,或第一节点与第二节点并发,从而归纳出所述子流程必须遵守的约束条件,然后按照该工作流动态扩展系统定义的格式编写所述子流程中全部活动节点的规则配置信息,该规则配置信息包括所述子流程中全部活动节点的活动节点信息和活动节点间的链接信息,并将所述规则配置信息存储在drl格式或cof格式的文件中,载入到所述工作流动态扩展系统中;
在具体工作流实例运行时,所述工作流动态扩展系统根据所述工作流实例具体的上下文环境及所述子流程的规则配置信息生成子流程,并将所述子流程载入黑盒节点动态运行,从而实现工作流的动态扩展。
进一步的,在办公自动化系统后期的维护过程中,可以根据实际需求添加或修改所述drl格式或cof格式的文件中的规则配置信息,以支持办公自动化系统后期的扩展及维护,从而提高办公自动化系统的开发效率,并降低开发的风险及维护成本。
基于上述工作流动态扩展系统的架构,本发明实施例提供工作流动态扩展的过程具体实现如下所述:
首先,规则配置模块100获取子流程中全部活动节点的规则配置信息;对所述规则配置信息进行解析,得到活动节点信息和活动节点链接信息;将活动节点信息和活动节点链接信息封装为活动节点信息源对象;
在调度管理模块101接收到子流程生成指示时,获取所述活动节点信息源对象中的活动节点信息及活动节点链接信息;将所述活动节点信息发送给活动节点构建模块102,并将所述活动节点链接信息发送给活动链接构建模块103;
活动节点构建模块102接收到所述活动节点信息时,调用活动节点构建接口;根据所述活动节点信息及所述活动节点构建接口中预设的createNode算法依次遍历构建活动节点对象;
这里,根据所述活动节点信息及所述活动节点构建接口中预设的createNode算法,创建活动节点对象并将活动节点对象封装到dynamicActivity类中,createNode算法如下:
createNode-Function(dynamicActivity,properties)
getId from properties;//从活动节点信息properties中读取node节点id
getNodeName from properties;//从properties读取node节点名称
getNodeType from properties;//从properties读取node节点类型
if Type is“SCRIPT”//判断节点类型如果是脚本节点
getDialect from properties;//从properties读取方言类型
getCode from properties;//从properties读取脚本代码
new ScriptNode();//创建脚本节点实例
setId;//为脚本节点实例设置节点id
if dialect is“JAVA”//如果脚本节点的方言是JAVA类型
setDialect(ScriptNode.DialectType.JAVA);//设置脚本节点方言
elseif dialect is“MAVL”//如果脚本节点类型的方言是MAVL类型
setDialect(ScriptNode.DialectType.MAVL);//设置脚本节点方言else//否则异常
throw RuntimeException;
setNodeName;//设置脚本节点名称
setNodeType(Node.NodeType.SCRIPT);//设置节点类型为SCRIPT
setCode;//保存脚本节点中的代码
dynamicActivity.add(thisNode);//将新创建节点加入dynamicActivityelseif Type is“TASK”//判断节点类型如果是任务节点
getActorId from properties;//从properties读取任务执行者id
getTaskName from peroperties;//从properties读取任务节点名称
new TaskNode();//创建新的任务节点实例
setId;//为新创建的任务节点实例设置id
setName;//设置任务节点名称属性
setNodeType(Node.NodeType.TASK);//设置节点类型为任务节点
setActorId;//设置任务执行者id
setTaskName;//设置任务节点中的任务名称
dynamicActivity.add(thisNode);//将新创建节点加入dynamicActivityelse//否则异常
throw RuntimeException
活动链接构建模块103接收到所述活动节点链接信息时,调用活动链接构建接口;根据所述活动节点链接信息及所述活动链接构建接口中预设的createLink算法依次对所述活动节点对象进行链接得到所述子流程,将所述子流程返回给所述调度管理模块101;
createLink算法如下:
createLink-Function(dynamicActivity,properties)
getType from properties;//从properties读取link类型
getFromId from properties;//从properties读取连入id
if Type is“STRAIGHT”//判断如果link类型为STRAIGHT
getToId from properties;//从properties读取连出id
new Link();//创建link实例
setType(Link.LinkType.STRAIGHT);//设置实例类型为普通类型
setFromId;//为新创建的link实例设置连入id
setToId;//设置连出id
if have constraint//判断如果该link包含约束条件
getConstraint from properties;//从properties读取约束条件
setConstraint;//为link实例设置约束条件
dynamicActivity.add(this.Link);//将新创建链接加入dynamicActivityelseif Type is“CIRCLE”//判断如果link类型为循环跳出类型
new Link();//创建link实例
setType(Link.LinkType.CIRCLE);//设置link类型为CIRCLE
setFromId;//设置CIRCLE链接的位置id
dynamicActivity.add(this.Link);//将新创建链接加入dynamicActivityelse//否则异常
throw RuntimeException;
所述调度管理模块101将接收到的子流程发送给所述系统扩展模块104;
最终,由系统扩展模块104将接收到的子流程载入黑盒节点动态运行,从而实现工作流的动态扩展。
为了描述的方便,以上所述系统的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
在实际应用中,当所述规则配置模块100、调度管理模块101、活动节点构建模块102、活动链接构建模块103、系统扩展模块104集成于一个硬件设备中时,所述规则配置模块100、调度管理模块101、活动节点构建模块102、活动链接构建模块103、系统扩展模块104可由位于工作流动态扩展系统中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。其中,工作流动态扩展系统可由服务器实现。
基于以上工作流动态扩展系统的架构,本发明实施例提出了一种工作流动态扩展方法,如图2所示,本发明实施例工作流动态扩展方法包括:
步骤S200:创建工作流中子流程的活动节点信息源对象;
这里,所述工作流中包括多个针对业务的子流程,每个子流程中包括多个活动节点;所述活动节点信息源对象包括活动节点信息和活动节点链接信息;
本步骤可由工作流动态扩展系统中的规则配置模块100实现;
本步骤中,所述创建的过程包括:首先获取所述子流程中全部活动节点的规则配置信息,然后对所述规则配置信息进行解析,通常包括活动节点的解析及活动节点链接关系的解析,得到活动节点信息和活动节点链接信息,最终将活动节点信息和活动节点链接信息封装为节点信息源对象;
其中,所述规则配置信息存储在drl格式或cof格式的文件中,所述drl格式或cof格式的文件均可以采用任意一种文本编辑软件打开进行添加内容或修改内容;这样,能够方便用户对项目后期的扩展及维护,从而降低所述工作流动态扩展系统的维护成本。
步骤S201:接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息及活动节点链接信息。
本步骤可由工作流动态扩展系统中的调度管理模块101实现。
本步骤中,调度管理模块101接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息及活动节点链接信息,然后将所述活动节点信息发送给所述活动节点构建模块102,并将所述活动节点链接信息发送给所述活动链接构建模块103。
本步骤中,在具体的工作流实例运行时,根据具体工作流实例的具体上下文环境,向所述工作流动态扩展系统中的调度管理模块发送子流程生成指示。
步骤S202:根据所述活动节点信息确定活动节点对象。
本步骤可由工作流动态扩展系统中的活动节点构建模块102实现。
本步骤中,所述活动节点构建模块102接收到活动节点信息时,调用活动节点构建接口;然后根据所述活动节点信息及所述活动节点构建接口中预设的算法依次遍历构建所述子流程中每个活动节点对应的活动节点对象。
步骤S203:根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,将所述子流程载入黑盒节点动态运行。
本步骤可由工作流动态扩展系统中的调度管理模块101、活动链接构建模块103及系统扩展模块104配合实现。
本步骤中,所述活动链接构建模块103接收到所述活动节点链接信息时,调用活动链接构建接口;根据所述活动节点链接信息及所述活动链接构建接口中预设的算法依次对所述子流程中每个活动节点对应的活动节点对象进行链接生成所述子流程,从而完成子流程的设置;
之后,将所述子流程返回给所述调度管理模块101,由所述调度管理模块101将所述子流程发送给所述系统扩展模块104,由所述系统扩展模块104将所述子流程载入黑盒节点动态运行。
优选的,所述调度管理模块101对生成的子流程进行正确性验证,验证通过后将所述子流程发送给所述系统扩展模块104,以确定生成的子流程的完整、正确及有效性。
本发明的上述实施例中,创建所述工作流的子流程的活动节点信息源对象,所述活动节点信息源对象包括活动节点信息和活动节点链接信息;接收到所述子流程生成指示时,获取所述活动节点信息源对象中的活动节点信息及活动节点链接信息;根据所述活动节点信息构建活动节点对象;根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,将所述子流程载入黑盒节点动态运行,从而实现工作流的动态扩展。
进一步的,在办公自动化系统后期的维护过程中,可以根据实际需求添加或修改所述drl格式或cof格式的文件中的规则配置信息,以支持办公自动化系统后期的扩展及维护,从而提高办公自动化系统的开发效率,并降低开发的风险及维护成本。
在实际应用中,在开发的办公自动化系统中,可以将所述工作流动态扩展系统作为功能模块以外挂形式集成到业务流程管理组件jBPM5开源的工作流引擎中,以实现工作流的动态扩展,如图3所示。
在开发的办公自动化系统中,以抽象的模型将所述办公自动化系统依次划分为:应用逻辑层300、jBPM5核心引擎层301、工作流动态扩展层302、数据库层303四个层次;其中,
所述应用逻辑层300,通常涉及所述办公自动化系统的具体业务方面,并不涉及下层的实现;所述应用逻辑层300操作的数据均由所述数据库层提供,这样的设计结构符合高内聚低耦合的设计规范,可使技术人员能够专注于业务流程的实现,而无需关注底层基础。由于层与层之间互相隔离,通过接口进行通信,因此,所述办公自动化系统完成后无论是业务逻辑发生变化,还是基础设施发生变化,由于接口保持稳定,则各层之间不会相互影响,从而能增加办公自动化系统应变的灵活性。
jBPM5核心引擎层301,是所述办公自动化系统运行的基础,为基于工作流的项目的运行提供了运行时的基础环境,将对业务流程的管理,例如整个生命周期的各种调度等,都封装在所述jBPM5核心引擎层301中,与上层的应用逻辑层300相互隔离,相当于在应用逻辑层300与具体的业务流程实现之间增加了一个代理。这样,有利于编程代码的复用,从而提升所述办公自动化系统的开发效率。
工作流动态扩展层302,由本发明实施例中的工作流动态扩展系统实现,该工作流动态扩展系统作为功能模块,以外挂形式集成于jBPM5核心引擎层301的开源引擎中,为所述jBPM5的开源引擎提供了动态特性方面的扩展;
工作流动态扩展层302是基于规则配置信息的,因此,在所述工作流动态扩展层302中引入了规则引擎,用于在业务流程执行过程中,对工作空间中的fact对象进行过滤,为所述工作流动态扩展层302提供规则配置信息源数据;其中,所述fact对象用于实现规则引擎与规则配置信息源数据的交互。
数据库层303,用于存储底层的原始数据,并为上层提供原始数据,上层通过开放的接口操纵底层的数据库获取所述办公自动化系统的原始数据。
本发明的上述实施例中,所述工作流动态扩展系统作为功能模块,以外挂形式集成于所述jBPM5的开源工作流引擎中,为所述jBPM5的开源引擎提供了动态特性方面的扩展。
从办公自动化系统开发人员的视角来看,工作流动态扩展层为传统的办公自动化系统提供足够的灵活性,通过所述工作流动态扩展层,开发人员从工作流的基础需求出发,根据工作流中的业务逻辑设置所述工作流的主框架,对暂时无法实现的子流程或频繁变动的子流程,可以先采用黑盒节点进行占位,然后对所述子流程的逻辑进行抽象,归纳出所述子流程必须遵守的约束条件,编写所述子流程的全部活动节点的规则配置信息;这样,能够推延子流程设置的实施时机。
从所述jBPM5核心引擎层的视角来看,由于工作流动态扩展层作为一个外挂功能模块,其功能相对独立,因此,不仅不干扰原有的办公自动化系统,还能与原有办公自动化系统进行无缝集成,通过所述工作流动态扩展层既能向前兼容原有的办公自动化系统,又能为原有办公自动化系统提供扩展。
在实际应用中,规则配置模块100先获取子流程中全部活动节点的规则配置信息,所述规则配置信息存储在drl格式或cof格式的文件中,然后按照所述规则配置信息的条目进行逐步解析,通常包括活动节点的解析及活动节点链接关系的解析,得到活动节点信息和活动节点链接信息,分别存放在活动节点map容器和连接信息map容器中,最终将活动节点信息和活动节点链接信息封装为活动节点信息源对象DynamicActivity,关键的解析代码如下:
DynamicActivity readCof(){
for(conf:confs){
/**
按照条目逐步解析
**/
CreateActivityByStep(da,conf);
}
Return da;
}
CreateActivityByStep(DynamicActivity da,String conf){
if(配置条目为node){
createNode(da,conf);
}else if(配置条目为link){
createLink(da,conf);
}
}
本发明的上述实施例中,按照所述规则配置信息的条目进行逐步解析,得到活动节点信息和活动节点链接信息,将活动节点信息和活动节点链接信息封装为活动节点信息源对象,这样,对解析结果基于面向对象的封装后,便于本发明实施例的工作流动态扩展系统的编程实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种工作流动态扩展方法,其特征在于,所述方法包括:
创建工作流中的子流程的活动节点信息源对象;
接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息和活动节点链接信息;
根据所述活动节点信息构建活动节点对象,并根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程;
将所述子流程载入黑盒节点动态运行。
2.根据权利要求1所述的方法,其特征在于,所述创建工作流中的子流程的活动节点信息源对象,包括:
获取子流程中全部活动节点的规则配置信息;
对所述规则配置信息进行解析,得到活动节点信息和活动节点链接信息;
将活动节点信息和活动节点链接信息封装为活动节点信息源对象。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将全部活动节点的规则配置信息存储在drl格式或cof格式的文件中。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述活动节点信息构建活动节点对象,包括:
调用活动节点构建接口,根据所述活动节点信息及所述活动节点构建接口中预设的算法依次遍历构建所述子流程中每个活动节点对应的活动节点对象。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,包括:
调用活动链接构建接口,根据所述活动节点链接信息及所述活动链接构建接口中预设的算法依次对所述子流程中每个活动节点对应的活动节点对象进行链接生成所述子流程。
6.一种工作流动态扩展系统,其特征在于,所述系统包括:规则配置模块、调度管理模块、活动节点构建模块、活动链接构建模块、系统扩展模块;其中,
所述规则配置模块,用于创建工作流中的子流程的活动节点信息源对象;
所述调度管理模块,用于接收到子流程生成指示时,获取所述活动节点信息源对象中包括的活动节点信息及活动节点链接信息;将所述活动节点信息发送给所述活动节点构建模块,并将所述活动节点链接信息发送给所述活动链接构建模块;接收到所述活动链接构建模块发来的子流程时,将所述子流程发送给所述系统扩展模块;
所述活动节点构建模块,用于在接收到所述活动节点信息时,根据所述活动节点信息构建活动节点对象;
所述活动链接构建模块,用于在接收到所述活动节点链接信息时,根据所述活动节点链接信息对所述活动节点对象进行链接生成所述子流程,将所述子流程返回给所述调度管理模块;
所述系统扩展模块,用于将接收到的子流程载入黑盒节点动态运行。
7.根据权利要求6所述的系统,其特征在于,所述规则配置模块具体用于:
获取子流程中全部活动节点的规则配置信息;
对所述规则配置信息进行解析,得到活动节点信息和活动节点链接信息;
将活动节点信息和活动节点链接信息封装为活动节点信息源对象。
8.根据权利要求7所述的系统,其特征在于,所述规则配置模块还用于:
将全部活动节点的规则配置信息存储在drl格式或cof格式的文件中。
9.根据权利要求6所述的系统,其特征在于,所述活动节点构建模块具体用于:
接收到所述活动节点信息时,调用活动节点构建接口;
根据所述活动节点信息及所述活动节点构建接口中预设的算法依次遍历构建所述子流程中每个活动节点对应的活动节点对象。
10.根据权利要求6所述的系统,其特征在于,所述活动链接构建模块具体用于:
接收到所述活动节点链接信息时,调用活动链接构建接口;
根据所述活动节点链接信息及所述活动链接构建接口中预设的算法依次对所述子流程中每个活动节点对应的活动节点对象进行链接生成所述子流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410190954.3A CN103971225A (zh) | 2014-05-07 | 2014-05-07 | 一种工作流动态扩展方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410190954.3A CN103971225A (zh) | 2014-05-07 | 2014-05-07 | 一种工作流动态扩展方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103971225A true CN103971225A (zh) | 2014-08-06 |
Family
ID=51240688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410190954.3A Pending CN103971225A (zh) | 2014-05-07 | 2014-05-07 | 一种工作流动态扩展方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103971225A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016195687A1 (en) * | 2015-06-04 | 2016-12-08 | Siemens Aktiengesellschaft | Method and system for dynamically extendable disciplines in a multidisciplinary engineering system |
WO2016195688A1 (en) * | 2015-06-04 | 2016-12-08 | Siemens Aktiengesellschaft | Method and system for clustering engineering data in a multidisciplinary engineering system |
CN107767008A (zh) * | 2017-03-03 | 2018-03-06 | 平安医疗健康管理股份有限公司 | 流程配置方法及装置 |
CN111754203A (zh) * | 2020-06-30 | 2020-10-09 | 武汉虹信技术服务有限责任公司 | 一种基于工作流的任务候选人处理方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120352A1 (en) * | 2003-11-28 | 2005-06-02 | Sun Microsystems, Inc. | Meta directory server providing users the ability to customize work-flows |
CN101571801A (zh) * | 2008-04-28 | 2009-11-04 | 鸿富锦精密工业(深圳)有限公司 | 业务扩展系统及方法 |
CN103761111A (zh) * | 2014-02-19 | 2014-04-30 | 中国科学院软件研究所 | 一种基于bpel语言构建数据密集型工作流引擎的方法及其系统 |
-
2014
- 2014-05-07 CN CN201410190954.3A patent/CN103971225A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120352A1 (en) * | 2003-11-28 | 2005-06-02 | Sun Microsystems, Inc. | Meta directory server providing users the ability to customize work-flows |
CN101571801A (zh) * | 2008-04-28 | 2009-11-04 | 鸿富锦精密工业(深圳)有限公司 | 业务扩展系统及方法 |
CN103761111A (zh) * | 2014-02-19 | 2014-04-30 | 中国科学院软件研究所 | 一种基于bpel语言构建数据密集型工作流引擎的方法及其系统 |
Non-Patent Citations (1)
Title |
---|
王鹏杰 等: ""基于规则的流程动态适配"", 《中国科技论文在线》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016195687A1 (en) * | 2015-06-04 | 2016-12-08 | Siemens Aktiengesellschaft | Method and system for dynamically extendable disciplines in a multidisciplinary engineering system |
WO2016195688A1 (en) * | 2015-06-04 | 2016-12-08 | Siemens Aktiengesellschaft | Method and system for clustering engineering data in a multidisciplinary engineering system |
CN107767008A (zh) * | 2017-03-03 | 2018-03-06 | 平安医疗健康管理股份有限公司 | 流程配置方法及装置 |
CN111754203A (zh) * | 2020-06-30 | 2020-10-09 | 武汉虹信技术服务有限责任公司 | 一种基于工作流的任务候选人处理方法、系统及存储介质 |
CN111754203B (zh) * | 2020-06-30 | 2023-02-28 | 武汉虹信技术服务有限责任公司 | 一种基于工作流的任务候选人处理方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022160707A1 (zh) | 结合rpa和ai的人机互动方法、装置、存储介质及电子设备 | |
US9501267B2 (en) | Generating a service component architecture (SCA) module with service oriented architecture (SOA) model elements | |
JP6045134B2 (ja) | アプリケーション性能試験のための並列作業負荷シミュレーション | |
CN103744647B (zh) | 一种基于工作流可视化开发工具的Java工作流开发系统及其方法 | |
CN114327861B (zh) | 执行eda任务的方法、装置、系统和存储介质 | |
CN102375743B (zh) | 一种基于模型和模板开发soa系统的方法 | |
CN102054224A (zh) | 基于soa的服装企业协同管理系统开发方法及系统 | |
CN103971225A (zh) | 一种工作流动态扩展方法及系统 | |
CN112948110B (zh) | 云应用的拓扑与编排系统、方法、存储介质及电子设备 | |
CN106600226B (zh) | 用于优化流程管理系统的方法及装置 | |
CN102034173A (zh) | 基于soa的模具信息协同管理系统开发方法及系统 | |
CN106484452B (zh) | 一种软件平台的统一配置管理方法和装置 | |
CN115860451A (zh) | 一种流程运行方法、装置、电子设备及存储介质 | |
CN109840074A (zh) | 一种业务生成方法、装置及网络设备 | |
Ulrich et al. | The ETSI test description language TDL and its application | |
US20100122258A1 (en) | Versioning and effectivity dates for orchestration business process design | |
CN112579049A (zh) | 基于云平台的定制软件产品化管理方法及装置 | |
CN112884455A (zh) | 任务计划处理系统、方法和装置 | |
CN102087595A (zh) | 基于soa的专利代理协同管理系统开发方法及系统 | |
CN103995699A (zh) | 基于mda的电力企业信息系统开发方法 | |
CN110969414A (zh) | 一种基于Java的跨平台工作流实现方法及系统 | |
JP2010049439A (ja) | ソフトウェアモデルを用いたシステム構築方法およびモデリング装置 | |
CN114185557A (zh) | 软件产品部署方法、装置、介质及电子设备 | |
Dumez et al. | Model-driven engineering of composite web services using uml-s | |
CN102136097A (zh) | 基于soa的服装企业协同管理系统开发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140806 |