写一个简单的工作流,基于petri网

简介:

写一个简单的工作流一直停留在我的“计划”中,最近趁改造绩效系统的机会,决定自己写一个基于petri网原理的工作流来改写绩效考核流程部分。基于petri网的工作流的基本算法,就是当每一个firing发生后,应当遍历整个流程重新改变transition的enable,那么当资源驱动某个transition其实就是将它的输入place中的token转移到输出place。大概的接口类似:

WorkFlowManager wm = new BasicWorkflowManager(this.workFlowDAO);
Token token1 = wm.startWorkFlow(0); //为流程0新启动一个案例
wm.doAction(token1,resource,args);  //传入资源和参数以驱动firing

今天完成了顺序路由和并行路由的实现,选择和循环也准备加入。暂时只实现了内存存储案例数据和流程数据,显然,应当实现一个数据库版本,慢慢来吧。

文章转自庄周梦蝶  ,原文发布时间2007-10-10

目录
相关文章
|
8月前
|
人工智能 JavaScript Java
平台组成-工作流
平台最早选型工作流引擎几乎没有任何犹豫的选择了JBPM6
|
8月前
工作流介绍
工作流介绍
|
Kubernetes Java Docker
工作流 workflow
工作流:就是一个可以处理复杂情况的状态机。
377 0
|
Serverless
函数工作流
函数工作流自制脑图
162 0
函数工作流
snakerflow工作流实践分享
snakerflow工作流实践分享
286 0
powerjob配置工作流
powerjob工作流内配置依赖关系及判断节点
1081 0
powerjob配置工作流
|
存储 弹性计算 监控
浅析数据工作流Prefect
简述 Prefect 是一种新的工作流管理系统,专为现代基础设施而设计,由开源的 Prefect Core 工作流引擎提供支持。 用户只需将任务组织成流程,Prefect 负责其余的工作,可让您非常容易使用数据工作流并添加重试、日志记录、动态映射、缓存、失败通知等语义。
|
运维 Shell 调度