Workflow:自定义工作流 之 模型选择
Workflow:自定义工作流 之 模型选择
背景
毕业5年,做了4个版本的工作流框架,工作流几乎是每个企业应用开发人员必须跨过的门槛(我还没有跨过去),下面简要说一下之前的4个版本,然后重点介绍第5个版本选择的模型。
第一年
- 模型:顺序流。
- 设计器:不支持。
- 路由规则:不支持。
第二年
- 模型:WF3.5(顺序、判定)。
- 设计器:不支持。
- 路由规则:支持。
第三年
- 模型:WF4.0(顺序、判定)。
- 设计器:支持。
- 路由规则:支持。

第四年
- 模型:状态机(顺序、判定)。
- 设计器:支持。
- 路由规则:支持。

为什么我要第五个版本?
- 第一个版本太简单了,不能满足产品或项目需求。
- WF3.5已经过时了。
- WF4.0过于重量级了,我只需要支持人工审批流程。
- 经典的状态机不能支持并行节点。
第五个版本会是什么样子?
模型选择

计划支持的特性
- 会签、分流、合流、串行和条件支持。
- 动态路由规则。
- 基于WEB的流程设计器。
- 开源+无侵入性。
核心算法已经通过测试

流程设计器的原型也初步验证了

备注
今天算是个开篇,后面会详细介绍每个点的实现机制,着急看代码的朋友先去http://happy.codeplex.com/下载最新代码(直接下载代码,不要下载我上传的压缩文件)。
Workflow:自定义工作流 之 模型选择的更多相关文章
- F2工作流引擎模型
工作流引擎(Workflow Engine ) [编辑] 工作流引擎概述 工作流引擎是指workflow(工作流)作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色.分工和条件的不同决定 ...
- Dynamics 365中自定义工作流活动更新了输入输出参数后获取的方法
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复245或者20170309可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- Dynamics 365中自定义工作流活动获取的上下文分析及注意事项
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复244或者20170306可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- Dynamics 365 CE的插件/自定义工作流活动中调用Web API示例代码
微软动态CRM专家罗勇 ,回复325或者20190428可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 现在Web API越来越流行,有时候为了程序更加健壮,需要在插件 ...
- sklearn 模型选择和评估
一.模型验证方法如下: 通过交叉验证得分:model_sleection.cross_val_score(estimator,X) 对每个输入数据点产生交叉验证估计:model_selection.c ...
- Jira 自定义工作流
一.添加修改工作流 打开 设置--问题--工作流 复制一个工作流,然后进去编辑页面 添加状态 增加转换动作 切换到文本,设置跳转过程中的事件 针对Stop Progress事件,修改跳转界面(界面需先 ...
- Qt 学习之路 2(50):自定义可编辑模型
Home / Qt 学习之路 2 / Qt 学习之路 2(50):自定义可编辑模型 Qt 学习之路 2(50):自定义可编辑模型 豆子 2013年5月13日 Qt 学习之路 2 13条评论 上一章我们 ...
- Gemini.Workflow 双子工作流入门教程四:流程应用
简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:定义流程:流程应用. 流程应用: 流程图设计好后, ...
- Gemini.Workflow 双子工作流入门教程三:定义流程:流程节点、迁移条件参数配置
简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:定义流程:流程节点.迁移条件参数配置. 一.普通节 ...
随机推荐
- FTP下载帮助类
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net ...
- CSS3+HTML5特效7 - 特殊的 Loading 效果
效果如下 实现原理: 利用CSS3的@keyframes规则创建动画效果: 使用CSS3的animation效果完成滚动切换. 代码说明: 样式表中@-webkit-keyframes及@ke ...
- dojo的TabContainer添加ContentPane假设closable,怎么不闭幕后予以销毁ContentPane
其主要思想是新的TabContainer的扩展类,重载其closeChild属性,使得其在关闭子容器时.不调用该子容器的destroyRecursive方法. define([ "dojo/ ...
- 【软测试】(两)计算机组成原理-cpu
cpu,中文名称中央处理单元,central processing unit.系统的核心,用于数据的处理,算术以及逻辑运算和控制程序的运行. 组成 运算器 从字面上就能够理解到.运算器主要用来对于逻辑 ...
- android KK版本号,如何更改蓝牙设备类型
mediatek/external/bluetooth/bt_cust/bt_cust_table.h { .name = "ClassOfDevice", ...
- [SQL]死锁处理语句
原文:[SQL]死锁处理语句 引言 今天在群里看到分享的解决死锁的sql语句,就想着这东西以后肯定用的着,就下载下来,在这里记录一下,以后查找也方便. SQL SET QUOTED_IDENTIFIE ...
- 移植MonkeyRunner的图片对比和获取子图功能的实现-Appium篇
如果你的目标测试app有很多imageview组成的话,这个时候monkeyrunner的截图比较功能就体现出来了.而其他几个流行的框架如Robotium,UIAutomator以及Appium都提供 ...
- Apache启动失败,请检查相关配置。MySQL5.1已启动成功
解决办法 一: 把左下角的SSL钩上了,如果你没有用证书,就把那个去掉,有的朋友去掉就可以了.也可能再装了证书钩上SSL也可以用了. 二: 看了说的把SSL勾掉的办法,也解决不了.后来就去查卡巴,也没 ...
- uploadify.js
基于uploadify.js实现多文件上传和上传进度条的显示 uploadify是JQuery的一个插件,主要实现文件的异步上传功能,可以自定义文件大小限制.文件类型.是否自动上传等属性,可以显示上传 ...
- OpenSUSE 13.2使用VPN(PPTP)
新年开始,有时查询个资料或是下个软件包并不是那么愉快,决定使用付费VPN,他们使用的是用户名及密码的验证方式 在网上找到了一个教程,挺详尽的,如果想按照步骤能使用即可的原则,跟着我一起设置,想了解更多 ...