ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:242.90KB ,
资源ID:19012939      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19012939.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(J2EE工作流管理系统jBPM详解Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

J2EE工作流管理系统jBPM详解Word下载.docx

1、随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。JBoss jBPM 只有最小的倚赖性,它可以很容易的作为java库来使用.当然它也可以用在访问量很大的J2EE 群应用服务器环境中. JBoss jBPM 可以同任何数据库配置可以部署在任何应用服务器上.jBPM 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMC XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process definition language (jPdl)。jPdl认为一个商务流程可以被看作是一个UML状态图。jP

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

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

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

5、上级经理两人同时审核通过。审批完成,客户到财务处交纳定金。客服人员为客户打印收据,打印认购书,认购完成。上面的流程中一些异常情况(流程中的一些分支),在这里先不作考虑,如,客户在交纳定金之前可以随时放弃认购。客户的认购要录入的资料内容包括:客户姓名,房号,定金,总金额,流程号等,这里仅选取几个重要的数据作为保存对象。保存录入资料时自动取得一个流程号,任何时候,可以根据此流程号跟踪流程状态,所以在保存认购资料时要记录流程号。通用的标准规范jBPM 是个功能全面的Workflow Engine,融合了4大功能:Workflow,BPM,BPEL,PageFlow。它自己有个BPEL扩展,采用jbo

6、ss Hibernate实现,它使用自定义的自定义标准jpdl,不支持目前公开的工作流(业务流程)标准,如:JCPJSR208 Java Business IntegrationJSR207 Process Definition for Java OASISWS-BPELWorkflow Management Coalition(WFMC)WFMC XPDLBusiness Process Management Initiative (BPMI)BPMNObject Management Group (OMG)State Chart XML (SCXML) 处理测试阶段的JBoss jBPM

7、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)上下载jb

8、pm-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 数据库包含所有的

9、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 核心组件被打包成一个简单的

10、Java库文件.它依赖你所使用的功能性, 库 jbpm-jpdl.jar及一些相关的第三方的库比如 . hibernate3.2, dom4j 等等在我们实现场景中。要使用jbpm,我们首先需要将jbpm3.2的包导入我们的项目当中, jbpm3.2的主要包括两个包jbpm-jpdl.jar和jbpm-identity.jar。而jbpm-jpdl.jar是jbpm的核心包,jbpm-identity.jar则是jbpm自带的用户角色权限管理包。我们将这两个包导入我们的项目中。(具体可参考jbpm的用户手册)在jbpm中,流程的定义主要是编写在xml文件中的,我们需要将具体的业务流程在xml中

11、定义。所以我们需要在项目的根目录上新建一个源目录,这里我们命名为“processes”,在该目录我们可以保存流程定义xml文件。JBoss jBPM 包括一个图形化的流程设计工具. 这个设计器是用来创作商业流程的,该图形设计器是一个Eclipse插件,图形化设计工具最重要的特性是它同时支持业务分析员和技术开发人员. 这样就可以在业务流程建模和实际执行之间平滑转换。使用该插件你可以通过界面来拖拉描绘你的业务流程,而不需要靠手写编码来设计。该插件位于jbpm-jpdl-suite-3.2.GA.zip中,插件的安装方法可以参考elipse插件的安装方法。安装完毕后,我们下面可以通过该插件新建流程设

12、计文件。步骤如下:1、在processes目录中右建选择“New”“other”2、选择“Process Definition”,点击“Next”输入Process name,点击完成。打开设计界面,我们就可以在上面根据我们的业务来设计工作流流程文件。Jbpm本身包含很多自己的jbpm数据库表,jBPM内部使用hibernate来管理它的数据库,通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理,而且我们可以使jBPM移植在不同的数据库.。我们进行的每一步流程操作都保存在jbpm数据表中,通过调用jbpm提供的接口,我们可以对jBPM数据库进行存储,更新和检索流

