做jbpm一段时间,但是一直没来得及记下点什么,今天开始写点jbpm4.x的笔记。
首先介绍一下jbpm的一些理论知识。(参考jbpm4工作流应用开发指南)
企业信息化是每个现代企业构建强有力管理或生产后盾的一个基本途径,普通的流程已经不能满足复杂的企业应用,工作流逐渐流行起来,特别是在ERP(企业资源计划),CRM(客户关系管理),EAI(企业应用集成)等企业应用中,发挥了不可估量的作用,当然,互联网领域也有着很多类似的应用。
传统的工作流解决方案已经阻碍开发者的脚步,那么工作流引擎成了统一步伐的发令枪。
JBoss的jbpm可以说是现在最为流行的一种java工作流业务流程管理框架,是一个可扩展,灵活的能够实现工作流/业务流程管理的企业级开发框架,提供了流程定义,流程部署,流程执行,流程管理等功能。
前段时间一个前同事说学习jbpm时候吃了很多亏,倒腾了几天还在报错,我现在就从最开始怎样配置,怎样部署,一步步的记录jbpm的开发过程,也算是我再熟悉一下了(现在脑子想的事儿多,一时半会容易出现blank,好记性不如烂键盘!)。
一,这个东东虽然是jboss的,但是也支持tomcat的。你可以下载tomcat6或者jboss5,我建议先下载jbpm4.4,然后解压,解压后的文件夹就是你的jbpm工作目录,我就用${jbpm.home}来表示,然后下载一个jboss-5.1.0.GA.zip,并且把这个压缩文件,直接拷贝到${jbpm.home}/install/downloads下面去(其实tomcat是一样的道理)。你可以不拷贝进去,但是你不拷贝的话,等你ant的时候,它会自动的在网上下载这个版本的jboss,万能了ant啊(后面会提到)。
二,假如你不了解ant的话,我建议你看看我的另外一篇博文
http://duyunfei.iteye.com/blog/857675,假如你没时间看,请继续。
ant说简单点,是一个构建部署程序的一把利剑,由于是基于java的开源产品,所以具有良好的移植性和易用性。首先,你下载一个最新ant版本,然后下载后解压,设置环境变量 ANT_HOME=E:\ant1.8.2,Path后面加上;E:\ant1.8.2\bin,启动cmd然后ant,出现build.xml does not exist! 成功。
此时你打开命令控制台,即cmd,进入目录${jbpm.home}/install,运行脚本:ant demo.setup.jboss,ok,别看这两步,它帮你完成了这些操作:
1,把jboss安装到${jbpm.home}的jboss-5.1.0.GA下。
2,把jbpm安装到jboss中。
3,安装HSQLDB,并在后台启动。
4,创建数据库表结构。
5,在后台启动jboss,你可以用http://localhost://8080访问,会出现jboss的首页。
6,根据示例(来自examples目录)创建一个examples.bar 业务流程归档,并把它发布到jbpm数据库中。
7,从${jbpm.home}/install/src/demo/example.identities.sql初始化用户和组。
有的书中说还把eclipse安装到${jbpm.home}/eclipse中,启动eclipse,安装jbpmweb控制台,安装signavio web设计器,但是我这人
貌似没这些。
此时你可以使用GPD(图形化流程设计器)这个机遇eclipse的客户端软件区进行流程建模,如何安装待会儿再讲,或者你可以通过
Signavio web设计器进行流程建http://localhost:8080/jbpmeditor/p/explorer,这时候,也可以使用jbpm控制台
http://localhost:8080/jbpm-console/,用下列用户之一进行登录(用户名/密码):
alex/password,mike/password,peter/password,mary/password
ant可以为我们办到很多事情,比如下载安装eclipse,jboss,tomcat等,但是惟独没有帮我们下载并安装数据库软件,如果要成功运行jbpm,你必须要修改一些配置文件,例如数据库对应的配置文件,在目录${jbpm.home}/install/jdbc中,这个目录列出了jbpm官方支持数据库类型的相应配置,根据你对数据库的选择配置相应的properties文件。例如mysql.properties的内容如下
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/jbpmdb
jdbc.username=jbpm
jdbc.password=jbpm
oracle.properties的内容如下
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:jbpmdb
jdbc.username=jbpm
jdbc.password=jbpm
在install的build.xml文件中database可以自定义,默认是HSQLDB,可选值是mysql,oracle,postgresql,在ant的时候jboss.version可以指定为5.0.0GA或者5.0.0GA,jbpm4.3的默认是前者,jbpm4.4默认是后者,我们按照高版本来。如果要自定义这些参数值,可以在运行ant安装脚本时使用 -D指令,如:
ant -Ddatabase=postgresql demo.set.jboss,假如你刚才已经执行过了,现在务必把jboss的服务关了,而且得把mysql服务打开,并确保mysql.properties中的链接语句是正确的,才能重新执行成功。
执行成功后,你可以在mysql数据库中看到jbpmdb下面建立了许多表。在这儿不列出来了。
在这里提到一个重要的概念,执行ant的时候,会把jbpm安装到Jboss应用服务器中,这回把jbpm安装成一个jboss的服务,因此这台jboss上所有应用程序都可以使用这个安装的jbpm流程引擎。
在上面我们提到 Signavio 这个东西,它是基于web的流程设计器,输入
http://localhost:8080/jbpmeditor/p/explorer,可以进入管理页面。
配置它比较简单,大多数参数在web.xml中修改即可,你可以在jbpmeditor.war/WEB-INF/目录中找到,fileSystemRootDirectory很重要,
这个参数的值必须为一个物理上存在的本地目录,它指定了流程定义文件(*.jpdl.xml文件)存储的位置,比如我的这个参数显示的是
<context-param>
<description>Filesystem directory that is used to
store models</description>
<param-name>fileSystemRootDirectory</param-name>
<param-value>F:/jbpm-4.4/signavio-repository</param-value>
</context-param>
以上是一些最初级的配置,由于篇幅较长,下篇继续讲解,并且演示出一个简单的例子。
分享到:
相关推荐
jbpm学习笔记主要涵盖了jbpm(Java Business Process Management)的多个方面,包括Signavio的使用和配置、jBPM数据库的安装、Graphical Process Designer(GPD)的安装以及jBPM在Eclipse环境中的配置。以下是这些...
#### 三、JBPM学习笔记系列 **1.1 Ant构建与数据库环境配置** - 重点介绍了如何使用Ant进行构建和部署,以及如何配置数据库环境,为后续的流程定义和执行打下基础。 **1.2 MyEclipse整合JBPM配置** - 讲述了...
【JBPM4.3学习笔记及请假流程代码】 JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一套完整的解决方案,用于管理和执行业务流程。JBPM4.3是该系统的其中一个版本,它包含了流程...
本文档旨在介绍jBPM的基本概念、安装配置以及一个具体的使用案例,帮助读者快速掌握jBPM的核心技术。 #### 二、jBPM简介 - **定义与特点**:jBPM是一个开源的工作流引擎,支持业务流程建模与执行。它具有高度的灵活...
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7
weixin138社区互助养老+ssm(论文+源码)_kaic.zip
光纤到户及通信基础设施报装申请表.docx
项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7
功能完善的电商数据智能爬虫采集系统项目全套技术资料.zip
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
### Android程序开发初级教程(一):初识Android **平台概述** Google推出的Android操作系统平台已经正式亮相,这是一个基于Linux内核的开源操作系统。对于开发者而言,了解其架构和支持的开发语言至关重要。以下是Android平台的架构概览: **平台架构及功能** 1. **应用框架(Application Framework)**:包含可重用和可替换的组件,确保所有软件在该层面上的平等性。 2. **Dalvik虚拟机(Dalvik Virtual Machine)**:一个基于Linux的虚拟机,为Android应用提供运行环境。 3. **集成浏览器(Integrated Browser)**:基于开源WebKit引擎的浏览器,位于应用层。 4. **优化图形(Optimized Graphics)**:包括自定义的2D图形库和遵循OpenGL ES 1.0标准的3D实现。 5. **SQLite数据库**:用于数据存储。 6. **多媒体支持(Media Support)**:支持通用音频、视频以及多种图片格式(如MPEG4, H.264
内容概要:本文档是《组合数学答案-网络流传版.pdf》的内容,主要包含了排列组合的基础知识以及一些经典的组合数学题目。这些题目涵盖了从排列数计算、二项式定理的应用到容斥原理的实际应用等方面。通过对这些题目的解析,帮助读者加深对组合数学概念和技巧的理解。 适用人群:适合初学者和有一定基础的学习者。 使用场景及目标:可以在学习组合数学课程时作为练习题参考,也可以在复习考试或准备竞赛时使用,目的是提高解决组合数学问题的能力。 其他说明:文档中的题目覆盖了组合数学的基本知识点,适合逐步深入学习。每个题目都有详细的解答步骤,有助于读者掌握解题思路和方法。
.net core mvc在线考试系统asp.net考试系统源码考试管理系统 主要技术: 基于.net core mvc架构和sql server数据库,数据库访问采用EF core code first,前端采用vue.js和bootstrap。 功能模块: 系统包括前台和后台两个部分,分三种角色登录。 管理员登录后台,拥有科目管理,题库管理,考试管理,成绩管理,用户管理等功能。 教师登录后台,可进行题库管理,考试管理和成绩管理。 用户登录前台,可查看考试列表,参加考试,查看已考试的结果,修改密码等。 系统实现了国际化,支持中英两种语言。 源码打包: 包含全套源码,数据库文件,需求分析和代码说明文档。 运行环境: 运行需vs2019或者以上版本,sql server2012或者以上版本。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
包含了登陆注册、用户管理、部门管理、文件管理、权限管理、日志管理、个人中心、数据字典和代码生成这九个功能模块 系统采用了基于角色的访问控制,角色和菜单关联,一个角色可以配置多个菜单权限;然后再将用户和角色关联,一位用户可以赋予多个角色。这样用户就可以根据角色拿到该有的菜单权限,更方便管理者进行权限管控。 本系统还封装了文件管理功能,在其他模块如若要实现图片/文件上传预览时,前端只需导入现成的 Vue 组件即可实现(使用 viewerjs 依赖实现),后端只需定义 String 类型的实体类变量即可,无需再去研究文件上传预览的相关功能,简化了开发者的工作量。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
三相10Kw光伏并网逆变器。包含全套理图 PCB 源代码
GJB 5236-2004 军用软件质量度量文档,本称准规定了车用软件产品的质重模型和基本的度量。本标准为确定车用软件质量需求和衡量军用 软件产品的能力提供了一个框架。
基于MATLAB车牌识别系统【GUI含界面】.zip。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
【宿舍管理系统】是一种专为高校或住宿机构设计的信息化解决方案,旨在提高宿舍管理的效率和准确性。该系统包含了多项核心功能,如宿舍管理员管理、宿舍信息维护、查询、卫生检查以及电费缴纳等,旨在实现全面的宿舍运营自动化。 **宿舍管理员管理**功能允许指定的管理员进行用户权限分配和角色设定。这包括对管理员账户的创建、修改和删除,以及设置不同的操作权限,例如只读、编辑或管理员权限。通过这样的权限控制,可以确保数据的安全性和管理的规范性。 **宿舍添加与管理**是系统的基础模块。管理员可以录入宿舍的基本信息,如宿舍号、楼栋、楼层、房间类型(单人间、双人间等)、容纳人数、设施配置等。此外,系统还支持批量导入或导出宿舍信息,方便数据的备份和迁移。 **查询功能**是系统的重要组成部分,它允许管理员和学生根据不同的条件(如宿舍号、楼栋、学生姓名等)快速查找宿舍信息。此外,系统还可以生成各种统计报告,如宿舍占用率、空闲宿舍数量等,以便于决策者进行资源优化。 **卫生检查**功能则是对宿舍卫生状况进行定期评估。管理员可设定检查计划,包括检查周期、评分标准等,并记录每次检查的结果。系统能自动生成卫生报表,用于