如何用jbpm做出一个状态可视化动态可编辑的工作流平台-1

原创 2016年05月28日 13:06:21

什么是JBPM

在我们决定学习JBPM之前,还是先来看看这头骡子是个什么东西,以下是百度百科上的解释:
JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。
看完这个,你能准确的理解JBPM是个什么鸟吗?!我觉得有点难。还是再问问百度,搜一下其他关于JBPM的博客,给的例子都是JBPM4.0以前的了,知道4.0是什么时候发布的吗?2010年,但现在JBPM的最新版本已经是jbpm v6.4, 发布于2016年4月份,这6年的跨度中,这个开源代码项目已经作了改头换面的修改,变化之大你难以想象。这也促成了我打算写这一系列关于jbpm和bpmn的文章,因为大家得赶上潮流嘛,我打算以这个版本(6.4)作为例子给大家讲解jbpm。
好,那什么是jbpm, 把它的英文全称翻译过来是很容易理解的,java业务流程管理。但这里的jbpm是特指的,RedHat公司下面的一个JBoss开源项目,它提供了一套组件,能够让你快速灵活的开发出一套工作流管理系统。

什么是BPMN

那我们要coding出一套工作流管理系统,只有JBPM就够了吗?不够!我们在了解jbpm的时候不能把它和bpmn分开。什么是bpmn? 它的全称是Business process model and notation。这家伙是一套类似于UML和xml的流程设计语言,既能像UML一样以可视化的方式编辑路程,也能像XML一样编辑,而JBPM包含了一套完整的基于Java的BPMN API,通过读取bpmn2文件里面定义的流程内容,进而实现状态机控制,业务调度和数据库管理等。具体我们还是看看百度娘给我们的解释:
BPMN是由BPMI(The Business Process Management Initiative)开发的一套标准:业务流程建模符号(BPMN - Business Process Modeling Notation)。在 BPMI Notation Working Group超过2年的努力,于2004年5月对外发布了BPMN 1.0 规范。后BPMI并入到OMG组织,OMG于2011年推出BPMN2.0标准,对BPMN进行了重新定义(Business Process Model and Notation)。BPMN的主要目标是提供一些被所有业务用户容易理解的符号,从创建流程轮廓的业务分析到这些流程的实现,直到最终用户的管理监控。BPMN也支持提供一个内部的模型可以生成可执行的BPEL4WS。因此BPMN的出现,弥补了从业务流程设计到流程开发的间隙。
BPMN定义了一个业务流程图(Business Process Diagram),该业务流程图基于一个流程图(flowcharting),该流程图被设计用于创建业务流程操作的图形化模型。而一个业务流程模型(Business Process Model),指一个由的图形对象(graphical objects)组成的网状图,图形对象包括活动(acticities)和用于定义这些活动执行顺序的流程控制器(flow controls)。

我们为什么使用JBPM

说了这么多没用的,我们还是回到开发者的视角,如果我们有很多工作流需要管理,维护,和监控,我们该怎么做?我想以下是我们使用JBPM有几大理由(到底有几大我也说不清,只能简单谈谈我的看法):

  1. 要管理工作流,我们必须要有工作流管理系统,但我们应该不会阿甘到想自己开发一套包含有状态机,有流程控制,流程监管,有数据库的系统,并且开发出自己的工作流设计语言。
  2. JBPM能很好的的解释BPMN设计的工作流,JBPM+BPMN是业界标准,我们必须选用。
  3. JBPM是一个开源项目,虽然接口不稳定,但至少一直在进化,也有完备的文档,背靠开源项目,找帮手不愁.
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Atitit.可视化编程jbpm6 的环境and 使用总结...

Atitit.可视化编程jbpm6 的环境and 使用总结...     1. Jbpm的意义 1 2. Jbpm6环境配置 2 2.1. Down 2 2.2. Install ecli...
  • attilax
  • attilax
  • 2014年06月29日 21:30
  • 3405

在eclipse中安装jbpm插件进行可视化编辑及生成数据库脚本

1.下载eclipse,我下的是3.2.12.下载jbpm软件包,上jboss那个网站,去下jbpm-starters-kit-3.0.4.zip,其中包括了gpd软件包,主公作区,和相关数据库文件生...
  • jimmee
  • jimmee
  • 2008年10月29日 12:58
  • 2245

动态工作流的设计

最近在做动态工作流的东西,感觉有不少心得体会,拿出来和大家交流一下。我们做动态工作流,主要是为了支持OA的加签、会签和动态的跳转。1概述(1)会签对应着动态的增加参与者: 如上图中,活动A本来有参与者...

jbpm4.4 在线流程设计器 ext.js+raphael.js

截图: 源码下载地址:http://download.csdn.net/detail/chen978616649/7898465#comment...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

从零开始学jBPM6(五)- BPMN2.0流程编辑

eclipse BPMN2 Modeler插件 http://www.eclipse.org/bpmn2-modeler/
  • Jayron
  • Jayron
  • 2017年03月29日 09:51
  • 1748

动态工作流引擎

google 开源工作流引擎http://www.oschina.net/project/tag/129/workflow介绍一个开源的工作流引擎 Fire workflowhttp://simple...

jbpm学习笔记(二)--jbpmHelloWorld(运行环境配置)

本篇文章通过编写一个HelloWorld小程序,来初步讲述jbpm运行环境配置的全过程。 1.创建工程 在eclipse中创建java工程(没错是java工程),起名为chuang_jbpm。然后...

优雅的实现Activiti动态调整流程(自由跳转、前进、后退、分裂、前加签、后加签等),含范例代码!

最近对Activiti做了一些深入的研究,对Activiti的流程机制有了些理解,对动态调整流程也有了一些实践方法。 现在好好总结一下,一来是对这段时间自己辛苦探索的一个记录,二来也是为后来者指指路...

【整合篇】JBPM4.4业务与流程的整合

在这次学习工作流的过程中,工作流如何与业务结合有多种方式,虽然很简单,但是每次都要再次梳理几分钟,这次拿出来整理一下,将它真正成为自己的知识。   从启动流程开始说:   申请页面:选择所用流程(即画...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何用jbpm做出一个状态可视化动态可编辑的工作流平台-1
举报原因:
原因补充:

(最多只允许输入30个字)