原文地址:http://www.myexception.cn/eclipse/1863140.html

在eclipse中设计BPMN 2.0工作流定义的基本步骤

1. Activiti问我们提供了Activiti BPMN 2.0, 这个工具是基于Eclipse所开发的工具,安装十分方便。在安装Activiti之前,我们要首先安装Maven Eclipse插件。

点击Help -> Install New Software,输入以下站点信息:

Name: M2E
Location: http://download.eclipse.org/technology/m2e/releases

选中Maven进行安装。

2. 下一步安装Activiti,点击Help -> Install New Software,输入以下站点信息:

Name: Activiti BPMN 2.0 designer
Location: http://activiti.org/designer/update/

点击next,finish进行安装。

3. 安装完成后,我们就可以建立Activiti项目了。点击New-> Project… -> Activiti -> Activiti Project

输入项目的名称,点击Finish, 此时Eclipse会打开Activiti View,并生成如下项目:

4. 现在我们开始创建工作流。右键点击项目根目录,选择new -> others,选择Activiti -> Activiti Diagram

接下来输入项目名称,这里我们输入HellowWorld.activiti(看到HelloWorld是不是倍感亲切啊:))

点击Finish,最后Eclipse会生成一个新的HelloWorld.activit文件,并用Activiti Designer打开这个新生成的文件。如下图所示:

我们可以看到,左上侧最大的区域为设计区,用来放置我们的工作流元素,右上侧为工具区,Activiti提供了很多out of box的工作流元素,可以供我们搭建工作流。下方区域为配置区,当点击工作流中的某一个元素时,相应的属性面板会显示该元素的可配置属性。

5. 最后我们来搭建一个非常简单的工作流,仅有一个start event, 一个user task及一个end event。这里我不打算介绍太多BPMN 2.0,仅给大家一个基本的步骤。

如下图所示,拖动右侧红色框框所表示的1, 2, 3, 组成如下工作流

选择右侧最上方的”select”元素,再点击User Task元素,下方弹出属性面板。在属性面板上点击左侧的Main Config,然后Performer Type选择”Assignee”,Expression输入”kermit”。解释一下这个步骤的意思,这里我们配置该任务的执行者是某个用户,这个用户的名字是”kermit”。后面我们会用这个用户登录我们的测试环境。

点击保存,我们可以看到Activiti会自动生成该activit文件所对应的HelloWorld.bpmn20.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="HelloWorld" name="HelloWorld">

<documentation>Place documentation for the 'HelloWorld' process here.</documentation>

<startEvent id="startevent1" name="Start"></startEvent>

<userTask id="usertask1" name="User Task" activiti:assignee="kermit"></userTask>

<endEvent id="endevent1" name="End"></endEvent>

<sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>

<sequenceFlow id="flow2" name="" sourceRef="usertask1" targetRef="endevent1"></sequenceFlow>

</process>

<bpmndi:BPMNDiagram id="BPMNDiagram_HelloWorld">

<bpmndi:BPMNPlane bpmnElement="HelloWorld" id="BPMNPlane_HelloWorld">

<bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">

<omgdc:Bounds height="35" width="35" x="80" y="200"></omgdc:Bounds>

</bpmndi:BPMNShape>

<bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">

<omgdc:Bounds height="55" width="105" x="190" y="190"></omgdc:Bounds>

</bpmndi:BPMNShape>

<bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">

<omgdc:Bounds height="35" width="35" x="400" y="200"></omgdc:Bounds>

</bpmndi:BPMNShape>

<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">

<omgdi:waypoint x="115" y="217"></omgdi:waypoint>

<omgdi:waypoint x="190" y="217"></omgdi:waypoint>

</bpmndi:BPMNEdge>

<bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">

<omgdi:waypoint x="295" y="217"></omgdi:waypoint>

<omgdi:waypoint x="400" y="217"></omgdi:waypoint>

</bpmndi:BPMNEdge>

</bpmndi:BPMNPlane>

</bpmndi:BPMNDiagram>

</definitions>

这里要提出的一点就是,由于Activiti Designer目前仍在研发,所以存在不少缺点。比如如果同时打开activiti文件和对应的bpmn20.xml文件,在对bpmn20.xml文件做修改后进行保存,eclipse的反应会很慢, 所以尽量关闭activiti文件。反过来如果保存activit文件,designer会覆盖bpmn20.xml,其覆盖结果可能会把你手都配置的bpmn20.xml打乱。我个人推荐用designer进行基本布局,然后保存生成bpmn20.xml文件,再手动去修改bpmn20.xml文件。最后在保存bpmn20.xml文件之前,删除原先的activiti文件及png文件,这样designer会根据bpmn20.xml文件重新生成这两个文件。

6. 搭建测试环境。Activiti为我们提供了一个out of box的测试环境。首先去activiti的官网上下载activiti-5.9.zip 文件。

确保你的机器上安装的JRE和ANT,并配置后JAVA_HOME和ANT_HOME。

解压zip文件到任意目录,这里我们用ACTIVITI_HOME代表解压目录。打开命令行窗口,跳转到ACTIVITI_HOME/setup目录,并输入ant demo.start命令,整个测试环境会自动搭建起来,我们需要做的就是喝茶,看着屏幕。

这里注意,第一次运行时,ant会执行很多命令,其中包括:

*安装H2数据库
*下载并安装tomcat

补充一点,如果你已经有现成的tomcat, 可以自己手动修改下build文件,这样可以避免重复下载,节约时间。如果懒得修改也可以,就让ant帮你把一切搞定。修改步骤如下:

与ACTIVITI_HOME同级目录建立文件夹” downloads”,如图:

拷贝你的tomcat压缩文件到此文件夹


修改ACTIVITI_HOME/ setup/build.properties文件:

