J2EE工作流管理系统jBPM详解

c#小王子 c#小王子 2021-11-12 691 Java


J2EE工作流管理系统jBPM详解


一、jBPM 入门简介


概述


工作流业务流程管理技术是基于 SOA 技术实现的一个核心部分。使用工作流能够在软件开发和业务两个层次受益:


1、方便开发


工作流管理系统能够简化企业级软件开发甚至维护。


◆降低开发风险 - 通过使用状态和动作这样的术语,业务分析师和开发人员使用同一种语言交谈。这样开发人员就不必将用户需求转化成软件设计了。


◆实现的集中统一 -业务流程经常变化,使用工作流系统的最大好处是:业务流程的实现代码,不再是散落在各种各样的系统中 。


◆加快应用开发 - 你的软件不用再关注流程的参与者,开发起来更快,代码更容易维护。


2、业务流程管理 (BPM)


在自动化业务流程之前,分析并将它们规格化是一件艰苦但会有很好回报的工作:


◆提高效率 - 许多流程在自动化过程中会去除一些不必要的步骤较好的流程控制 - 通过标准的工作方法和跟踪审计,提高了业务流程的管理


◆改进客户服务 - 因为流程的一致性,提高了对客户响应的可预见性


◆灵活 - 跨越流程的软件控制,使流程可以按照业务的需要重新设计。


◆业务流程改进 - 对流程的关注,使它们趋向于流畅和简单


但从长远的角度,工作流流程管理技术的研究可为两个阶段进行:1.目前解决华研今后新项目中复杂业务流程如何使用工作流引擎技术进行实现的问题。


2.上升到面向服务体系架构,实现各个服务之间的业务流程。


jBPM,全称是 Java Business Process Management,是一种基于 J2EE 的轻量级工作流管理系统。jBPM 是公开源代码项目,它使用要遵循 Apache License.jBPM 在 2004 年 10 月 18 日,发布了 2.0 版本,并在同一天加入了 JBoss,成为了 JBoss 企业中间件平台的一个组成部分,它的名称也改成 JBoss jBPM.随着jBPM 加入 JBoss 组织,jBPM 也将进入一个全新的发展时代,它的前景是十分光明的。JBoss jBPM 只有最小的倚赖性,它可以很容易的作为 java 库来使用。当然它也可以用在访问量很大的 J2EE 群应用服务器环境中。 JBoss jBPM 可以同任何

数据库配置可以部署在任何应用服务器上。


jBPM 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如 WfMCXPDL,BPML,ebXML,BPEL4WS 等,而是采用了它自己定义的 JBoss jBPM Processdefinition language (jPdl)。jPdl 认为一个商务流程可以被看作是一个 UML状态图。jPdl 就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。


jBPM 的另一个特色是它使用 Hibernate 来管理它的数据库。Hibernate 是目前Java 领域最好的一种数据持久层解决方案。通过 Hibernate,jBPM 将数据的管理职能分离出去,自己专注于商务逻辑的处理。(具体选型报告可参考工作流技术选型评估报告)。


本文档主要是工作流研究小组关于开源工作流引擎 jbpm 的研究成果总结。内容包括工作流研究场景的介绍、jbpm 的环境配置,并包括以下六个研究主题:


◆JBPM 同开发如何结合,又如何保持独立性;对应用系统的设计实现有什么样的制约

◆用户/角色如何同应用系统结合,变化又如何处理

◆流程中每个活动,如何动态指定执行者

◆类似传阅功能如何实现

◆子流程如何实现

◆流程执行步骤耗时阀值和自动提醒设置

◆jBPM 当前版本的稳定性评估


术语、定义和缩略语



应用场景


本场景是从房地产营销系统的需求中提取出来的,在房地产项目中,客户选户购房的过程是一个非常典型的工作流场景。我们将这一过程提取出来,作为 jbpm技术研究的场景。在购房过程中,会有以下人员参与。


客户:购房的主体

销售人员:在购房过程中指导看房,购房。

销售经理:确定认购信息。

财务人员:收取定金。

客服人员:打印收据,打印客户认购书。客户购房的过程可以描述如下。


◆客户来到售楼中心,销售人员进行接待。

◆客户向销售人员提供预先申请的服务号。

◆销售人员确认服务号是否有效,如果无效现场给出一个新的服务号。

◆销售人员引导客户选房。

◆客户确定户型,房号。

◆销售人员录入客户认购资料。

◆销售人员确认认购资料填写完整。

◆销售人员将认购资料提交给销售经理审批。

◆确定是否可以获得优惠,如果客户是一次交清房款,获得 0.1%优惠。

◆交上级经理审批。

◆销售人员引导客户到财务处交纳定金。

◆交纳定金后,客服人员打印收据。

◆客服人员打印认购书。


为了使用研究的场景更有代表性,揉合其他典型的工作流应用场景,将上面的流程作一些删改。


客户认购的流程改为:

◆客户确定购房,销售人员录入认购资料。

