1.工作流基础1.1.工作流相关概念工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。工作流管理系统(WfMS,WorkflowManagementSystem)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。工作流管理系统是定义、创建、执行工作流的系统,应能提供以下三个方面的功能支持:1.定义工作流:包括具体的活动、规则等2.运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度3.运行交互功能:指在工作流运行中,WfMS与用户(活动的参与者)及外部应用程序工具交互的功能。一、定义工作流二、执行工作流采用工作流管理系统的优点1.提高系统的柔性,适应业务流程的变化2.实现更好的业务过程控制,提高顾客服务质量3.降低系统开发和维护成本工作流框架有:Jbpm、OSWorkflow、ActiveBPEL、YAWL等OA(办公自动化)主要技术之一就是工作流。1.2.开源工作流jBPM4.4介绍jBPM即javaBusinessProcessManagement,是基于java的业务流程管理系统。jBPM是市面上相当流行的一款开源工作流引擎,引擎底层基于ActiveDiagram模型。jBPM4.4使用了hibernate(3.3.1版),因此可以很好的支持主流数据库。jBPM4.4共有18张表。jBPM官方主页:http://www.jboss.org/jbpm2.准备jBPM4.4环境2.1.jBPM4.4所需环境jBPMrequiresaJDK(standardjava)version5orhigher.http://java.sun.com/javase/downloads/index.jspToexecutetheantscripts,you'llneedapacheantversion1.7.0orhigher:http://ant.apache.org/bindownload.cgi2.2.下载相关资源1,jBPM下载地址:http://sourceforge.net/projects/jbpm/files/2,Eclipse下载地址(EclipseIDEforJavaEEDevelopers(163MB),Version:3.5):http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo2.3.安装流程设计器(GPD,Eclipse插件)GPD(GraphicalProcessDesigner)是一个Eclipse插件。安装方法说明(jBPM4.4UserGuide,2.11.2.InstalltheGPDpluginintoeclipse):oHelp-->InstallNewSoftware...oClickAdd...oIndialogAddSitedialog,clickArchive...oNavigatetoinstall/src/gpd/jbpm-gpd-site.zipandclick'Open'oClickingOKintheAddSitedialogwillbringyoubacktothedialog'Install'oSelectthejPDL4GPDUpdateSitethathasappearedoClickNext...andthenFinishoApprovethelicenseoRestarteclipsewhenthatisasked查看是否成功安装了插件:WindowPreference中是否有JbossjBPM项。2.4.在Eclipse中添加jPDL4.4Schema校验流程定义文件的xsd文件的路径为:JBPM_HOME/src/jpdl-4.4.xsd。添加到Eclipse中的方法为(jBPM4.4UserGuide,2.11.5.AddingjPDL4schematothecatalog):oClickWindow-->PreferencesoSelectXML-->XMLCatalogoClick'Add...'oThe'AddXMLCatalogEntry'dialogopensoClickthebuttonwiththemap-iconnexttolocationandselect'FileSystem...'oInthedialogthatopens,selectfilejpdl-4.4.xsdinthesrcdirectoryofthejBPMinstallationroot.oClick'Open'andcloseallthedialogs2.5.准备jBPM4.4的开发环境2.5.1.添加jBPM4.4的jar包1.${JBPM_HOME}/jbpm.jar(核心包)2.JBPM_HOME/lib/*.jar,不添加以下jar包:servlet-api.jar,junit.jar。其中junit.jar一定不要添加,因为是3.8.2版本,与我们使用的junit4有冲突。3.所使用的数据库对应的驱动的jar包(第2步所添加的jar包中已包含mysql的jdbc驱动jar包)。2.5.2.添加并定制配置文件1.配置文件可以从JBPM_HOME/examples/src/中拷贝:jbpm.cfg.xml、logging.properties、jbpm.hibernate.cfg.xml。2.修改logging.properties中的日志输出级别为WARNING:java.util.logging.ConsoleHandler.level=WARNING3.修改jbpm.hibernate.cfg.xml中的数据库连接信息。如果使用MySql,使用...