工作流介绍

流程图--》编程能力

Activiti是一个项目的名称,Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家 Tom Baeyens担任。

Activiti将是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的云架构。

Activiti官方主页:http://www.activiti.org/index.html
下载:http://www.activiti.org/download.html
用户指南:http://activiti.org/userguide/index.html (用户指南来学习Activiti)
在线API文档: http://activiti.org/javadocs/index.html (开发的时候参阅)

什么是工作流?

以请假为例,现在好多中小公司请假流程是这样的

没有系统支撑:

员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑

采用工作流技术的公司的请假流程是这样的

员工使用账户登录系统——点击请假——上级登录系统点击允许

就这样,一个请假流程就结束了。
有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的。但是这一切的工作都会在上级点击允许后自动运行!这个些信息会自动的计入到数据库。随时支持查询,不需要再手动录入。
这就是工作流技术

Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完。

image.png

上面其实不是图片。而是用工作流画出的流程图。

工作流技术的优点
从上面的例子,很容易看出
工作流系统,实现了工作流程的自动化,提高了企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高量化考核业务处理的效率、减少浪费(时间就是金钱)。
而手工处理工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。

Java开发者会为什么要学Activity工作流
在Java领域,JBPM和Activity是两个主流的工作流系统,而Activity的出现无疑将会取代JBPM(Activity的开发者就是从Jbpm开发者出来的)。

应用场景:
1)审批环节
2)请假环节

"图"转换编程能力:
画图->xml文档-->编程解析

工作流的图如何画?
Idea插件
File - settings-plugins-Browse Repositories 搜索 actiBPM 双击搜索结果或点击Install plugin安装


image.png

安装:


image.png

或者本地安装:
image.png

重启:
image.png

重启Idea

新建项目,画工作流的流程图
新建bpmn文件:放入资源文件目录。


image.png

画图界面:


image.png

注意箭头的画法:


image.png

注意:画图的时候需要思考,一个任务分配给谁执行呢?(当前任务)
工作流画的是公司的公共流程,针对所有人。工作流是一套公共的模板流程。

本质:这个请假流程图只需要画一次,就可以给公司的所有员工使用。

image.png

这里处理任务给的具体人。后期需要使用变量的方式做成通用流程。

当我们在画图的时候会出现画图乱码的现象 我们这里给我出解决方案 。

乱码问题:
Settings—>Editor—>File Encodings utf-8
idea安装目录bin目录:idea.exe.vmoptions;idea64.exe.vmoptions,在文件末尾添加 -Dfile.encoding=UTF-8 ,然后重启idea


image.png

重启IDea

我们在启动tomcat的时候 会发现一个问题 , 我们控制台打印有乱码 这里的解决方法是:
后续使用tomcat也加入启动编码.


image.png

这个解决的是如果日志中有中文或者控制台有乱码。

你可能感兴趣的:(工作流介绍)