疯狂Activiti6.0连载(二)———下载和运行Activiti


声明:本文转载自https://my.oschina.net/JavaLaw/blog/1542771,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

                                                2 安装与运行Activiti

    要点

         安装JDK与MySQL

         安装Eclipse以及Activiti插件

         运行官方的Activiti例子

        Activiti的第一个正式版本发布于2010年12月1日,经过多年的发展,Activiti已经成为一个较为成熟的工作流引擎,作为一个开源的工作流引擎,它在工作流领域吸引了众多开发者的目光,在当前的工作流框架角逐中,慢慢成为众多企业的首选。在2017年5月26日,Activiti迎来全新篇章:6.0版本正式发布。本书将以6.0版本为基础,讲解基于Activiti的工作流应用开发。

        本章将介绍Activiti的安装与运行、Activiti开发环境的搭建等内容,本书除了最后一章的项目案例外,其他所有的案例均以本章的开发环境为基础。搭建Activiti的开发环境,需要安装JDK、Eclipse、MySQL等软件,除此之外,还会编写第一个Activiti应用,让大家对Activiti有一个初步的了解。

        注:本书全部的案例均在Windows7下开发和运行。

                                            2.1 下载与运行Activiti

        如果仅仅只是运行Activiti,看下工作流的例子,可以只下载JDK、Tomcat和Activiti,Activiti的开发包中,已经含有Activiti的web应用例子。本书使用的Tomcat版本为7.0.42,可以到以下地址下载该版本的Tomcat:

http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.zip

        本书所使用的Tomcat是非安装版本,下载后解压即可使用,在运行Tomcat需要先安装JDK。本书全部需要使用浏览器的程序,均使用Google Chrome浏览器,笔者也建议读者使用该浏览器。

        注意:已有JDK与MySQL环境的,可跳过相应章节。

2.1.1 下载和安装JDK

        Activiti6.0要求在JDK7以上版本运行,本书所使用的是JDK8(32位),大家可以到以下网址下载JDK:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

        选择合适的版本进行下载后即可进行安装,在Win7下,默认的安装目录是C:\Program Files (x86)\Java\jdk1.8.0_131,安装完成后,需要配置环境变量,新建JAVA_HOME变量,值为JDK的安装目录,如图2-1所示。

图2-1 JAVA_HOME环境变量

        添加了JAVA_HOME环境变量后,修改系统的Path变量,加入“%JAVA_HOME%\bin”,如图2-2所示。

图2-2 Path环境变量

        为了验证JDK是否成功安装,打开系统命令行,输入“java -version”可看到JDK的版本信息,笔者安装的JDK信息如图2-3所示。

图2-3 JDK版本信息

        看到图2-3信息,即表示JDK成功安装。如果大家的机器需要不同版本的JDK,可以为JAVA_HOME设置不同值来实现切换。

2.1.2 下载和安装MySQL

        MySQL作为市面上关系型数据库的佼佼者,一直受到各大企业及开发人员的青睐,笔者之前就职的公司一直使用MySQL,因此本书选用MySQL作为Activit的数据库。目前MySQL的版本发展到5.7,由于数据库并不是本书的重点,因此笔者选用了较为成熟的5.6版本(64位),大家可到以下网址下载5.6版本的MySQL数据库:

        https://dev.mysql.com/downloads/installer/5.6.html

        下载并安装了MySQL数据库后,将MySQL的bin目录添加到环境变量中,以便可以在命令行中使用MySQL命令。

图2-4 添加系统变量

        修改系统变量的Path属性,添加“%MYSQL_HOME%\bin”,如图2-5所示。

图2-5 修改Path变量

        完成以后的步骤后,打开命令行,输入“mysql -V”,可以看到输出如图2-6所示。

图2-6 查看MySQL安装

        关于MySQL数据库的客户端工具,本书使用的是Navicat,读者也可以使用其他工具,这些工具目的是为了更加方便操作MySQL数据库,大家可根据个人习惯来选用。本书的开发环境为Windows7,安装完MySQL5.6后,笔者建议将MySQL配置成区分大小写(默认不区分),修改MySQL的配置文件my.ini(如果在Windows7下安装MySQL,则修改C:\ProgramData\MySQL\MySQL Server 5.6\my.ini),加入“lower_case_table_names = 0”配置,重启MySQL服务即可。