◆提交认购资料,必须保证录入资料的完整性。

◆提交审核,按总金额进行分类审核。如果金额小于 50 万销售经理审核即可,大于 50 万还要上级经理两人同时审核通过。

◆审批完成,客户到财务处交纳定金。

◆客服人员为客户打印收据,打印认购书,认购完成。



上面的流程中一些异常情况(流程中的一些分支),在这里先不作考虑,如,客户在交纳定金之前可以随时放弃认购。客户的认购要录入的资料内容包括:客户姓名,房号,定金,总金额,流程号等,这里仅选取几个重要的数据作为保存对象。保存录入资料时自动取得一个流程号,任何时候,可以根据此流程号跟踪流程状态,所以在保存认购资料时要记录流程号。


通用的标准规范


jBPM 是个功能全面的 Workflow Engine,融合了 4 大功能:Workflow,BPM,BPEL,PageFlow。它自己有个 BPEL 扩展,采用 jboss Hibernate 实现,它使用自定义的自定义标准 jpdl,不支持目前公开的工作流(业务流程)标准,如:


◆JCP

◆JSR208 Java Business Integration

◆JSR207 Process Definition for Java

◆OASIS

◆WS-BPEL

◆Workflow Management Coalition(WFMC)

◆WFMC XPDL

◆Business Process Management Initiative (BPMI)

◆BPMN

◆Object Management Group (OMG)

◆State Chart XML (SCXML)


处理测试阶段的 JBoss jBPM BPEL 扩展准备支持 BPEL 1.1 标准(非标准组织通过的标准)。


技术方案


由于公司采取的架构是 ejb3+tapestry4 架构,所以我们的场景实现架构也是基于以上架构进行实现的(tapestry4+ejb3+jbpm3.2),我们所采取的 jbpm 版本是3.2,这也是目前 jbpm 最新的版本。这里我们使用 jboss 作为我们的 web 服务器


开发环境


这里我们是采用 eclipse3.2 开发工具进行开发,Tapestry4+ejb3 的开发环境配置和以往的项目配置基本保持一致,这里就不再进行详细介绍,关键就是jbpm3.2 的配置方法。


我们从 jBoss 官方网站(http://www.jboss.org)上下载


jbpm-jpdl-suite-3.2.GA.zip,最新的版本是 3.2.GA,这个包括:


◆jbpm-server , 预先配置的 jboss 应用服务器.

◆jbpm-designer , jBPM 流程图形化设计器的 eclipse 插件 .

◆jbpm-db , jBPM 数据库兼容包 (参看下面).

◆jbpm , 核心 jbpm 组件包括库和用户手册.

◆jbpm-bpel , JBoss jBPM BPEL 扩展参考.


预配置的 JBoss 应用服务器有下列安装组件:核心 jBPM 组件 , 打包作为 JBoss 服务档案一个包括所有 jBPM 表格的完整数据库 : 默认的 hypersonic 数据库包含所有的 jBPM 表格和已经定义的流程.jBPM 控制台 web 应用程序 这个可以用来为 jBPM 管理员.jBPM 调度程序 所有定时器的执行. 调度程序在新手工具箱里配置成了一个servlet.这个 Servlet 会为产生一个线程来监视每个定时器的执行.一个流程例子 已经发布进了 jBPM 数据库,关于 jbpm-jpdl-suite-3.2 套件包的具体介绍,可以参考 JBoss jBPM Cookbook 手册。

JBoss jBPM 是一个 Java 库. 因此,它可以用在任何 java 环境比如 web 应用程序,Swing 应用程序,EJB,Web Service 等等,JBoss jBPM 核心组件被打包成一个简单的 Java 库文件.它依赖你所使用的功能性, 库 jbpm-jpdl.jar 及一些相关的第三方的库比如 . hibernate3.2, dom4j 等等。


【下载地址】


百度网盘链接:https://pan.baidu.com/s/1FHJuJdN1D0fgn_dU8IR0Sg

提取码:q8ed


相关文章


使用-JFreeChart来创建基于web的图表

使用-JFreeChart来创建基于web的图表

XStream使用文档

XStream使用文档

WebService发布过程及常见问题

WebService发布过程及常见问题

webpack实战入门进阶调优分享

webpack实战入门进阶调优分享

weblogic调优参数及监控指标

weblogic调优参数及监控指标

weblogic节点管理

weblogic节点管理

weblogic管理控制台概述

weblogic管理控制台概述

weblogic-部署和启动

weblogic-部署和启动

WebLogic-Server-性能及调优-调优-Java-虚拟机

Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。

Velocity用户教程

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。

Velocity用户手册

Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。


文章热度: 166291
文章数量: 333
推荐阅读

FlashFXP绿色版网盘下载,附激活教程 1782

FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具

Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1565

firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ

navicat for mysql中文绿色版网盘下载 1623

Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq

火车头采集器(旗舰版)绿色版网盘下载 1707

火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA

Photoshop(CS-2015-2023)绿色中文版软件下载 1823

安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之