J2EE工作流管理系统jBPM详解12

上传人:宝路 文档编号:22272202 上传时间:2017-11-26 格式:DOC 页数:44 大小:456.90KB
返回 下载 相关 举报
J2EE工作流管理系统jBPM详解12_第1页
第1页 / 共44页
J2EE工作流管理系统jBPM详解12_第2页
第2页 / 共44页
J2EE工作流管理系统jBPM详解12_第3页
第3页 / 共44页
J2EE工作流管理系统jBPM详解12_第4页
第4页 / 共44页
J2EE工作流管理系统jBPM详解12_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《J2EE工作流管理系统jBPM详解12》由会员分享,可在线阅读,更多相关《J2EE工作流管理系统jBPM详解12(44页珍藏版)》请在金锄头文库上搜索。

1、J2EE 工作流管理系统 jBPM 详解(一)(1)本文是J2EE 工作流管理系统 jBPM 详解的第一部分,介绍了 jBPM 的工作流应用方案,列举了几个常见的功能应用的设计方案,可供工作流开发人员参考。一、jBPM 入门简介概述工作流业务流程管理技术是基于 SOA 技术实现的一个核心部分。使用工作流能够在软件开发和业务两个层次受益:1、方便开发工作流管理系统能够简化企业级软件开发甚至维护。降低开发风险 - 通过使用状态和动作这样的术语,业务分析师和开发人员使用同一种语言交谈。这样开发人员就不必将用户需求转化成软件设计了。实现的集中统一 -业务流程经常变化,使用工作流系统的最大好处是:业务流

2、程的实现代码,不再是散落在各种各样的系统中 。加快应用开发 - 你的软件不用再关注流程的参与者,开发起来更快,代码更容易维护。2、业务流程管理 (BPM)在自动化业务流程之前,分析并将它们规格化是一件艰苦但会有很好回报的工作:提高效率 - 许多流程在自动化过程中会去除一些不必要的步骤较好的流程控制 - 通过标准的工作方法和跟踪审计,提高了业务流程的管理改进客户服务 - 因为流程的一致性,提高了对客户响应的可预见性灵活 - 跨越流程的软件控制,使流程可以按照业务的需要重新设计。业务流程改进 - 对流程的关注,使它们趋向于流畅和简单但从长远的角度,工作流流程管理技术的研究可为两个阶段进行:1目前解

3、决华研今后新项目中复杂业务流程如何使用工作流引擎技术进行实现的问题。2上升到面向服务体系架构,实现各个服务之间的业务流程。jBPM,全称是 Java Business Process Management,是一种基于 J2EE 的轻量级工作流管理系统。jBPM 是公开源代码项目,它使用要遵循 Apache License。jBPM 在2004年10月18日,发布了 2.0版本,并在同一天加入了 JBoss,成为了 JBoss 企业中间件平台的一个组成部分,它的名称也改成 JBoss jBPM。随着 jBPM 加入 JBoss 组织,jBPM 也将进入一个全新的发展时代,它的前景是十分光明的。J

4、Boss jBPM 只有最小的倚赖性,它可以很容易的作为 java 库来使用.当然它也可以用在访问量很大的 J2EE 群应用服务器环境中 . JBoss jBPM 可以同任何数据库配置可以部署在任何应用服务器上.jBPM 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如 WfMC XPDL, BPML, ebXML, BPEL4WS 等,而是采用了它自己定义的 JBoss jBPM Process definition language (jPdl)。jPdl 认为一个商务流程可以被看作是一个 UML 状态图。jPdl 就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转

5、换等。jBPM 的另一个特色是它使用 Hibernate 来管理它的数据库。Hibernate 是目前 Java 领域最好的一种数据持久层解决方案。通过 Hibernate,jBPM 将数据的管理职能分离出去,自己专注于商务逻辑的处理。 (具体选型报告可参考工作流技术选型评估报告) 。本文档主要是工作流研究小组关于开源工作流引擎 jbpm 的研究成果总结。内容包括工作流研究场景的介绍、jbpm 的环境配置,并包括以下六个研究主题:JBPM 同开发如何结合,又如何保持独立性;对应用系统的设计实现有什么样的制约用户/角色如何同应用系统结合,变化又如何处理流程中每个活动,如何动态指定执行者类似传阅功

6、能如何实现子流程如何实现流程执行步骤耗时阀值和自动提醒设置jBPM 当前版本的稳定性评估术语、定义和缩略语应用场景本场景是从房地产营销系统的需求中提取出来的,在房地产项目中,客户选户购房的过程是一个非常典型的工作流场景。我们将这一过程提取出来,作为 jbpm 技术研究的场景。在购房过程中,会有以下人员参与。客户:购房的主体销售人员:在购房过程中指导看房,购房。销售经理:确定认购信息。财务人员:收取定金。客服人员:打印收据,打印客户认购书。客户购房的过程可以描述如下。客户来到售楼中心,销售人员进行接待。客户向销售人员提供预先申请的服务号。销售人员确认服务号是否有效,如果无效现场给出一个新的服务号