tomcat.version=6.0.35

注意这里的版本号要与你的tomcat压缩文件一致。

好了,接下来我们要做的就是启动ant任务了。打开cmd或者terminal窗口,跳转到ACTIVITI_HOME/setup目录下,输入

ant demo.start

接下来就是等待。取决于你是否修改了tomcat的下载,修改的话只要1分钟不到,就会弹出浏览器,并显示系统登录页面:

这里我们用id: kermit, passwd: Kermit(这个账号是administrator)进行登录。登录后画面如下:

7. 剩下最后一步就是部署我们刚刚创建的工作流了。点击顶部的Manage,再点击Deployments -> Upload new

在弹出的文件选择对话框中选择我们上面创建的HelloWorld.bpmn20.xml文件, 部署结果如下:

部署成功了,很开心。最后我们要做的就是启动这个HelloWorld,看看我们的劳动成果。当然这个懒惰的工作流什么也没做:(。点击顶部的Process,在左侧选择我们的HelloWorld工作流,再点击右上方的Start process:

这时候我们会发现画面自动切换到Tasks页面,并且在左上方的Inbox标题框上多了一个”1”,意思是多了一个新任务

这里唯一能做的事情就是把这个任务指派给其它用户,或者点击Complete task以完成该任务。

好了,整个过程到这里就结束了,大家可以试试看。

在eclipse中设计BPMN 2.0工作流定义的根本步骤的更多相关文章

  1. eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决

    转: eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决 2017年05月04日 18:44:21 JJ_nan 阅读数:2773   版权声 ...

  2. activiti工作流之Eclipse的Eclipse BPMN 2.0 Designer无法安装或者(安装后无法重复打开*.bpmn)

    1.首先.既然学习activiti工作流,连官网和相应文件都没有下载就说不过去了 这是官网下载:http://www.activiti.org/download.html 2.对于下载后的activi ...

  3. Activiti BPMN 2.0 designer eclipse插件安装

    官方网是这样说的: https://www.activiti.org/userguide/index.html#springSpringBoot The following installation ...

  4. BPMN 2.0规范

    .1. BPMN 2.0是什么呢? 业务流程模型注解(Business Process Modeling Notation - BPMN)是 业务流程模型的一种标准图形注解.这个标准 是由对象管理组( ...

  5. eclipse 安装 activiti-designer-5.18.0,亲测成功

    转: eclipse 安装 activiti-designer-5.18.0,亲测成功 2018年06月02日 15:50:05 ldw4033 阅读数:2826   版权声明:本文为博主原创文章,未 ...

  6. Eclipse中Tomcat v8.0 Server at localhost右键选择Properties详情页中Server Locations变灰无法编辑

    Eclipse中Tomcat v8.0 Server at localhost右键选择Properties详情页中Server Locations变灰无法编辑解决办法:1.首先将Servers中部署的 ...

  7. Liferay7 BPM门户开发之2: BPMN 2.0 规范入门 (Activiti BPMN extensions)

    Liferay最大的问题是BPM弱,如果做企业开发,BPM必不可少,所以直入主题,做个BPMN2入门. 本文参考地址:http://activiti.org/userguide/index.html# ...

  8. Eclipse Oxygen(4.7.0)安装插件Eclipse Class Decompiler反编译JAR文件

    引用自官方内容 Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行 ...

  9. Eclipse升级到ADT-23.0.2 Fail 解决方法

    工具:eclipse3.7.2 升级ADT:从ADT-22.3.0到ADT-23.0.2 错误信息: Cannot complete the install because of a conflict ...

随机推荐

  1. Codeforces Round #308 (Div. 2) A B C 水 数学

    A. Vanya and Table time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  2. URIEncoding和useBodyEncodingForURI详解

    之前关于编码的问题已经总结过两次了,有些地方写的很粗略.http://blog.itpub.net/29254281/viewspace-775925/http://blog.itpub.net/29 ...

  3. XML的解析方式(DOM、SAX、StAX)

    (新)  XML的解析方式(DOM.SAX.StAX) 博客分类: XML   一般来说,解析XML文件存在着两种方式,一种是event-based API,比如说象SAX,XNI. 第二种是tree ...

  4. scala言语基础学习四

    伴生对象 object方法构造函数只会执行一次.伴生对象和对象之间private对象可以互相访问 让object继承抽象类 apply方法 可以不new就构造对象 类似于var s = ArrayBu ...

  5. MySql中的skip-name-resovle

    mysql用的一直很好用,有一次断网了,发现连接虚拟机里的mysql特别费劲,几经扔腾,才知道是因为断网以后,名字解析这块有点问题,在my.cnf文件中加了一条skip-name-resovle,果断 ...

  6. 嵌入式系统Linux内核开发工程师必须掌握的三十道题(转)

    嵌入式系统Linux内核开发工程师必须掌握的三十道题 如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看! 1) Linux中主要有哪几种内核 ...

  7. 恢复Ext3下被删除的文件(转)

    恢复Ext3下被删除的文件(转) 前言 下面是这个教程将教你如何在Ext3的文件系统中恢复被rm掉的文件. 删除文件 假设我们有一个文件名叫 ‘test.txt’ $ls -il test.txt 1 ...

  8. bootstrap源码里的function加上了+号

    一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuery); 今天看到bootstrap的javascript组件是这样写的 !function( $ ){ ...

  9. web-api-global-error-handling

    http://www.asp.net/web-api/overview/error-handling/web-api-global-error-handling http://www.cnblogs. ...

  10. C# Regex.IsMatch (正则表达式验证:数字、小数点、邮件、计算表达式)

    public bool isInt(string str) { //^([+-]?)表示加减号只能出现在字符串开头且只有一位 ///d*表示后面可以有多个或一个十进制数 //$表示字符串结尾 retu ...