Activiti工作流(一)——Activiti Diagram
工作流解决在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。
使用Eclipse开发,需要安排工作流插件,详情见下面。
Name:Activiti BPMN 2.0 designer
Location:http://activiti.org/designer/update/
New–Other 
- Activiti Project 
 
 新建Project,Activiti的项目其实也是用maven管理的。
 
 
- Activiti Diagram - Activiti提供了图形化的操作页面,我们可以拖动图形控件设计符合特定规则的流程。 
 
 
示例: 
以xml格式打开bpmn流程图,可以看到,我们所画的每个流程图,其实相当于一个xml配置文件。这个配置文件中详细描述了整个流程的执行的具体参数,类似ssh的config文件下的各种配置。
 <process id="hello" name="helloprocess" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <endEvent id="endevent1" name="End"></endEvent>
    <userTask id="usertask1" name="提交申请"></userTask>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <userTask id="usertask2" name="审批【部门经理】"></userTask>
    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
    <userTask id="usertask3" name="审批【总经理】"></userTask>
    <sequenceFlow id="flow3" sourceRef="usertask2" targetRef="usertask3"></sequenceFlow>
    <sequenceFlow id="flow4" sourceRef="usertask3" targetRef="endevent1"></sequenceFlow>
  </process>
  ……
  ……在properties下,我们可以看到该工作流图以及每个节点、每条线的详细配置。 
 
但同样问题也就出现了,与ssh中的配置文件不同,Activiti中的工作图很多,配置文件就要写多个,而且这些配置信息有很大的相似之处。另一方面,在程序运行过程中,用户也需要查看当前流程的位置。因此,Activiti为我们提供了一个数据库来单独存放这些流程信息。
创建数据库的两种方式:
1)代码
ProcessEngineConfiguration processEngineConfiguration=  ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
        //连接数据库的配置
processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
        processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8");
processEngineConfiguration.setJdbcUsername("root");
processEngineConfiguration.setJdbcPassword("");
        // DB_SCHEMA_UPDATE_TRUE:表不存在,自动建表
    processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
        //工作流的核心对象
        ProcessEngine processEngine=processEngineConfiguration.buildProcessEngine();2)配置文件
新建一个配置文件,名为activiti.cfg.xml
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <!-- 配置 -->
        <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8" />
        <property name="jdbcUsername" value="root" />
        <property name="jdbcPassword" value="" />
        <!-- 没有表创建表 -->
        <property name="databaseSchemaUpdate" value="true"></property>
    </bean>
</beans>比较:两种创建方式的具体内容很类似,包括数据库连接配置和建表的配置,但使用代码配置会很繁琐,配置文件比较灵活。
数据库会生成23张表,这23张表都是以“act_”开头,存放工作流不同阶段的数据。
具体的工作流的这几个过程我们下篇再介绍。
Activiti工作流(一)——Activiti Diagram的更多相关文章
- activiti 工作流
		1. 工作流的概念 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实 ... 
- 工作流引擎Activiti使用总结
		http://www.kafeitu.me/activiti/2012/03/22/workflow-activiti-action.html 1.简单介工作流引擎与Activiti 对于工作流引擎的 ... 
- Activiti工作流引擎使用
		http://www.kafeitu.me/activiti/2012/03/22/workflow-activiti-action.html 1.简单介工作流引擎与Activiti 对于工作流引擎的 ... 
- Activiti工作流学习-----基于5.19.0版本(6)
		七. BPMN的简介 读者了解到这里,应付一般的工作流开发已经足够了.此处应该有华丽的分割线,在工作流项目中核心开发人员主要是对工作流业务设计以及实现,而初级开发人员是对业务功能的代码实现.以后将主要 ... 
- activiti工作流框架简介
		常见的工作流框架:activiti, JBPM, OSWorkflow activiti框架基于23张基础的表数据, 基于Mybatis操作数据库. JBPM框架基于18张基础的表数据, 基于hibe ... 
- Activiti工作流框架——快速上手
		一.前言 最近在做公司的OA,里面有用到工作流,公司用的是 jbpm4,感觉比较老,资料有点少,就先学学 新一点的 activiti ㄟ(▔▽▔)ㄏ 首先工作流的概念是:工作流(Workfl ... 
- Activiti工作流搭建---初始化数据库
		Activiti介绍 Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易扩展的可执 ... 
- Activiti工作流引擎简介
		Activiti工作流引擎简介 一.概述 Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活 ... 
- 工作流引擎Activiti使用总结(转)
		1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科:工作流引擎 1.1 我与工作流引擎 在第一家公司工作的时候主要任务就是开发OA系统,当然基本都是有工作流的支持,不过当时使用 ... 
- Activiti工作流学习之流程图应用详解
		Activiti工作流学习之流程图应用详解 1.目的 了解Activiti工作流是怎样应用流程图的. 2.环境准备2.1.相关软件及版本 jdk版本:Jdk1.7及以上 IDE:eclipse ... 
随机推荐
- 【CodeForces 803 C】Maximal GCD(GCD+思维)
			You are given positive integer number n. You should create such strictly increasingsequence of k pos ... 
- nignx 配置服务集群
			前言:这里只是简单介绍Nginx简单APP Server集群的搭建和设置发向代理. 后续有时间我会陆续加上Nginx的基础知识.三种负载均衡的策略设置.实现算法的介绍.(最后如果有测试环境,再模拟Ng ... 
- JavaScript--动态添加元素
			在网页中,使用JavaScript动态创建元素的方式有三种: 1.document.write() 2.Element.innerHTML 3.document.createElement() 在上述 ... 
- 分别使用原生js和jQuery添加/删除元素的class属性
			一.原生js添加/删除元素的class属性: <!-- span元素原有class = "test" --> <span class="test&quo ... 
- Asp.Net Core 生成图形验证码
			前几天有朋友问我怎么生成图片验证码,话不多说直接上代码. 支持.NET CORE开源.助力.NET Core社区发展. using System; using System.IO; using Sys ... 
- you don't have permission to access forbidden
			前几天装一个phpStudy 集成环境,打开测试页面的时候突然出现如下错误: 有一些小总结. 一些小的开发测试在本地开发的话,直接localhost/file 就可以, 如果涉及到大的开发环境,一 ... 
- HBase学习(三):数据模型
			和传统的关系型数据库类似,HBase以表(Table)的方式组织数据.HBase的表由行(Row)和列(Column)共同构成,与关系型数据库不同的是HBase有一个列族(ColumnFamily)的 ... 
- SpringMVC+Mybatis框架搭建
			一.新建javaweb项目,并建好相应的包结构 二.添加项目jar到lib目录下 三.在config包中新建配置文件 sping-mvc.xml,内容如下: <?xml version=&quo ... 
- css常用样式属性详细介绍
			对于初学css的来说,肯定会觉得这么多样式不好记,而且记住了也容易忘,其实刚开始我们不用去记这么多的样式,确实是记了也会忘,刚开始只需记住一些常用的就可以了,然后在慢慢的使用过程当中接触并学习一些高级 ... 
- [HDU1512]Monkey King(左偏树)
			用并查集维护猴子们的关系,强壮值用左偏树维护就行了 Code #include <cstdio> #include <algorithm> #include <cstri ... 