2.1.3 下载和安装Activiti

        安装了JDK和MySQL后,现在可以下载Activiti,Activiti的主页为:http://www.activiti.org/,本书使用的Activiti版本为6.0版本,以下为Activiti6.0版本的下载地址:

https://github.com/Activiti/Activiti/releases/download/activiti-6.0.0/activiti-6.0.0.zip

        由于某些非技术原因,以上链接可能在国内无法打开,需要借助其他方法进行下载。

        下载解压后得到activiti-6.0.0目录,该目录下有三个子目录:database、libs和wars。以下为各个目录的作用描述:

              database:用于存放Activiti数据表的初始化脚本(create子目录)、删除脚本(drop子目录)和升级脚本(upgrade子目录)。从各个目录中的脚本可得知,目前Activiti支持各大主流的关系型数据库,包括DB2、MySQL、Oracle等等。

              libs:存放本版本Activiti所发布的jar包,也包含对应的源码包。

              wars:存放Activiti官方提供的war包,当前版本有activiti-app.war、activiti-admin.war、activiti-rest.war三个war包。

        需要注意的是,这三个war包默认情况下使用的是H2数据库,该数据库是一个内存数据库,因此部署前不需要进行任何的数据库配置,但如果重启了应用服务器,那么之前的数据将会丢失,大家在使用时请注意这个小细节。将三个war包复制到Tomcat/webapps目录并启动Tomcat,在浏览器中打开以下链接,即可以看到Activiti的演示界面:

        http://localhost:8080/activiti-app/

        Activiti的演示界面如图2-7所示。

图2-7 Activiti Demo的登录界面

        注:见到图2-7的界面,表示已经启动成功,如果需要登录及使用其他功能,请见2.2.小节。

                                            2.2 运行官方的Activiti示例

        Activiti官方发布的activiti-app,可以说是一个较为完善的样例,用户可通过试用该应用来了解Activiti的大部分功能。随Activiti6.0版本发布的官方示例,包括流程图定义、流程发布、动态表单等一系列功能,在笔者看来,这个示例的功能已经相当强大。但由于该示例偏向技术,如果需要开发更贴近某个特定业务的产品,我们还是需要掌握Activiti的核心。

        本小节将以一个简单的请假流程为基础,向大家展示该Activiti示例的功能,以便大家对工作流引擎有一个初步的了解。

        注:activiti-app的登录用户名为admin,默认密码为test,该应用的功能将在本小节讲述。

2.2.1 本小节流程概述

        我们先定一个简单的请假流程,主要是由员工发起请假,然后再由他的经理审批,最后流程结束,流程图如图2-8所示。

图2-8 员工请假流程

        本小节目的是为了让大家初步了解activit-app的功能,对Activiti有一个初步的认识,因此设计的流程较为简单。

2.2.2 新建用户

        根据我们前面定义的请假流程,需要有一个员工的用户,然后需要有一个经理的用户,在实际业务中,普通员工、经理可能就是用户,在此为了简单起见,只定义有一个员工与一个经理,不涉及用户组数据。使用admin账号登录activiti-app(默认密码是test),主界面如图2-9所示。

图2-9 登录activiti-app后的主界面

        主界面的三个菜单主要承担以下功能:

              Kickstart App:主要用于流程模型管理、表单管理及应用(App)管理,一个应用可以包含多个流程模型,应用可发布给其他用户使用。

              Task App:用于管理整个activiti-app的任务,在该功能里面也可以启动流程。

              Idenity management:身份信息管理,可以管理用户、用户组等数据。

        点击“Identity Management”菜单,再点击Users菜单,界面如图2-10所示。

图2-10 进入用户管理

        点击“Create user”按钮,弹出输入新用户信息的界面,根据我们定义的请假流程,需要新建一个员工用户。新建用户名为“employee”的用户,信息如图2-11所示。

图2-11 新建用户

        需要注意是,Email等信息虽然不是必填的,但如果不填,则在登录时会出现异常,笔者建议将全部信息填完,以便减少遇到的问题。以同样的方法,再创建一个“manager”的用户作为经理,用于审核请假任务。

2.2.3 定义流程

        点击“Kickstart App”菜单,进入流程模型管理的主界面,点击“Create Process”按钮,弹出新建流程模型界面,如图2-12所示。

