关闭

工作流引擎Activiti系列(二)——流程设计工具

标签: activiti流程设计工具eclipse
3231人阅读 评论(1) 收藏 举报
分类:

    虽然我们也可以直接编辑XML完成流程的设计,但这稍显麻烦不说,还不直观,所以,这里介绍的是Activiti拖拽式的流程设计工具。

    主要有两种工具:官方提供的Activiti Modeler和Eclipse的Activiti designer插件。

1、Activiti BPMN 2.0 designer

    还是先说说这款Eclipse的插件吧,毕竟我们开发已经比较依赖Eclipse了,使用这个插件当前更加愉快。

    界面是这样的:

a

    安装大家应该都会,这里还是提一下:

  •     打开Eclipse选择菜单-->Help-->Install New Software...
  •     然后Work With点Add...:
  •         Name随便写一个;
  •         Location填:http://activiti.org/designer/update/

    OK,接下来就是选择并一步一步安装了。

    不过这个方法国内是行不通的(天朝墙,高又高哇),需要科学上网。

    文末会给一个zip格式的压缩包,可以直接安装,步骤与上面类似,不过Loaction选择的时候直接找个这个zip压缩包就行了,不过如果不是科学上网,也不一定能安装上。所以文尾还会提供一个已经安装好Activiti Design的并包含jee开发相关插件的Eclipse压缩包。

    提示:如果科学上网使用的是Shadowsocks,那么需要配置下Eclipse的代理:

        菜单-->Windows-->Preferences-->general-->Network Connections-->Active Provider选择Manual,并将下方各项Host设置为127.0.0.1,Port为1080(Shadowsocks默认,如果有修改就按实际的填就行了)。

    使用Activiti Designer大大的简化了我们的流程设计工作,比官方的Activiti Modeler更容易,比如我们添加监听器可以直接选择对应的监听器实现就行了,而且就在我们敲代码的IDE上岂不是更爽。

2、Activiti Modeler

    Activiti Modeler是基于B/S架构的流程设计器,我们在流程已经部署好后,还可以修改流程实现重新部署,这时候Activiti Modeler就派上用场了,我们可以将其集成到系统中,在浏览器端修改流程后重新部署,这也是很方便的,所以此处不多介绍,系列文章后续会添加Activiti Modeler的集成,到时候会细说。

3、设计流程

    上面提到的两个流程设计器使用起来都特别容易,即使是非开发人员简单了解后也能快速上手,所以更好的方式是由业务人员使用以上任一工具设计好最初的流程,然后由开发人员基于代码层面的完善。

    这里以《工作流引擎Activiti系列(一)——初识》文中的例子为例,演示流程的设计。

    首先新建一个流程文件:

1

     然后就是拖拽式的流程设计了,感觉好像也没啥说的,去拖几个就熟悉了。

    先拖一个开始和结束事件:

2

    然后添加一个用户任务,并连接起来:

3

    添加领导审批任务创建监听器:

4

    xml会自动生成对应的代码:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="simpleProcess" name="simpleProcess" isExecutable="true">
    <extensionElements>
      <activiti:executionListener event="end" class="com.anxpp.demo.activiti.simple.listener.SimpleProcessEndListener"></activiti:executionListener>
    </extensionElements>
    <startEvent id="startevent_simple" name="Start"></startEvent>
    <userTask id="usertask1" name="领导审批">
      <extensionElements>
        <activiti:taskListener event="create" class="com.anxpp.demo.activiti.simple.listener.LeaderCheckListener"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <endEvent id="endevent_simple" name="End"></endEvent>
    <sequenceFlow id="flow1" sourceRef="startevent_simple" targetRef="usertask1"></sequenceFlow>
    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="endevent_simple"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_myProcess">
    <bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess">
      <bpmndi:BPMNShape bpmnElement="startevent_simple" id="BPMNShape_startevent_simple">
        <omgdc:Bounds height="35.0" width="35.0" x="170.0" y="290.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
        <omgdc:Bounds height="55.0" width="105.0" x="290.0" y="280.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent_simple" id="BPMNShape_endevent_simple">
        <omgdc:Bounds height="35.0" width="35.0" x="500.0" y="290.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="205.0" y="307.0"></omgdi:waypoint>
        <omgdi:waypoint x="290.0" y="307.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="395.0" y="307.0"></omgdi:waypoint>
        <omgdi:waypoint x="500.0" y="307.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>

   可能有些更细粒度的流程设计还是需要手动编辑XML,慢慢就熟了。

    上面流程的例子完整源码已经在Github上:https://github.com/anxpp/activitiSimpleDemo.git

    如果不想用git,也可以直接下载源码:http://download.csdn.net/detail/anxpp/9725907

    activiti designer插件zip安装包:http://download.csdn.net/detail/anxpp/9725902

    带activiti designer插件基于JEE的eclipse4.6绿色压缩包:http://download.csdn.net/detail/anxpp/9725904

