疯狂Workflow讲义——基于Activiti的工作流应用开发(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-05 10:51:46

点击下载

作者:杨恩雄

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

疯狂Workflow讲义——基于Activiti的工作流应用开发

疯狂Workflow讲义——基于Activiti的工作流应用开发试读:

前言

随着Java成为世界上应用最广泛的编程语言,在Java领域出现了众多优秀的框架以及组件,这些组件正在慢慢提高编程的效率,使得编程这项原来枯燥的工作变得更为优雅与简单。在工作流领域,涌现出多个使用Java语言编写的框架,如OpenWFE、jBPM、Shark,甚至在国内市面上出现了不少国产的工作流引擎。在近一两年的工作流领域中,出现了一款“全新”的工作流框架Activiti,该框架是由jBPM4发展而来的。Activiti一经推出,马上得到开源社区的大力支持。为了能帮助广大的Java研发者学习该框架,并将其应用到实际的生产中,笔者根据多年来的企业应用研发经验,编写了本书。

笔者在进行企业应用开发的早期接触了一些OA系统,当时这些系统存在大量的工作流程,这些流程夹杂着不同领域的业务,由于当时并没有使用任何的工作流组件,因此进行研发和维护的过程非常痛苦。一旦发生业务流程上的变化,修改源代码成为家常便饭,整个项目举步维艰,而需求的变更则是无处不在,业务流程的变化不可避免。从那时起,笔者思索着实际上可以将这些流程独立开来,作为一个应用组件存在,希望以这样的方式来适应需求的多变,最终可以达到当需求变更时,不需要修改或者少改源代码,这是笔者最初的梦想。可惜后来系统由于修改过于困难,已经完全不能适应业务的变化而被抛弃,笔者也随之离职。加入新的公司(中企动力)后,有幸参与一个人事系统的研发工作,该系统包括一些常规的OA功能,例如薪资、绩效、考勤等。当时公司有着一些技术前瞻性很强的同事,选择了当时较为流行的jBPM工作流引擎来实现OA的流程,也选用了JBoss的Drools规则引擎计算员工薪资,这是笔者第一次接触工作流引擎。现在回想起来,待在这个项目组与大家一起奋斗,真的无比开心,不仅仅能在工作中学到大量的技术,还与各个同事成为好朋友,这份回忆对笔者来说是一份珍贵的财富。

在接触工作流的框架后,笔者慢慢体会到这些工作流框架与组件给开发者带来的乐趣,当业务流程发生变化时,几乎不需要修改代码,就可以实现系统的变更,对于之前受尽业务变化折磨的我来说,这是一件十分开心的事。笔者有一个朋友,同样在另外一家专门做工作流应用的公司工作,当我第一次接触到他们公司的产品,感觉到工作流应用可以做得更为强大。他们公司的产品叫作OBPM,是一款国产的工作流引擎,使用该产品,可以直接通过界面来定制业务流程、设置表单内容,甚至可以在上面进行数据库设计,几乎不用编写一行代码,一个简单的业务系统即可完成。这种高效的开发平台对笔者触动很大,在往后的职业生涯中,一直致力于提高研发的效率。

本书内容概括

本书是一本介绍Java工作流领域的书,以Activiti为核心,内容囊括了多个流行的企业级Java EE框架,全书主要可分为以下几个部分。

第1部分:对Activiti的基础知识进行讲解,包括框架起源、基本的设计模式、数据库设置以及框架配置等,该部分知识可以帮助读者对Activiti的基础有一个更深入的认识,对Activiti的设计有一个初步的印象,该部分内容也可以作为整合Activiti到项目中的参考。

第2部分:从源代码的实现上讲解Activiti各个模块的API,除了讲述这些API的作用外,还会引领读者深入到这些API的内部,此部分内容可以作为一份详细的Activiti API的帮助文档。第3部分:详细讲述了BPMN 2.0规范的内容,包括目前Activiti对该规范的实现情况,在讲解BPMN 2.0规范时,将规范与Activiti的实现进行结合,在通俗易懂的案例下,帮助读者对Activiti的实现以及BPMN 2.0规范有更深入的了解。

第4部分:如何在实际企业应用中使用Activiti,并与其他流行的开源框架进行整合,包括企业应用开发所必需的Web Service、企业服务总线、规则引擎、IoC框架和ORM框架等,除了本书主要的Activiti知识外,这些企业中常用框架的知识,也可以在该部分内容得到体现,通过学习这部分内容,可以极大丰富读者的实战知识,让读者可以成为一个更全面的技术人员。

第5部分:在第17章中讲述了Activiti的核心架构流程虚拟机以及Activiti的表单知识,本书最后一章,通过讲解一个办公自动化系统的开发过程,让读者更了解Activiti在实际生产中的使用,让本书的内容不仅仅停留在理论的层次,更为读者开辟了实践的道路。

本书特点

笔者长期工作于企业的IT部门,有着丰富的企业应用开发经验,因此本书有着以下特点。

1.内容深入

从笔者接触编程开始,就养成了查看源代码的习惯,书中的案例不仅仅讲解Activiti的功能,更模仿Activiti的思路去模拟功能的实现,读者可以深入了解其中的原理。

2.开发环境与案例更贴近实际

书中案例的开发环境、使用的框架以及工具均是来自企业的实际应用,案例的选取与研发过程更贴近实际。

3.注释详细

本书的代码,几乎每行核心Java代码均有注释,读者可以很容易地了解代码的意思,轻松掌握相应的知识。

本书写给谁看

如果你有一定的Java语言基础,进行过Web项目的开发,对工作流有一定的认识,那么本书可以帮助你提升工作流的知识。如果你是一个从事过企业应用开发的程序员,本书同样适合,本书的知识可以帮助你深入工作流引擎,你可以将这些工作流框架应用到实际的企业生产中。读者在阅读本书的过程中如果有需要交流的问题,可以发邮件至yangenxiong@163.com。

衷心感谢

首先非常感谢李刚老师,一直以来,他既是我的老师,也是我的技术后盾。刚进入行业的早期,遇到很多不会解决的问题,总会找到李刚老师一起讨论,在和他的讨论中,不经意间,总会找到我想要的答案。随着自己的成长,现在找李刚老师聊的更多的是人生、家庭,非常幸运人生能有这样一位良师益友。

此外感谢我公司的同事,是你们长期与我奋斗在企业第一线,为客户解决问题,累积个人经验,你们也是我不停前进的动力。

杨恩雄

2014年2月20日于广州第1章 Activiti介绍

本章要点

↘ 工作流介绍

↘ BPMN 2.0规范介绍

↘ Activiti介绍

在计算机尚未普及时,许多工作流程采用手工传递纸张表单的方式,一级一级审批签字,工作效率非常低下。而对于数据统计以及生成报表的工作,则需要经过大量的手工操作才能完成。随着计算机的普及,这些工作的参与者只需要在计算机系统中输入工作内容,系统就会按照定义好的流程自动执行,从而各级审批者可以得到工作的信息并做出相应的审批和管理操作。数据统计和报表的生成也由系统代为完成,这大大提高了工作效率。在这种背景下,各种工作流应用以及中间件应运而生。

随着工作流应用在日常工作中越来越广泛,Java EE领域出现了许多优秀的工作流引擎,例如JBoss社区的jBPM、OpenSymphony的OSWorkflow等。在2010年5月17日,以Tom Baeyens为首的工作流小组发布了一个全新的工作流引擎——Activiti,该工作流引擎的第一个版本为5.0 alpha1。由于Tom Baeyens是jBPM的创始人(由于意见分歧离开JBoss),因此Activiti的团队希望该流程引擎是jBPM 4的延伸,他们希望在从jBPM中积累的经验和知识的基础上,继续进行新一代工作流解决方案的开发,因此将第一个Activiti版本定义为5.0 alpha1。本书将以Activiti 5.10为基础,深入探讨Activiti的特性。1.1 工作流介绍

工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括和描述。工作流建模,则是将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。工作流管理系统(Workflow Management System,WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。后者研究一个群体如何在计算机的帮助下实现协同工作的。(注:本段内容来自维基百科。)

早在20世纪70年代,办公自动化概念出现的时候,工作流思想就已经出现,那时人们希望新的技术可以改善办公效率,但是由于当时计算机并没有普及,网络技术还不普遍等原因,那时的工作流技术仅仅停留在研究领域。到了20世纪90年代以后,各种技术条件逐渐成熟,工作流技术被应用于电信、软件、制造、金融和办公自动化等领域。随着工作流技术的兴起,为了给全部业务的参与者提供易与理解的标准标记法,由业务流程管理倡议组织(BPMI)开发出了“业务流程建模标记法”(Business Process Modeling Notation,BPMN)。BPMI组织于2005年并入到OMG组织,当前BPMN规范由OMG组织进行维护。1.2 BPMN 2.0规范简述

BPMN规范1.0版由BPMI组织于2004年发布。BPMN规范的发布是为了让业务流程的全部参与人员可以对流程进行可视化管理,提供一套让所有参与人员都易于理解的语言和标记,为业务流程的设计人员(非技术人员)和实现人员(技术人员)建立起一座桥梁。BPMI组织于2005年合并到OMG(Object Management Group)组织中,其在2008年1月发布了BPMN 1.1规范。BPMN 2.0规范于2011年1月正式发布,并且全称改为Business Process Model And Notation(业务流程模型和符号)。

在1.0版本的BPMN规范中,只注重流程元素的图形,这使其在流程分析人员中非常受欢迎,而BPMN 2.0版本不但继承了1.0版本的内容,更注重流程执行语法和标准交换格式。1.2.1 BPMN 2.0概述

BPMN 2.0规范定义了业务流程的符号以及模型,并且为流程定义设定了转换格式,目的是让流程的定义实现可移植性,这样一来,用户可以在不同的供应商环境中定义流程,并且这些流程可以移植到其他遵守BPMN 2.0规范的供应商环境中。BPMN 2.0在以下方面扩展了BPMN 1.2。

规范了流程元素的执行语法。

定义了流程模型和流程图的扩展机制。

细化了事件的组成。

扩展了参与者的交互定义。

定义了编排模型。1.2.2 BPMN 2.0元素

推出BPMN 2.0的目的是建立简单的并且易懂的业务流程模型,但是同时它又需要处理高度复杂的业务流程,因此要解决这两个矛盾的要求,需要在规范中定义标准的图形和符号。BPMN中定义了5类基础的元素分类。

流对象(Flow Objects):在一个业务流程中,流对象是用于定义行为的图形元素,主要有事件(Events)、活动(Activities)和关口(Gateways)3种流对象。

数据(Data):主要有数据对象(Data Objects)、数据输入(Data Inputs)、数据输出(Data Outputs)和数据存储(Data Stores)4种元素。

连接对象(Connecting Objects):用于连接流对象,主要有4种连接流对象的方式,包括顺序流(Sequence Flows)、消息流(Message Flows)、关联(Associations)和数据关联(Data Associations)。

泳道(Swimlanes):泳道有两种途径组织基础的模型元素,分别是池(Pools)和道(Lanes)。

制品(Artifacts):制品主要用于为流程提供附加信息,当前制品包括组(Group)和注释(Text Annotation)。

以上的元素分类以及其下的元素,均是BPMN规范中元素的组成部分,其中,每个对象均有自己对应的图形。表1-1给出了各个元素的图形及其描述。表1-1 BPMN元素的图形及其描述续表

以上为BPMN规范中定义的基本元素,在这些元素的基础上,还会产生多种子元素,例如关口(Gateways)元素,还可以细分为单向关口、并行关口等,这些细分的元素将会在本书的BPMN 2.0规范章节详细讲解。1.2.3 BPMN 2.0的XML结构

BPMN 2.0规范除了定义流程元素的图形外,还对流程描述文件做了语法上的定义。例如在定义一个userTask的时候,BPMN 2.0规范规定需要有id和name属性;定义一个顺序流,需要提供id、name、sourceRef和targetRef属性。BPMN 2.0定义了XML规范,这样一份流程描述文件可以在不同的流程引擎中使用(流程引擎需要遵守BPMN 2.0规范)。

除了BPMN 2.0规定的元素及属性外,工作流引擎的供应商还可以在这些规范的基础上添加额外的属性,但是这些额外的属性不允许与任何的BPMN 2.0元素产生冲突。除此之外,供应商在对属性进行扩展时,所产生的流程模型与流程图,必须让流程的参与者能够轻松看懂,而且规范中最基础的流程元素不允许发生改变,因为这是BPMN 2.0规范的初衷。

BPMN定义的XML元素以及各个元素的作用及其使用,将会在本书后面章节中讲述。1.3 Activiti介绍

BPMN 2.0规范在2011年发布后,各个工作流引擎的供应商均向其靠拢,包括jBPM 5和本书所介绍的Activiti。Activiti的第一个版本为5.0 alpha1,2010年12月才发布了Activiti 5.0的正式版,期间经历了4个alpha版本、2个beta版本和1个rc版本,直到5.0正式版才出现对BPMN 2.0规范的支持。1.3.1 Activiti的出现

Activiti的创始人Tom Baeyens是jBPM的创始人,由于与合作伙伴在jBPM的未来架构上产生意见分歧,Tom Baeyens在2010年离开了JBoss并加入Alfresco公司。Tom Baeyens的离开使得jBPM 5完全放弃了jBPM 4的架构,基于Drools Flow重新开发。而在2010年的5月,Tom Baeyens发布了第一个Activiti版本(5.0 alpha1),由此看来,Activiti更像是jBPM 4的延续,也许是为了让其看起来更像jBPM 4的延续,Activiti团队直接将Activiti的第一个版本定义为5.0。1.3.2 Activiti的发展

从2010年5月发布第一个Activiti版本至今(2013年3月),Activiti经历了近20个版本的演化,本书成书时已经发布到5.12。Activiti采用了宽松的Apache Licence 2.0开源协议,因此,Activiti一出现,就得到了开源社区的大力支持。在开源社区的支持下,Activiti吸引了更多的工作流专家参与到项目中,这促使了Activiti在工作流领域中的创新。通过开源社区的努力,相信Activiti会有一个美好的未来。1.3.3 选择Activiti还是jBPM

根据上述内容我们知道,jBPM 5和Activiti同样支持BPMN 2.0规范,但是实际上jBPM 5已经推翻了jBPM 3和jBPM 4的架构,使用了Drools Flow作为工作流架构,这对于原来使用jBPM 3和jBPM 4的用户来说是非常郁闷的一件事(从零开始重新学习jBPM 5)。而Activiti更像是原来jBPM 4的延续,因此对于原来使用jBPM 3和jBPM 4的用户来说,推荐使用Activiti。但是由于JBoss中有一些优秀的项目(例如规则引擎Drools、Seam等),jBPM 5与这些项目进行整合具有先天的优势,因此如何选择还需要权衡。

除了原来的架构有所改变之外,还需要考虑的是,jBPM 5采用的是LGPL开源协议,如果要在其基础上使用以修改和衍生的方式做二次开发的商业软件,涉及的修改部分就需要使用LGPL协议,对于这些商用的软件来说,需要对jBPM 5的源代码进行修改并做二次开发,显然这不是个明智的选择。相对于jBPM 5,Activiti采用了更为宽松的Apache License 2.0协议,该协议鼓励代码共享并尊重原作者的著作权,其允许对代码进行修改和发布而不管其用途。1.4 本章小结

本章对工作流的起源以及发展做了简单的介绍,其中主要介绍了工作流领域的BPMN 2.0规范。BPMN 2.0规范为工作流应用提供了语言及图形的标准。本章还讲述了Activiti的产生背景,简述了Activiti目前所具有的优势,并且与“成熟”的jBPM进行了对比。下一章将带领读者开始Activiti之旅。第2章 安装与运行Activiti

本章要点

↘ 安装Ant和Maven

↘ 安装Eclipse及Activiti插件

↘ 查看Activiti源代码

↘ 编写第一个Activiti程序

Activiti的第一个正式版本发布于2010年12月1日,在本书成书时,最新的5.12版于2013年3月8日发布。经过几年的发展,Activiti已经成为一个较为成熟的工作流引擎,作为一个开源的工作流引擎,它在工作流领域吸引了众多开发者的目光。

本书将以5.10版本为基础,讲解基于Activiti的工作流应用开发。本章将介绍Activiti的安装与运行、Activiti开发环境的搭建。本书除最后一章的项目案例外,其他所有的案例均以本章的开发环境为基础,来进行工作流应用的开发与运行。搭建Activiti的开发环境,还需要安装Eclipse、Ant和Maven(可选)等开源项目。最后带领大家编写第一个Activiti应用,让大家对Activiti有一个初步的了解。

注意:

本书全部的案例均在Windows 7下开发和运行。2.1 下载与运行Activiti

如果仅仅只是运行Activiti,查看工作流的例子,则可以只下载Ant和Activiti。在Activiti的开发包中,已经包含有Activiti的Web应用例子。如果需要搭建Activiti的开发环境,还需要下载Eclipse。当然,无论运行Activiti例子还是搭建开发环境,都需要安装JDK。笔者使用的JDK版本为1.7.0_15,如果读者使用的是新版本的JDK,在理论上不会对本书的内容产生影响。(如果因使用1.7.0_15版本以上的JDK而对本书内容产生影响,请与笔者联系。)可以从以下地址下载该版本的JDK:

http://download.oracle.com/otn-pub/java/jdk/7u15-b03/jdk-7u15-windows-i586.exe2.1.1 下载和安装Ant

Ant是Apache下的一个开源项目,主要用于Java项目构建,当前版本为1.9.0。使用者可以通过编写Ant脚本对自己项目的构建进行个性化设置,Ant的下载地址为:http://apache.dataguru.cn/ant/binaries/apache-ant-1.9.0-bin.zip,下载的版本为1.9.0,文件名为apache-ant-1.9.0-bin.zip。解压这个压缩包后,可以建立一个apache-ant-1.9.0目录,然后修改系统的环境变量。在系统变量中新建ANT_HOME变量,值为D:\apache-ant-1.9.0,如图2-1所示。

添加了系统变量后,修改Path变量,在Path变量值后添加“%ANT_HOME%\bin”,如图2-2所示。图2-1 添加Ant环境变量图2-2 修改Path变量

保存后在命令行中输入“ant-version”,则可以看到命令行输出如图2-3所示。

在输出中可以看到Ant信息,当前系统使用的Ant版本为1.9.0。在默认情况下,build.xml是Ant的构建脚本。图2-3 查看Ant安装2.1.2 下载和安装Maven

与Ant一样,Maven同样是Apache下的一个开源项目,其同样用于项目的构建。Maven本身与Activiti的开发关系不大,但是Activiti的源代码需要使用Maven来管理,如果想引入Activiti的源代码,则需要安装Maven。如果并不想将Activiti项目的源代码引入到Eclipse或者对其进行编译,则可以跳过本小节。

Maven支持对项目的依赖包进行管理,支持构建脚本的继承,因此对于一些模块(子项目)较多的项目来说,Maven是更好的选择。可以使用其对整个项目的依赖包进行统一管理,各个子项目的构建脚本与父项目的构建脚本可以有依赖关系,这减少了一些冗余脚本的构建。除此之外,Maven本身的插件机制让其更加强大和灵活,用户可以使用各种Maven插件来完成很多事情,如果感觉官方或者第三方提供的Maven插件不够用,还可以自行编写符合自己要求的Maven插件。Maven为用户提供了一个统一的依赖库,各种开源项目的发布包均可以在里面找到,在一间公司或者一个项目组内部,甚至可以搭建私有的Maven仓库,将自己项目的包放到私有仓库中,供其他项目组或者开发者使用。

Maven的下载地址为:

http://labs.mop.com/apache-mirror/maven/maven-2/2.2.1/binaries/apache-maven-2.2.1-bin.zip

当前Maven的版本为3.0.5,本书使用的Maven版本为2.2.1。下载得到apache-maven-2.2.1-bin.zip压缩包后,将压缩包解压得到apache-maven-2.2.1。然后在系统变量中添加Maven环境变量,如图2-4所示。

修改系统变量的Path属性,在其值后添加“%M2_HOME%\bin”,如图2-5所示。图2-4 添加Maven环境变量图2-5 修改Path变量

完成以上的步骤后,打开命令行,输入“mvn-version”,可以看到输出如图2-6所示。图2-6 查看Maven安装

输入“mvn-version”命令后,可以看到Maven输出了当前版本号和JDK版本等信息,这证明Maven已安装完成。在默认情况下,pom.xml文件是Maven的构建脚本。2.1.3 下载和安装Activiti

安装了Ant和Maven后,现在可以下载Activiti。Activiti的主页为:http://www.activiti.org/index.html,本书使用的Activiti版本为5.10,下载地址为:http://activiti.org/downloads/activiti-5.10.zip,下载解压后得到activiti-5.10目录。Activiti的目录下有三个子目录:docs、setup和workspace,其中docs用于存放Activiti的相关文档(JavaDoc和UserGuide),setup用于运行Activiti的demo应用,workspace用于存放Activiti发布的demo源代码。通过命令行进入setup目录,输入ant命令,在Activiti下运行demo应用。在setup目录下执行ant命令,会进行demo应用的构建,并且会自动下载tomcat 6的压缩包,本例中activiti-5.10在E盘,下载的tomcat 6压缩包会在E:\downloads目录下。在下载tomcat 6的过程中会耗费一定的时间,需要耐心等待,当下载完成后,压缩包会自动解压到activiti-5.10的apps目录下,然后Tomcat自动启动并打开浏览器。Activiti提供的demo应用的登录界面如图2-7所示。图2-7 Activiti demo应用的登录界面

如果在启动过程中,浏览器并没有自动打开,可以先确认Tomcat是否正常开启(8080端口是否正常),然后在浏览器地址栏中输入“http://localhost:8080/activiti-explorer”即可访问该页面。在运行ant命令前,先确保Ant已经正确安装。2.1.4 运行第一个Activiti应用

在Activiti提供的demo应用中,已经定义了几个流程,并且为这些流程的流程节点都分配了相应的用户组。demo应用中有3个内置账号,这三个账号对应的用户名、密码及在系统中的角色如下。

kermit:账号为kermit,密码为kermit,系统管理员。

gonzo:账号为gonzo,密码为gonzo,业务管理员。

fozzie:账号为fozzie,密码为fozzie,普通员工。

使用kermit的账号进入demo应用,可以看到界面如图2-8所示。图2-8 demo应用主界面

因为kermit账号是系统管理员,因此可以看到Manage菜单,Manage主要用于系统管理,demo中提供的管理包括数据库查询、部署资源、工作查询、用户管理和用户组管理。退出kermit账号,使用普通员工的fozzie账号登录,成功登录后单击Processes菜单可以进入流程定义界面,如图2-9所示。图2-9 流程定义界面

选中Expense process流程定义,可以看到这个费用申请的流程有两个用户任务:第一个为资金申请任务;第二个为处理费用申请的任务。单击图2-9所示右上角的Start process按钮启动流程,此时流程会到达申请费用的任务,这时需要由当前的流程启动人(fozzie)输入申请的金额,如图2-10所示。图2-10 启动费用申请任务

填写完表单中的Amount项后单击Complete task按钮完成该任务,此时流程会继续向前行进,到达处理费用申请的任务,完成费用申请填写后,使用gonzo账号进行登录(当前应该由gonzo来对该流程进行处理),并选择Tasks菜单下的Queued子菜单,可以看到有一个需要让gonzo处理的任务,如图2-11所示。图2-11 处理费用申请任务

如图2-11所示,当前处理费用申请任务的是gonzo。单击图2-11中所示的Claim按钮,声明该任务由当前用户进行处理,此时图2-11最下面的Complete task按钮变为可用,输入处理意见后单击Complete task按钮,可以完成该任务。由于处理费用申请是最后一个流程任务,因此该流程到此就结束了。本小节演示了一个最简单的工作流程,demo应用中还提供了其他的流程,读者可以自己查看其他内置的流程。2.2 安装开发环境

这里所说的Activiti开发环境包括以下内容:

Eclipse IDE

Eclipse的Activiti插件

Activiti源代码

数据库环境2.2.1 下载Eclipse

本书使用Eclipse作为开发工具,版本为Kepler Release(4.3),可以从以下地址下载该版本的Eclipse:

http://mirror.bit.edu.cn/eclipse/technology/epp/downloads/release/kepler/R/eclipse-standard-kepler-R-win32.zip2.2.2 安装Activiti插件

Activiti为开发者提供了Eclipse插件,使用这个插件可以对流程进行可视化操作。例如,可以对一些常用的流程元素进行拖放等操作,该插件会自动生成相应流程的XML代码。打开Eclipse,在Help菜单中选择Install New Software菜单项,单击Add按钮,弹出如图2-12所示的窗口。

在Location文本框中输入“http://activiti.org/designer/update/”,输入完成后,单击OK按钮,打开如图2-13所示的窗口。图2-12 在Eclipse中添加软件仓库图2-13 安装Eclipse插件

选中需要更新的内容后,单击Next按钮即可进行下一步操作,再次单击Next按钮,打开如图2-14所示的窗口。图2-14 安装插件界面

选择同意License条款后单击Finish按钮即可开始安装。安装完成后重启Eclipse,选择File菜单中的New菜单项,单击Other选项,打开如图2-15所示的窗口,这表示Activiti插件已安装完成。图2-15 Eclipse插件安装成功

成功安装Eclipse插件后,不必着急使用该插件,还需要进行数据库安装,本书使用的数据库为MySQL,版本为5.6,可以到以下网址下载该版本的MySQL安装文件:

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

支持MySQL数据库的客户端有很多,例如MySQL自带的管理工具、MySQL Font和Navicat等,本书使用Navicat作为MySQL客户端。MySQL的客户端可以完成数据查询、数据修改等操作,读者可以根据自己的习惯使用不同的客户端,甚至可以直接使用MySQL命令行来操作数据库。本书的开发环境为Windows 7,安装完MySQL 5.6后,建议将MySQL配置成区分大小写(默认不区分)。修改MySQL的配置文件my.ini(如果在Windows 7下安装MySQL,则修改C:\ProgramData\MySQL\MySQL Server 5.6\my.ini),加入“lower_case_table_names=0”这项配置,重启MySQL服务。

到此,Activiti的开发环境已经搭建完成,如果读者想直接开始Activiti之旅,且对Activiti的源代码并不关心,则可以跳过2.2.3节,直接进入2.3节。2.2.3 获取Activiti源代码

可以从以下地址获取Activiti的源代码:

https://github.com/Activiti/Activiti

单击图2-16中所示的ZIP按钮进行下载,下载完成后可以得到Activiti-master.zip压缩包,解压后得到Activiti-master目录。图2-16 下载Activiti源代码

进入Activiti-master目录后,可以看到modules目录,该目录下存放Activiti的全部模块源代码。如果之前已经安装了Maven,还需要为Eclipse安装Maven插件:m2eclipse。关于Eclipse的Maven插件安装,这里不再赘述。该插件可以从以下地址下载:

http://download.eclipse.org/technology/m2e/releases

Maven插件与Activiti插件的安装步骤类似,安装成功后需要重启Eclipse。

为Eclipse安装完Maven插件后,可以导入modules目录下面的全部模块,导入时需要选择导入Maven Projects,如图2-17所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载