文档章节

activiti工作流引擎(一)why activiti

fengwenjie
 fengwenjie
发布于 2014/03/01 21:15
字数 682
阅读 5712
收藏 2

公司早前花了一年,由5人左右规模的团队,弄了一个工作流为基础的平台系统,基于jbpm4实现。

最近我接手了这个项目组,开始在想升级优化的事情,刚开始想着从业务通用化的角度去改造。但看着看着,发现不对劲,现有这个系统有很多东西没做好,尤其在工作流引擎这块,有着各种各样的问题。考量再三,找到了activiti,决定升级工作流引擎。

*首先,现在的系统到底有什么问题?*简单梳理了一下:

  1. 流程维护成本高,简单修改一个节点名称却要修改代码,重新编译部署
  2. 流程定制开发成本高,所有节点逻辑混合在几个方法中,产生大量if,而且定制修改后产生bug的风险非常高
  3. 流程版本共存/过渡机制几乎没有,只能等待线上的旧版本运行结束,或暴力删除旧版本流程
  4. 流程只能由开发人员在开发平台上完成设计,不能直接交给业务人员定制

那activiti可以解决吗?

  1. activiti-5 使用bpmn2代替jbpl,终于分离ID和name属性。
  2. activiti-5 分离ID和name属性后,可以通过IoC根据ID注入处理类,即隔离了节点之间的逻辑,便于实施开发和维护。
  3. activiti-5 原生支持流程版本,能更好处理多版本流程共存过渡的问题。
  4. activiti-5 提供了基于Web的流程设计器,可以由业务人员在web界面上直接设计流程,然后由开发人员整理部署,并实现业务逻辑。

另外,说个小故事:话说当年jbpm是由供职于JBOSS公司的一名叫Mike的程序员主创的,经历了4代后,Mike和JBOSS在关于jbpm5的思路上有了重大分歧,于是他离职去了alfresco,并在jbpm4基础上上弄了一个activit5的轻量级工作流引擎,而JBOSS则从一家收购的工作流引擎公司带来的产品修改成jbpm5。因此,某种意义上讲,activit5才是真正的jbpm5。

选activit5的一个原因,就是因为它更贴近jbpm4,有延续性,更换成本更低,同时它又确实能解决上述几个问题。

为什么不考虑jbpm5或者6呢,最主要的问题不是替换成本,而是,他们绑定了JBOSS自家的App Server。这个实在太讨厌,我们只是想做一个轻量级的跑在tomcat上的系统,所以……

© 著作权归作者所有

fengwenjie
粉丝 6
博文 24
码字总数 20311
作品 0
白云
私信 提问
加载中

评论(1)

ccflow周朋
ccflow周朋
写的不错。
十分钟认识Activiti6.0工作流引擎

概述 了解Activiti 假如你还不知道Activiti是什么,那么工作流引擎对你来说一定也是新的,解决Activiti和工作流知识盲点,所以看到到这里就对了,还有Android同学会误以为是“Activity”,工...

JimmyNo1
2018/06/13
0
0
疯狂Activiti6.0连载(12)DMN规范概述

本文节选自《疯狂工作流讲义(第2版)》 京东购买地址:https://item.jd.com/12246565.html 疯狂Activiti电子书:https://my.oschina.net/JavaLaw/blog/1570397 工作流Activiti教学视频:htt...

杨大仙的程序空间
2017/10/27
1K
0
OSC第 61期高手问答 — Activiti实战

OSCHINA 本期高手问答( 1月 23 日- 1月 29日)我们请来了 @咖啡兔 (闫洪磊)为大家解答关于Activiti方面的问题。 闫洪磊 @咖啡兔  资深软件开发工程师和架构师,为Activiti贡献了大量代码,...

阿娇OSC
2015/01/23
13.5K
51
Activiti用户任务分配

一、前言 上篇博文《浅谈Activiti工作流引擎用户管理》中已介绍了如何自定义自己的用户管理模块。然而困恼大多数新手的另一个问题:如何将任务分配给有层级关系的组织结构用户呢?例如,我只...

qllinhongyu
2015/05/30
0
0
Activiti工作流引擎初学教程

http://wenku.baidu.com/view/bb7364ad4693daef5ff73d32.html 1. 初识Activiti 1.1. 工作流与工作流引擎 工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起...

孟飞阳
2016/07/31
2.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

搭建高可用MongoDB集群(分片)

搭建高可用MongoDB集群(分片) MongoDB基础请参考:https://blog.51cto.com/kaliarch/2044423 MongoDB(replica set)请参考:https://blog.51cto.com/kaliarch/2044618 一、概述 1.1 背景 ......

linjin200
6分钟前
1
0
CDH6.0.1集成tez-0.9.1计算引擎

参考文章: https://www.jianshu.com/p/9fb9f32e1f0f https://www.baidu.com/link?url=OgpwasnZi7H1dySN2T111sseEWDBaCCTC3DFV61G7756YbrkJCA8Y3UFaueyqnfN&wd=&eqid=daeb8b3500049cf3000000......

Sheav
8分钟前
1
0
Vue内置指令的使用

v-model(数据绑定) v-model常用于表单数据的双向绑定,它本质上是一个语法糖。它主要的有两种应用: 在文本框、多行文本、input的下拉框、单选按钮、复选框中的应用 <div id="app"> ...

凌兮洛
8分钟前
1
0
外部来源应用检查-烦死了,终于找到解决设置了

Android 连接usb调试应用的时候: 华为关闭方法:1、设置-安全-更多安全设置,关掉外部来源应用检查。2、设置-系统-开发人员选项-关闭“监控ADB安装应用” 不知道OPPO 怎么关闭的?...

QGlaunch
9分钟前
2
0
6个K8s日志系统建设中的典型问题,你遇到过几个?

作者 | 元乙 阿里云日志服务数据采集客户端负责人,目前采集客户端 logtail 在集团百万规模部署,每天采集上万应用数 PB 数据,经历多次双 11、双 12 考验。 导读:随着 K8s 不断更新迭代,使...

阿里云官方博客
11分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部