现在的很多传统企业转型互联网,最多的“转型”工作之一,就是公司的流程审批模块,如何进行线上运行,实现降本增效。 —— 23号老板
0
1
引入
现在的很多传统企业转型互联网,最多的“转型”工作之一,就是公司的流程审批模块,如何进行线上操作。最常见的场景,比如请假审批、报表审批、财务审批、人员招聘等等。
以招聘为例:
传统的实现,可能会考虑使用一种行为设计模式:责任链模式。这种方式针对于不同的业务,相对于开发效率而言,较为繁琐费时。当然不是说不可以,有时间和能力的团队,一般也会采取这种方式。
区别优劣,在这里不做展开。为了节省开发成本,也有相当一部分的人会使用现有的开源框架进行便捷开发。关于审批流程这样的应用场景开发,Activity工作流引擎可作为一种不错的选择。
0
2
理解、使用
什么是工作流引擎?
工作流引擎最常见用于审批流程中,现在一线互联网公司也开始使用,并有快速推广的趋势,复杂繁多的业务流程如果采用if else实现那将是崩溃的,代码不可维护,业务流程在代码中可读性很差,所以高人设计了业务流程模型图示BPMN2.0,我们要做到就是把业务场景抽象为标准流程图,把流程图丢到流程引擎中按流程定义约定逐步流转,很显然扩展性和业务可描述性会好很多,所以工作流引擎主要用于解决复杂的业务,目前经常被提起的中台系统抽象业务为服务,也涉及大量智能的业务流程引擎做支撑。
开发工具:IDEA
1、安装plugin(actiBPM)
2、创建流程图bpmn
3、编写过程
编写过程较为简单易懂,采取拖拉拽+填表的方式即可。
其它类似,最后在添加一个End 结束即可。然后将各个按钮进行连线。(将鼠标放到每个按钮的“正中心”,然后拖着到想要链接的另外一个按钮即可,出现线条)
4、连接数据库
略,spring、springboot的方式都可以进行。如果对这一块不太清楚的童鞋,可以加我询问,或上网自行查阅。
5、表
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。
0
3
未完待续
......
题外分享【讲座】:
主题:【赢在区块链社区】第15期区块链深度研讨沙龙——2019年数字经济体系下钱包的竞争格局与机遇
时间:2019年2月28日 14:00 ~ 2019年2月28日 18:00
地点:北京海淀上地嘉华大厦A座1103(限额40人)
费用:20元/人(免费券已经没了)
主题:
钱包的竞争格局与机遇
1、区块链钱包基础技术
2、钱包的安全技术
3、钱包行业的发展方向和机遇
4、数字经济领域的展望及流量变现的方式
主办方:
【赢在区块链社区】(英文名称:Winner Block)是一个由区块链行业从业人员组成的商务型社区,按照自组织分布式(DAO)原则设立组织形式,通过社区内部孵化的商业项目,整合社区内会员各自资源和信息,通过交换和参与的行为来分享项目所带来的商业收益,最大程度的实现个人资源价值和能力价值的变现。