没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
一、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 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如 WfMC XPDL, BPML,
ebXML, BPEL4WS 等,而是采用了它自己定义的 JBoss jBPM Process definition 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 手册。
剩余45页未读,继续阅读
资源评论
小小哭包
- 粉丝: 1899
- 资源: 3854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功