13、程信息的服务。这里我们使用Mysql5.0数据库,下面我们在项目中新建一个源目录“config.files”,名字可以任意,在该目录建立hibernate.cfg.xml文件:hibernate.cfg.xml?xml version=1.0 encoding=utf-8?!DOCTYPE hibernate-configuration PUBLIC -/Hibernate/Hibernate Configuration DTD 3.0/ENhibernate-configurationsession-factory- hibernate dialect -property name=hibe

14、rnate.dialectorg.hibernate.dialect.HSQLDialect/property-property name=org.hibernate.dialect.MySQLDialect/property- JDBC connection properties (begin) =hibernate.connection.driver_classorg.hsqldb.jdbcDriver/propertyhibernate.connection.urljdbc:hsqldb:mem:jbpm/propertyhibernate.connection.usernamesa/p

15、ropertyhibernate.connection.password/property= JDBC connection properties (end) - JDBC connection for MySQL database -connection.driver_classcom.mysql.jdbc.Driverconnection.urljdbc:mysql:/localhost/myjbpmconnection.usernameroot/propertyconnection.password1234/property- JDBC connection pool (use the

16、built-in) -connection.pool_size1/propertyhibernate.cache.provider_classorg.hibernate.cache.HashtableCacheProvider- use data source - DataSource properties (begin)hibernate.connection.datasourcejava:comp/env/JbpmDS/propertyDataSource properties (end) - Drop and re-create the database schema on startu

17、p -hbm2ddl.autocreate/property- JTA transaction properties (begin) =hibernate.transaction.factory_classorg.hibernate.transaction.JTATransactionFactory/propertyhibernate.transaction.manager_lookup_classorg.hibernate.transaction.JBossTransactionManagerLookup/property= JTA transaction properties (end)

18、- CMT transaction properties (begin) =org.hibernate.transaction.CMTTransactionFactory/property= CMT transaction properties (end) - logging properties (begin) =hibernate.show_sqltrue/propertyhibernate.format_sqlhibernate.use_sql_comments= logging properties (end) - # - # mapping files with external d

19、ependencies # - following mapping file has a dependendy on - bsh-version.jar. - uncomment this if you dont have bsh on your - classpath. you wont be able to use the - script element in process definition files -mapping resource=org/jbpm/graph/action/Script.hbm.xml /- following mapping files have a d

20、ependendy on -jbpm-identity.jar, mapping files - of the pluggable jbpm identity component. - Uncomment the following 3 lines if you - want to use the jBPM identity mgmgt - component. - identity mappings (begin) -org/jbpm/identity/User.hbm.xmlorg/jbpm/identity/Group.hbm.xmlorg/jbpm/identity/Membershi

21、p.hbm.xml- identity mappings (end) - the JCR API - jcr mappings (begin) =org/jbpm/context/exe/variableinstanc /JcrNodeInstance.hbm.xml/= jcr mappings (end) - # - # jbpm mapping files # - hql queries and type defs -org/jbpm/db/hibernate.queries.hbm.xml- graph.def mapping files -mappingresource=org/jb

22、pm/graph/def/ProcessDefinition.hbm.xmlorg/jbpm/graph/def/Node.hbm.xmlorg/jbpm/graph/def/Transition.hbm.xmlorg/jbpm/graph/def/Event.hbm.xmlorg/jbpm/graph/def/Action.hbm.xmlorg/jbpm/graph/def/SuperState.hbm.xmlorg/jbpm/graph/def/ExceptionHandler.hbm.xmlorg/jbpm/instantiation/Delegation.hbm.xml- graph.

23、node mapping files -org/jbpm/graph/node/StartState.hbm.xmlorg/jbpm/graph/node/EndState.hbm.xmlorg/jbpm/graph/node/ProcessState.hbm.xmlorg/jbpm/graph/node/Decision.hbm.xmlorg/jbpm/graph/node/Fork.hbm.xmlorg/jbpm/graph/node/Join.hbm.xmlorg/jbpm/graph/node/State.hbm.xmlorg/jbpm/graph/node/TaskNode.hbm.xml- context.def mapping files -org/jbpm/context/def/ContextDefinition.hbm.xmlorg/jbpm/context/def/VariableAccess.hbm

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1