流程图--》编程能力
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给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完。
上面其实不是图片。而是用工作流画出的流程图。
工作流技术的优点
从上面的例子,很容易看出
工作流系统,实现了工作流程的自动化,提高了企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高量化考核业务处理的效率、减少浪费(时间就是金钱)。
而手工处理工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。
Java开发者会为什么要学Activity工作流
在Java领域,JBPM和Activity是两个主流的工作流系统,而Activity的出现无疑将会取代JBPM(Activity的开发者就是从Jbpm开发者出来的)。
应用场景:
1)审批环节
2)请假环节
"图"转换编程能力:
画图->xml文档-->编程解析
工作流的图如何画?
Idea插件
File - settings-plugins-Browse Repositories 搜索 actiBPM 双击搜索结果或点击Install plugin安装
安装:
或者本地安装:
重启:
重启Idea
新建项目,画工作流的流程图
新建bpmn文件:放入资源文件目录。
画图界面:
注意箭头的画法:
注意:画图的时候需要思考,一个任务分配给谁执行呢?(当前任务)
工作流画的是公司的公共流程,针对所有人。工作流是一套公共的模板流程。
本质:这个请假流程图只需要画一次,就可以给公司的所有员工使用。
这里处理任务给的具体人。后期需要使用变量的方式做成通用流程。
当我们在画图的时候会出现画图乱码的现象 我们这里给我出解决方案 。
乱码问题:
Settings—>Editor—>File Encodings utf-8
idea安装目录bin目录:idea.exe.vmoptions;idea64.exe.vmoptions,在文件末尾添加 -Dfile.encoding=UTF-8 ,然后重启idea
重启IDea
我们在启动tomcat的时候 会发现一个问题 , 我们控制台打印有乱码 这里的解决方法是:
后续使用tomcat也加入启动编码.
这个解决的是如果日志中有中文或者控制台有乱码。