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

2024-04-28 07:32

本文主要是介绍在eclipse中设计BPMN 2.0工作流定义的根本步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址: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工作流定义的根本步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942648

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订