基于jbpm工作流引擎的业务流程管理方法

文档序号:10534831阅读:391来源:国知局
基于jbpm工作流引擎的业务流程管理方法
【专利摘要】基于JBPM工作流引擎的业务流程管理方法,包括以下步骤:(1)整合系统所需Jbpm所需jar包到系统WEB-INF/lib目录下;(2)jBPM依赖与自身的数据库,需要将jBPM依赖的数据库整合到系统数据库中;(3)采用Hibernate对数据库的操作实现全自动事务管理;(4)对于多数据源管理通过自定义的多数据源支持类实现;(5)采用c3p0数据库连接池技术,利用sqljdbc4建立与数据库的连接并管理这些连接,不再每次访问数据库都重新发送数据库连接请求,只要在c3p0的连接池中拿一个用即可。
【专利说明】
基于JBPM工作流引擎的业务流程管理方法
技术领域
[0001]本发明属于计算机网络技术领域,涉及一种通过网络进行业务管理的方法。
【背景技术】
[0002]现有网上对业务流程化管理的实现通过数据库流程信息人工手动标注流程阶段实现,实现手段落后,实现复杂,不利于后期维护。使用jBPM工作流引擎可以改善现有开发流程化业务的弊端。同时采用新的数据库管理方式,可以大大提高数据库性能,解决系统性能瓶颈问题。

【发明内容】

[0003]本发明目的是改善企业现有的工作流程实现方式;结合现有的开发框架,集成JBPM工作流工具,通过动态数据源管理技术,解决现有系统与jBPM工作流在事务管理、数据源管理中的冲突。本发明将有效提高开发效率,降低后期维护难度。
[0004]基于JBPM工作流引擎的业务流程管理方法,其特征在于包括以下步骤:
[0005](I)整合系统所需Jbpm所需jar包到系统WEB-1NF/lib目录下;
[0006](2) JBPM依赖与自身的数据库,需要将jBPM依赖的数据库整合到系统数据库中,系统采用 oracle 数据库,在 jbpm\install\src\db\create 中找到对应的 jbpm.0racle,create, sql创建文件导入oracle执行;
[0007](3) jBPM采用Hibernate对数据库的操作实现全自动,事务管理要整合ibaits和hibernate 到同一个事务中,米用 Transact1nAwareDataSourceProxy 来管理事务;
[0008](4)对于多数据源管理通过自定义的多数据源支持类实现;
[0009](5)采用c3p0数据库连接池技术,利用sql jdbc4建立与数据库的连接并管理这些连接,不再每次访问数据库都重新发送数据库连接请求,只要在c3p0的连接池中拿一个用即可。
[0010]本发明改进了数据库管理的方式,大大提高系统的性能。可以简化流程化工作的开发时间,降低后期维护的难度。同时,由于解决了 jBPM与现有系统的冲突问题,现有系统的开发框架将不必重新搭建,不再需要重复开发,有效提高了企业的开发效率,减少了不必要的成本支出,提高了企业利润。
【具体实施方式】
[0011]本发明技术方案涉及到的技术工具包括:Spring、JBPM、ibatis、webwork。
[0012]技术实现方案如下:
[0013]整合系统所需Jbpm所需jar包到系统WEB-1NF/lib目录下;
[0014]JBPM依赖与自身的数据库,需要将jBPM依赖的数据库整合到系统数据库中,系统米用 oracle数据库,在 jbpm\install\src\db\create 中找到对应的 jbpm.0racle, create,sql创建文件导入oracle执行;
[0015]jBPM采用Hibernate对数据库的操作实现全自动,而现有系统对数据库的管理才有ibatis半自动方式实现,所以事务管理要整合ibaits和hibernate到同一个事务中,故米用 Transact1nAwareDataSourceProxy 来管理事务。
[0016]对于多数据源管理通过自定义的多数据源支持类实现。
[0017]由于采用多数据源,以及多种数据持久化工具,故采用c3p0数据库连接池技术,利用sql jdbc4建立与数据库的连接并管理这些连接,不再需要每次访问数据库都重新发送数据库连接请求,只需要在c3p0的连接池中拿一个用即可,大大提高系统性能。
[0018]本发明呢一种具体实施例流程如下:
[0019]第一步,准备工作。将jBPM以及hibernate中的jar包导入工程Iib包中。
[0020]第二步,整合jBPM 与 Spring,注册 <bean>springHelper,实现 jBPM 中工作流引擎 <bean>:processEngine,创建方法为:createProcessEngine。由此实现 spring 对jbpm的支持。由于jBPM默认的数据持久化工具为hibernate,而现有系统采用ibaits数据持久化工具,故需要配置多数据源支持。由于需要将hibernate和ibatis统一采用一个事务管理,所以在dataSource中米用Transact1nAwareDataSourceProxy来管理事务。<bean>dynamicDataSource为多数据源支持配置,其中需要自定义多数据源支持类DynamicDataSource 实现,
[0021]采用spring中c3p0池连方式管理数据库连接池,改变以往程序访问数据库需要新建连接池的方式,只需要访问c3p0保存的连接池保存的连接即可。
[0022]第三步,ibatis与 spring 整合;
[0023]第四步,hibernate与 spring 整合;
[0024]第五步,配置统一的事务管理;
[0025]第六步,完成以上配置后,可以设计流程测试,此流程实现一个简单流程,一个开始:startl,2个任务:A、B,一个结束:endl。
[0026]此代码实现功能为:通过processEngine创建一个流程实例,输出A、B待处理任务个数、任务ID。测试结果如下:
[0027]发布流程ID:20001
[0028]流程实例ID: swing.20007
[0029]A待任务处理数:2
[0030]A待处理任务id: 10008
[0031]A待处理任务id:20008
[0032]B待任务处理数:2
[0033]B待处理任务id:20012
[0034]B 待处理任务 id:200010
[0035]由结果可以看到,发布流程ID为20001,流程实例ID为:swing.20007,A待处理任务数为:2,待处理任务ID为:10008、20008,B待处理任务数为2,待处理任务ID为20012,20010。
[0036]由测试结果可以看出,上文提到的技术方案是可行的,可以实现在不影响原系统的架构和功能基础上,整合jBPM工作流引擎到系统中。
【主权项】
1.基于JBPM工作流引擎的业务流程管理方法,其特征在于包括以下步骤: (1)整合系统所需Jbpm所需jar包到系统WEB-1NF/lib目录下; (2)JBPM依赖与自身的数据库,需要将jBPM依赖的数据库整合到系统数据库中,系统米用 oracle数据库,在 jbpm\install\src\db\create 中找到对应的 jbpm.0racle, create,sql创建文件导入oracle执行; (3)jBPM采用Hibernate对数据库的操作实现全自动,事务管理要整合ibaits和hibernate 到同一个事务中,米用 Transact1nAwareDataSourceProxy 来管理事务; (4)对于多数据源管理通过自定义的多数据源支持类实现; (5)采用c3p0数据库连接池技术,利用sqljdbc4建立与数据库的连接并管理这些连接,不再每次访问数据库都重新发送数据库连接请求,只要在c3p0的连接池中拿一个用即可。
【文档编号】G06Q10/06GK105893374SQ201410727674
【公开日】2016年8月24日
【申请日】2014年12月4日
【发明人】张守业
【申请人】北京航天长峰科技工业集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1