7、。销售人员引导客户选房。客户确定户型,房号。销售人员录入客户认购资料。销售人员确认认购资料填写完整。销售人员将认购资料提交给销售经理审批。确定是否可以获得优惠,如果客户是一次交清房款,获得0.1%优惠。交上级经理审批。销售人员引导客户到财务处交纳定金。交纳定金后,客服人员打印收据。客服人员打印认购书。为了使用研究的场景更有代表性,揉合其他典型的工作流应用场景,将上面的流程作一些删改。客户认购的流程改为:客户确定购房,销售人员录入认购资料。提交认购资料,必须保证录入资料的完整性。提交审核,按总金额进行分类审核。如果金额小于50万销售经理审核即可,大于50万还要上级经理两人同时审核通过。审批完成,

8、客户到财务处交纳定金。客服人员为客户打印收据,打印认购书,认购完成。J2EE 工作流管理系统 jBPM 详解(一)(2)本文是J2EE 工作流管理系统 jBPM 详解的第一部分,介绍了 jBPM 的工作流应用方案,列举了几个常见的功能应用的设计方案,可供工作流开发人员参考。上面的流程中一些异常情况( 流程中的一些分支) ,在这里先不作考虑,如,客户在交纳定金之前可以随时放弃认购。客户的认购要录入的资料内容包括:客户姓名,房号,定金,总金额,流程号等,这里仅选取几个重要的数据作为保存对象。保存录入资料时自动取得一个流程号,任何时候,可以根据此流程号跟踪流程状态,所以在保存认购资料时要记录流程号。

9、通用的标准规范jBPM 是个功能全面的 Workflow Engine,融合了4大功能:Workflow,BPM,BPEL,PageFlow。它自己有个 BPEL 扩展,采用 jboss Hibernate 实现,它使用自定义的自定义标准 jpdl,不支持目前公开的工作流(业务流程)标准,如 :JCPJSR208 Java Business IntegrationJSR207 Process Definition for JavaOASISWS-BPELWorkflow Management Coalition(WFMC)WFMC XPDLBusiness Process Management

10、 Initiative (BPMI)BPMNObject 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开发工具进行开

11、发, 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 , JBos

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

13、参考 JBoss jBPM Cookbook 手册。JBoss jBPM 是一个 Java 库. 因此,它可以用在任何 java 环境比如 web 应用程序,Swing应用程序,EJB,Web Service 等等,JBoss jBPM 核心组件被打包成一个简单的 Java 库文件.它依赖你所使用的功能性, 库 jbpm-jpdl.jar 及一些相关的第三方的库比如 . hibernate3.2, dom4j 等等在我们实现场景中。要使用 jbpm,我们首先需要将 jbpm3.2的包导入我们的项目当中,jbpm3.2的主要包括两个包 jbpm-jpdl.jar 和 jbpm-identity.

14、jar。而 jbpm-jpdl.jar 是 jbpm 的核心包,jbpm-identity.jar 则是 jbpm 自带的用户角色权限管理包。我们将这两个包导入我们的项目中。 (具体可参考 jbpm 的用户手册)在 jbpm 中,流程的定义主要是编写在 xml 文件中的,我们需要将具体的业务流程在xml 中定义。所以我们需要在项目的根目录上新建一个源目录,这里我们命名为 “processes”,在该目录我们可以保存流程定义 xml 文件。JBoss jBPM 包括一个图形化的流程设计工具 . 这个设计器是用来创作商业流程的,该图形设计器是一个 Eclipse 插件,图形化设计工具最重要的特性是

15、它同时支持业务分析员和技术开发人员. 这样就可以在业务流程建模和实际执行之间平滑转换。使用该插件你可以通过界面来拖拉描绘你的业务流程,而不需要靠手写编码来设计。该插件位于 jbpm-jpdl-suite-3.2.GA.zip 中,插件的安装方法可以参考 elipse 插件的安装方法。安装完毕后,我们下面可以通过该插件新建流程设计文件。J2EE 工作流管理系统 jBPM 详解(一)(3)本文是J2EE 工作流管理系统 jBPM 详解的第一部分,介绍了 jBPM 的工作流应用方案,列举了几个常见的功能应用的设计方案,可供工作流开发人员参考。步骤如下:1、在 processes 目录中右建选择“Ne

16、w” “other”2、选择“Process Definition”,点击 “Next”输入 Process name,点击完成。打开设计界面,我们就可以在上面根据我们的业务来设计工作流流程文件。Jbpm 本身包含很多自己的 jbpm 数据库表,jBPM 内部使用 hibernate 来管理它的数据库,通过 Hibernate,jBPM 将数据的管理职能分离出去,自己专注于商务逻辑的处理,而且我们可以使 jBPM 移植在不同的数据库 .。我们进行的每一步流程操作都保存在 jbpm 数据表中,通过调用 jbpm 提供的接口,我们可以对 jBPM 数据库进行存储,更新和检索流程信息的服务。这里我们使用 Mysql5.0数据库,下面我们在项目中新建一个源目录“config.files”,名字可以任意,在该目录建立 hibernate.cfg.xml 文件:J2EE 工作流管理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号