图2-12 新建流程模型界面

        新建模型后,会进入流程模型设计界面,在流程设计界面中,只需要普通的鼠标拖拉操作,即可完成流程模型的定义,该编辑器也可以开放给业务人员使用。根据前面定义的请假流程,在编辑器中“拖拉”一下,定义请假流程模型,如图2-13所示。

图2-13 设计流程模型

        在图2-13中,定义了一个开始事件、两个用户任务、一个结束事件。我们定义的请假业务,需要将该用户任务分配给employee用户。点击第一个用户任务,并修改“Assignment”属性,如图2-14所示。

图2-14 为任务分配给用户

        如图2-14可知,将“Employee off work”任务分配给“Emp E”用户,需要注意的是,Emp是用户的真实名称,登录系统的用户名是employee。保存成功后,再使用同样的方法将“Manage Audit”任务分配给manager用户,保存流程模型后,就可以将流程发布。

2.2.4 发布流程

        在activiti-app中,一个App可包含多个流程模型,因此在发布流程前,先新建一个App并为其设置流程模型。点击Apps菜单,再点击“Creaea App”按钮,新建一个App,如图2-15所示。

图2-15 新建App

        由于我们设计的请假流程,属于人事管理领域的,因此新建一个给HR使用的App(应用),该App就包含我们前面所设计的请假流程模型。创建App成功后,再为其设置流程模型并发布App,点击修改App,显示界面如图2-16所示。

图2-16 查看App

        图2-16为查看App的界面,右上角的“Publish”按钮可以发布App。点击“App Editor”可以进行App的模块修改,本例中已经将前面定义的流程绑定到“HR App”中。

2.2.5 启动与完成流程

        发布了App,再使用之前新建的employee用户进行登录,登录后可以看到HR App的菜单,如图2-17所示。

图2-17 员工登录后主界面

        进入HR App并且点击“Processes”菜单,在界面左上角,可以看到“Start a process”按钮,点击启动请假流程后,可以看到界面如图2-18所示。

图2-18 启动流程

        根据流程模型的定义可知,启动流程后,就由employee来完成第一个用户任务,点击图2-18右边的任务列表,进行任务操作。如图2-19所示。

图2-19 查看用户任务

        图2-19右上角的“Complete”按钮,点击后即可完成当前的用户任务。按照流程设计,employee完成任务后,就到manager用户审核请假。使用manager用户登录系统,同样进入“HR App”的Processes菜单,可以同样看到分配到manager用户下面的任务,以同样的方式完成任务后,流程结束,如图2-20。

图2-20 manager完成任务

        至此,这个简单的请假流程,已经在activiti-app上面运行成功。

2.2.6 流程引擎管理

        除了activiti-app这个war包外,还有一个activiti-admin的war包,在部署时也放到Tomcat的应用目录下,activiti-admin用于查看流程引擎的主要数据,包括流程引擎的部署信息、流程定义、任务等数据。启动了Tomcat后,在浏览器中打开以下链接:

        http://localhost:8080/activiti-admin

        打开上面链接后,可以看到activiti-admin的登录界面,内置的用户名为admin,密码为admin。登录成功后,点击“Configuration”菜单,先配置管理的对象信息,由于activiti-app也是部署在Tomcat中,因此只需要修改一下端口即可,将默认的9999端口改为我们的Tomcat端口(8080),修改界面如图2-21所示。

图2-21 修改activiti-admin的配置信息

        修改完成配置后,可以点击“Check Activiti REST endpoint”来测试是否可以连接到activiti-app的接口,连接成功后会有提示。

        点击“Instances”,可以看到我们之前完成的请假流程实例,再点击流程实例,可以查看到流程的全部信息,请假流程的全部信息如图2-22所示。

图2-22 查看请假流程信息

        在activiti-admin应用中的数据,可以通过Activiti发布的接口获取,接口的使用将在本书后面的章节中讲述。

        根据本小节的内容可知,Activiti官方提供的activiti-app、activiti-admin两个应用,包含了流程设计、流程发布、流程引擎管理等功能,本书后面的章节,将会深入讲解Activiti的功能,学习后再回头看官方的两个应用,即可明白它们的实现原理。

本文发表于2017年09月25日 20:35
(c)注:本文转载自https://my.oschina.net/JavaLaw/blog/1542771,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2736 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1