`
zeng7960983
  • 浏览: 42804 次
  • 性别: Icon_minigender_1
  • 来自: 邵阳
社区版块
存档分类
最新评论

jbpm4.4 学习分享

    博客分类:
  • jbpm
阅读更多
前面时间学习了jbpm4。4 做了个简单分享。现在把我的文档上传上来给大家分享下。
工作流介绍:

工作流管理联盟(即WfMC,这个组织在后面会介绍)对于“工作流”这个概念的经典定义为:全部或者部分由计算机支持或自动处理的业务过程.

工作流管理系统(Workflow Management System, WFMS)是这样一个软件包:它通过执行经过计算的流程定义去支持一批专门设定的业务流程。它被用来支持定义、管理和执行工作流程。
因此,对于我们来说,工作流管理系统的目标是:管理工作的流程以确保工作在正确的时间被期望的人员所执行——在自动化进行的业务过程中“插入”人工的执行和干预,可以说正是工作流管理系统的价值所在,也是工作流系统开发者的主要工作内容。

主流的工作流:
FixFlow:国人开源工作流 http://www.csdn.net/article/2014-03-31/2819052-fixflow-development-team-interview csdn对其的采访.
产品 版本 许可证 支持 功能 社区支持 成熟度 ER-Rating 趋势
Bonita 3.1 LGPL 社区版 ★★★ ★★★ ★★ ★ →
描述:拥有基于“活动预测模型”的工作流引擎,符合WfMC规范。只适用于Jonas应用服务器和JBoss应用服务器。
网址:http://bonita.objectweb.org
Enhydra Shark 2.2 LGPL 专业/社区版 ★★★ ★★★ ★★★ ★★ ↑
描述:拥有基于Java技术、可扩展的工作流引擎,实现了WfMC规范,即使用XPDL语言来定义流程。该项目提供了图形化流程设计器。
网址:http://shark.objectweb.org
Intalio| BPMS 5.1.1 Apache
Eclipse
Public
License
Custom 专业/社区版 ★★★ ★★ ★★ ★★ ↑
描述:是一个业务流程管理平台,提供了复杂的工具和底层技术用来支持流程的运行,包括流程设计器(基于Eclipse)、流程引擎(ODE)和一些运行时组件。
网址:http://bpms.intalio.com
IX Workflow 1.5 LGPL 专业/社区版 ★ ★ ★ ★ ↑
描述:基于Java体系的工作流系统,负责持久化以及处理业务流程,能很好地支持与Domino,JBoss,Sun Glassfish应用服务器的集成。流程设计器是基于Eclipse的插件。
网址:http://www.imixs.org
JBoss
jBPM 3.2.3 LGPL 专业/
社区版 ★★★★ ★★★ ★★★ ★★★ ↑
描述:灵活且可扩展的工作流管理系统。使用管理者和开发者都可以理解的语言(如jPDL或BPEL)来定义流程。其图形化流程设计器为Eclipse插件。
网址:http://www.jboss.com/products/jbpm
ODE
(Apache) 1.2 Apache
License 2.0 社区版 ★★ ★★★ ★★★ ★ →
描述:基于Java组件的工作流引擎,遵循BPEL4WS规范。ODE工作流引擎早于PXE工作流引擎面世。
网址:http://ode.apache.org

jbpm介绍:
jBPM,全称是Java Business Process Management,是一种基于JavaEE的轻量级工作流管理软件包,由于jBPM架构的开放性,它更像是一个支持面向流程编程的框架(Framework)。jBPM是开放源代码(Open Source)项目,使用jBPM要遵循LGPL开放源代码协议。以下的介绍将使您对这个著名的项目有一个概念性的认识。
jbpm优势
1. 嵌入式的工作流引擎
jBPM4是完全支持嵌入式应用的业务流程开发框架,可以在事务处理、数据持久化等各个方面与业务应用程序进行灵活的集成。区别于传统的工作流平台,它不需要依赖特定的中间件或服务器,减少了硬件和软件的绑定,同时降低了应用部署的网络复杂度,使应用更加容易实现集群。软件开发者可以把jBPM4框架作为业务流程管理的基础,在此基础上开发自己独特的业务流程管理模块和功能。在部署时,只需要把jBPM4作为Java依赖库发布就可以了。
2. 可插拔的体系架构
jBPM4采用了模块化的架构设计,采用了IOC(依赖注入)的设计理念,各模块之间可以比较方便地解除耦合或替换不同的实现,例如持久化、事务处理、身份认证、日志服务等,都由可选模块实现。jBPM的可插拔体系架构,为软件开发者灵活选择jBPM的功能、自定义已有功能和拓展新功能提供了“无限可能”。
3. 易扩展的流程语言
jBPM框架内置的流程定义活动,包括start,task,fork,join和decision等,是构建完整业务流程所必需的组成部分,它们提供了可以将业务逻辑Java代码和业务流程
编排无缝衔接的绑定机制。而除了这些内置的流程定义活动和流程结构之外,软件开发者还可以通过定制新的活动类型或者完全重新设计一种新的流程定义语言来描述特定领域的业务流程,满足独特环境下的需求。
jbpm 缺点:
1 学习难度大。
2 版本兼容性不太好。升级起来很麻烦的。
3 应用难度大。 一般的只有复杂的业务流程才使用。


jbpm 学习资料:
(1)官方文档:http://jbpm.jboss.org/
(2)http://blog.csdn.net/lsh6688/article/details/8643834 视频教程。
(3)http://www.mossle.com/tutorial/jbpm4devguide/html/incubation.html 工作流节点介绍
(4)http://www.07net01.com/linux/jbpm_gongzuoliukuangjiabiji_657282_1381979075.html工作流笔记
(5)  http://blog.csdn.net/yy_done/article/details/6273984会签
(6)  spring和jbpm集成
(7)http://code.google.com/p/family168/downloads/list  family168的视频(jbpm4)

Jbpm安装:
(1)下载jbpm4.4的jar包。 http://sourceforge.net/projects/jbpm/files/

(2)给eclipse安装jbpm的插件.具体的安装过程请查看该地址:http://blog.csdn.net/chenyi8888/article/details/8956052。myeclipse的jbpm插件安装:http://www.iteye.com/problems/95409
(3)建议使用eclipse安装,使用myeclipse安装报错下面的错:

网上的解决方案是:http://blog.sina.com.cn/s/blog_7d1d5b000101ey6b.html
安装jbpm的demo :http://blog.csdn.net/conjimmy/article/details/7050277.注意ant的版本最好大于1.6.否则安装demo会报错。Ant安装: http://www.cnblogs.com/yuzhongwusan/archive/2013/03/26/2982411.html 访问:http://localhost:8080/jbpm-console/app.html出现一下页面表示demo初始化成功.

用户名 密码


http://localhost:8080/jbpmeditor/p/explorer自己提供的流程图设计器

jbpm 流程节点介绍:

(1)Start节点:
(2)End节点:
(3)Task节点:
(4)Decision节点:
(5)transition用法:
(6)Mail节点:
(7)Java节点:
(8)Hql节点:
jbpm 简单请假流程设计:





jbpm 请假流程代码实现
jbpm 会签 回退 共享
(1)会签:参考jbpmtest项目的 CountersignTest.java
(2)回退:  参考jbpmtest项目的 GoBackTest.java
(3)共享: 参考jbpmtest项目的TaskGroupTest.java






jbpm 与Spring集成
(1)ProcessEngine对象由spring创建
(2)事务交给spring处理

jbpm 与项目集成
(1)hibernate和ibatis共用同一数据源
(2)hibernate和ibatis事务交给spring处理
(3)ProcessEngine对象由spring创建


jbpm 表结构 图

jbpm开发中遇到的问题
Jbpm页面乱码和数据库乱码: http://blog.csdn.net/suhenhappy/article/details/8477436

分享到:
评论
2 楼 zeng7960983 2014-07-15  
shao_lixin 写道
正在学习jbpm,苦于不知道从何下手呢。谢谢分享

多多交流吧.我也是个人学习. 还没真正的项目应用。
1 楼 shao_lixin 2014-07-11  
正在学习jbpm,苦于不知道从何下手呢。谢谢分享

相关推荐

Global site tag (gtag.js) - Google Analytics