什么是工作流(WorkFlow)
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。
比如员工请假,就是由:员工申请、主管审批、人事确认等工作流程组成,在软件系统中这套流程就被看作一个工作流。
各种企业和事业机构都有可能用到工作流,如:
关键业务:订单、报价处理、采购处理、合同审核、客户电话处理、供应链管理等
行政管理:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单。
人事管理:员工培训安排、绩效考评、职位变动处理、员工档案信息管理等。
财务相关:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等。
客户服务:客户信息管理、客户投诉、请求处理、售后服务管理等。
特殊服务:ISO系列对应流程、质量管理对应流程、产品数据信息管理、贸易公司报关处理、物流公司货物跟踪处理等各种通过表单逐步手工流转完成的任务均可应用工作流软件自动规范地实施。
什么是Activiti
Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。
创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。
Activiti是一个独立运作和经营的开源项目品牌,并将独立于Alfresco开源ECM系统运行。 Activiti将是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的云架构。 Activiti将提供宽松的Apache许可2.0,以便这个项目可以广泛被使用,同时促进Activiti BPM引擎和BPMN 2.0的匹配,该项目现正由OMG通过标准审定。 加入Alfresco Activiti项目的是VMware的SpringSource分支,Alfresco的计划把该项目提交给Apache基础架构,希望吸引更多方面的BPM专家和促进BPM的创新。
Activiti的基本配置
开发环境:IDEA + Maven + Activiti6.0
1、Idea安装Activiti插件
打开Idea 选择File->settings->plugings->点击选择Browse repositories
然后在搜索框输入:actiBPM,看到如下窗体,未安装的情况下会出现Install按钮,点击按钮安装插件,然后重启Idea。
2、点击File->New->Project选择Maven项目(IDEA和Maven的配置可以参考:
jingyan.baidu.com/article/a3a3f811cd5f0b8da2eb8abf.html)
在Maven的项目模板中选择webapp,创建项目
3、引入相关的包,activiti的数据库操作由mybatis实现,还需要依赖spring框架进行配置,数据库这里我们使用MySQL以及c3p0连接池。
在pom.xml的dependencies中添加:
4、运行单元测试,会在MySQL的act数据库中创建23张表
所有表都是以act开头, ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
ACT_GE_*: 通用数据, 用于不同场景下。
具体说明:
千锋Java培训作为国内IT研发人才一体化服务的开拓者,为学生制定合理有序的学习计划,0学费入学,2周免费试听不满意不收费,与学员签订就业协议,坚持良心面授,从千锋Java培训班出去的学员均已高薪就业。千锋推出的免费java视频教程,让学员能够方面的巩固基础技术能力。
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