• JBPM4.4_工作流基础_准备jBPM4.4环境


    1. 工作流基础

    1.1. 工作流相关概念

    工作流(Workflow),就是业务过程的部分或整体在计算机应用环境下的自动化,它主要解决的是使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现

     

    工作流管理系统(WfMS,Workflow Management System)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。工作流管理系统是定义、创建、执行工作流的系统,应能提供以下三个方面的功能支持:

    1. 定义工作流:包括具体的活动、规则等

    2. 运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度

    3. 运行交互功能:指在工作流运行中,WfMS与用户(活动的参与者)及外部应用程序工具交互的功能。

     

    一、 定义工作流

    二、 执行工作流

     

    采用工作流管理系统的优点

    1. 提高系统的柔性,适应业务流程的变化 

    2. 实现更好的业务过程控制,提高顾客服务质量

    3. 降低系统开发和维护成本

     

    工作流框架有:Jbpm、OSWorkflow、ActiveBPEL、YAWL

     

    OA(办公自动化)主要技术之一就是工作流。

    1.2. 开源工作流jBPM4.4介绍

    jBPM 即java Business Process Management,是基于java的业务流程管理系统。jBPM是市面上相当流行的一款开源工作流引擎,引擎底层基于Active Diagram模型。jBPM4.4使用了hibernate(3.3.1版),因此可以很好的支持主流数据库。jBPM4.4共有18张表。

    jBPM官方主页http://www.jboss.org/jbpm

     

    2. 准备jBPM4.4环境

    2.1. jBPM4.4所需环境

    jBPM requires a JDK (standard java) version 5 or higher. http://java.sun.com/javase/downloads/index.jsp 

    To execute the ant scripts, you'll need apache ant version 1.7.0 or higher: http://ant.apache.org/bindownload.cgi

    2.2. 下载相关资源

    1, jBPM下载地址:http://sourceforge.net/projects/jbpm/files/

    2, Eclipse下载地址( Eclipse IDE for Java EE Developers (163 MB),Version:3.5 ):http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo

    2.3. 安装流程设计器(GPD,Eclipse插件)

    GPD(Graphical Process Designer)是一个Eclipse插件。

    安装方法说明(jBPM4.4User Guide, 2.11.2. Install the GPD plugin into eclipse):

     Help --> Install New Software... 

     Click Add... 

     In dialog Add Site dialog, click Archive... 

     Navigate to install/src/gpd/jbpm-gpd-site.zip and click 'Open'

     Clicking OK in the Add Site dialog will bring you back to the dialog 'Install'

     Select the jPDL 4 GPD Update Site that has appeared

     Click Next... and then Finish 

     Approve the license

     Restart eclipse when that is asked

    查看是否成功安装了插件:WindowàPreference中是否有Jboss jBPM项。

    2.4. 在Eclipse中添加jPDL4.4 Schema校验

    流程定义文件的xsd文件的路径为:JBPM_HOME/src/jpdl-4.4.xsd。

    添加到Eclipse中的方法为(jBPM4.4 User Guide, 2.11.5. Adding jPDL 4 schema to the catalog):

     Click Window --> Preferences 

     Select XML --> XML Catalog 

     Click 'Add...'

     The 'Add XML Catalog Entry' dialog opens

     Click the button with the map-icon next to location and select 'File System...'

     In the dialog that opens, select file jpdl-4.4.xsd in the src directory of the jBPM installation root.

     Click 'Open' and close all the dialogs

    2.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(或log4j.properties//要注意版本的问题,接口和实现类要相同版本
    jbpm.hibernate.cfg.xml。

    2. 修改logging.properties(或log4j.properties中的日志输出级别为WARNING: java.util.logging.ConsoleHandler.level=WARNING

    3. 修改jbpm.hibernate.cfg.xml中的数据库连接信息。如果使用MySQL,使用的方言一定要是org.hibernate.dialect.MySQL5InnoDBDialect

    4. 数据库连接编码一定要是UTF-8。否则可能会在部署含有中文字符的流程定义时会抛异常,说sql语法错误。

      

    说明:如果要改变jbpm.hibernate.cfg.xml的文件名称,需要做:

    1、从JBPM_HOME/src/中拷贝jbpm.tx.hibernate.cfg.xml放到工程的src/下,然后进行修改。

    2、修改jbpm.tx.hibernate.cfg.xml中的hibernate主配置文件的路径配置(指定的是相对于classpath的相对路径)。

    日志输出级别

    在java.util.logging.Level的javadoc中列出了可配置的所有输出级别为(由高到低):

    · SEVERE (highest value)

    · WARNING

    · INFO

    · CONFIG

    · FINE

    · FINER

    · FINEST (lowest value) 

    MySQL5InnoDBDialect

    如使用MySQLDialect,就会在流程实例结束时抛异常:com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`jbpm44_20101028/jbpm4_execution`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`))

    2.5.3. 初始化数据库

    1, 方法一:执行sql脚本文件${JBPM4.4_HOME}/install/src/db/create/jbpm.*.create.sql

    2, 方法二:使用Hibernate的自动建表,在jbpm.hibernate.cfg.xml中配置:hibernate.hbm2ddl.auto=update。

  • 相关阅读:
    Vue-router路由传参三种方法及区别
    Vue.mixins混入方法的使用
    移动端自适应方案—rem布局
    JS获取页面宽度高度及Vue页面自适应方案
    Vue实现文件的上传与下载
    Prometheus第六篇:prometheus高可用架构
    Prometheus第五篇:prometheus告警规则配置和通过alertmanager精准发送告警
    Prometheus第四篇:prometheus服务发现方式解析
    Prometheus第三篇:prometheus.yml配置解析
    Prometheus第二篇:Prometheus部署
  • 原文地址:https://www.cnblogs.com/justdoitba/p/7979374.html
Copyright © 2020-2023  润新知