1
0
查看评论

SpringMVC与Activiti网页流程设计器整合

忙活了一个星期左右,查找各种资料,终于将Activiti的流程设计器分离出来,与SpringMVC,spring整合了起来,先把工程分享出来,等有时间了在慢慢讲解具体的整合步骤。工程下载之后直接可以运行,只需要改一下数据库连接。访问http://localhost:8080/demo/model/c...
  • xinqing623
  • xinqing623
  • 2015-09-18 09:25
  • 25580

activiti 网页流程设计器 的使用

使用activiti 网页流程设计器可以方便的画流程图。可以导出为xml。 当然也可以直接在eclipse安装activiti-designeer也可以画流程设计图,参见我的另一篇博文,点击查看。 0. 安装准备: 你需要下载两样东西: 1. tomcat   (下载地址:http:/...
  • jenyzhang
  • jenyzhang
  • 2017-08-03 14:21
  • 2452

Activiti在线流程设计器

  • 2015-09-16 11:19
  • 1.55MB
  • 下载

SpringMVC与Activiti网页流程设计器整合(一)

1、添加依赖文件 新建Maven工程,取名为demo。在demo的pom文件中加入springMvc的依赖包,maven依赖如下。 org.activiti activiti-engine ${activiti.version} org.activ...
  • sundehui01
  • sundehui01
  • 2017-01-03 00:57
  • 2915

整合Acitiviti在线流程设计器(Activiti-Modeler 5.18.0)

Acitiviti在线流程,Acitiviti设计器,Acitiviti,Acitiviti学习,Acitiviti最新
  • redxun_cn
  • redxun_cn
  • 2017-04-12 10:35
  • 1537

activiti流程设计器插件

  • 2016-12-08 11:18
  • 3.11MB
  • 下载

Activiti流程设计工具

Activiti插件然后我们来画流程图,任何流程,都必须有接下来我们在搞一个用户任务节点(我们以后开发最常用的节点),我们拖一个到中间绘图区域一个开始事件节点和结束事件节点;给我们提供的流程设计工具, 开发流程 首先要做的,就是要设计好流程图;一个项目可能会包括多个流程图;所以在src/tes...
  • lifupingcn
  • lifupingcn
  • 2017-03-10 17:37
  • 1776

activiti流程设计器

  • 2017-08-24 15:24
  • 4.17MB
  • 下载

整合Acitiviti在线流程设计器(Activiti-Modeler 5.18.0)

企业业务审批流程,SAAS,嵌入式,流程管理
  • redxun_cn
  • redxun_cn
  • 2017-04-05 10:28
  • 2490

整合Acitiviti在线流程设计器(Activiti-Modeler 5.18.0)

整合Acitiviti在线流程设计器(Activiti-Modeler 5.18.0) 1.概述前言 一直以来都是从事大量的工作流相关的项目,用过很多商用的工作流产品,包括国内与国外的,尽管商用的工作产品在UI操作上比较人性化,但个人用户觉得,这东西只需要一些初级用户,对于我们一直在为一...
  • hj7jay
  • hj7jay
  • 2016-03-27 22:17
  • 8858
    个人资料
    • 访问:786325次
    • 积分:5612
    • 等级:
    • 排名:第5598名
    • 原创:96篇
    • 转载:1篇
    • 译文:0篇
    • 评论:299条
    博客专栏
    其他信息
    music