当前位置:首页 期刊杂志

基于JBPM流程可配置的机动车型式认证系统的研究与实现

时间:2024-05-04

张亚楠,邵学彬,国建胜

(中国汽车技术研究中心,天津 300300)

基于JBPM流程可配置的机动车型式认证系统的研究与实现

张亚楠,邵学彬,国建胜

(中国汽车技术研究中心,天津 300300)

随着中国汽车行业法规的不断完善,汽车企业需要将汽车2000余项参数填报到《公告》、CCC、环保、油耗等政务平台中,各个政务平台需要填报的参数各不相同,但有交叉。以往这些参数都是通过线下EXCEL的方式进行收集,造成参数收集状态不透明,进度跟踪困难,认证参数的填写、变更无法追溯等问题。为解决企业实际问题,有必要进行研究并改进JBPM工作流引擎,设计和开发流程可配置的机动车型式认证系统,以满足不同企业,不同流程的参数收集需求,提高参数收集的效率和过程可控性。

工作流;型式认证;JBPM;可配置

目前,汽车企业法规认证涉及车辆生产企业及产品公告、CCC认证、国家排放目录、地方排放目录(北京)、E/ e-Mark认证、GCC认证等国内外认证,涉及的车型认证参数有2 000多项,参数的收集、审批、变更和上报涉及众多COC部门,从参数需求的下发到国家认证机构批准参数往往需要数个月的时间。随着市场法规不断更新,涉及的型式认证参数将不断增加;汽车企业在参数的收集、变更和上报等参数管理业务存在参数收集效率低下、准确率低、参数收集状态不透明、进度跟踪困难、认证参数的填写及变更无法追溯等问题,急需通过电子化、流程化的方式收集这些参数。目前行业中应用比较多的工作流程引擎是Java业务流程管理(Java Business Process Management,JBPM),但JBPM流程引擎,需要在开发环境中,使用JBPM提供的流程图绘制工具进行流程的绘制,并在后台编写代码,相对比较繁琐,存在开发效率低,软件产品质量难以保障等问题。本文结合业务实际情况,研究并改进JBPM流程引擎,通过流程和业务的解耦,实现在线可配置流程的机动车型式认证系统,极大地提高了开发效率和软件产品的质量。

1 JBPM引擎技术改进

1.1 JBPM工作原理

JBPM是基于J2EE的、开源的轻量级工作流管理系统,包含了工作流、业务流程管理、服务协作等功能。JBPM 并没有采用 WfMC或BPEL 标准,而是采用自身的轻量级XML结构的流程描述语言(JBoss JBPM Process Definition Language,JPDL),它通过结合状态机、UML2. 0活动图、PetriNet 算法等方面的知识,扩充了建模能力,显得更加简单易懂。

1.2 JBPM 的工作过程

(1)流程定义与部署。软件开发人员首先根据需要进行流程的定义,将流程节点、流程属性、人员信息、业务处理逻辑利用流程语言配置到XML中。然后利用JBPM提供的流程定义接口,将定义好的流程定义文件保存到数据库中。JBPM本身提供内存数据库,但在开发过程中,一般不用内存数据库,而是外接关系型数据库,如Oracle,MySQL等[1]。

(2)流程解析。在开发环境下,完成流程定义后,需要把流程定义文件上传到JBPM工作流引擎,工作流程引擎对流程定义文件信息解析[2],把相应的对象持久化到数据库中。在解析的过程中也会对相应的XML文件进行校验,只有校验通过后的流程,才能被正确地解析。否则,流程引擎会抛出错误,不能正常解析流程。

(3)用户交互。解析成功后的工作流,可以通过Internet访问,操作工作流引擎生成的流程实例。这种交互的过程主要通过活动表单完成,当用户登录到系统中,可以通过查询语句获得该用户下的待办任务、已办任务列表。在流程启动时,首先系统会构建一个流程实例,在流程实例中会包含流程发起者、任务本身的相关信息,以及指定下一个任务节点是什么,下一个任务接受者都有哪些。当下一个任务接受者接到任务后,点击完成任务,那么该任务会继续向下流转,直至整个流程结束。

2 JBPM技术改进

本文在JBPM工作原理的技术上进行改进,首先将流程语言和业务场景进行解耦,然后开发和改进JBPM流程设计器,实现在前台界面上即可便捷高效的配置流程。在流程节点将业务及人员信息与节点进行绑定,流程配置完,直接发布,流程即可生效。在业务基本相同,流程不同时,只需在前台界面配置对应的节点类型、业务类型、人员信息即可满足企业定制化流程要求,极大地提高了项目的生产效率。

首先将现有系统业务和流程进行分解,然后设计和开发在线流程设计器。利用在线流程设计器,完成流程、业务和人员的关联,然后通过流程工作引擎实现将流程相关信息持久化到数据库中,用户便可通过登录系统对流程进行实例化。具体改进方案如图1所示。

2.1 业务分解与建模

通过对汽车企业参数收集流程以及每个流程节点所对应的业务进行调研和分析,然后提取相应的业务模型,为后续框架的设计提供业务支持。通过业务模型的提取,可以实现系统高内聚,低耦合,提高代码的可复用性。通过对30余家企业的参数收集流程的研究和分析,可以将流程节点分为参数分发、参数填写、参数审核3个业务模型,参数分发主要实现上级给下级分配参数填写任务,参数填写主要实现工程师填写参数,参数审核主要是上级审核如图1所示的图形设计器中配置流程和业务。

图1 JBPM技术改进方案

根据业务分解与建模情况,开发和设计JBPM在线图形设计器,在线图形设计器可以配置业务和流程之间的关系,利用流程生成算法[3],将图形设计器设计的流程和业务转化为JBPM流程定义语言(JPDL)。在图形设计器中,首先将流程相关节点拖拽到流程编辑区中,然后配置节点对应的业务,如参数分发、参数填写、参数审核等。同时,在对应的节点上,配置节点对应的人员信息。

2.2 流程部署

在线图形设计器,通过流程发布按钮,实现配置的流程部署到数据库中,JBPM工作流引擎可以调用数据库中的流程数据,驱动流程推进。

2.3 工作流引擎流程解析

通过工作流引擎,业务系统可以生成流程实例,按照流程规则,推进流程,并将生成的流程数据保存数据库中,如待办事项。当用户登录业务系统时,通过流程工作引擎可以查询该用户名下的待办任务和已办任务,并且可以办理待办任务。当办理待办任务时,通过工作流引擎更改数据库中该用户该任务的状态,将其改为已办理,同时,工作流引擎向数据库插入相关流程数据,比如下一个任务的接受者是谁,需要办理什么样的业务等。

3 系统架构设计与实现

本系统以JBPM4为基础,利用Struts2,Spring,Hibernate三大开源框架,选用Oracle数据库,设计实现了流程可配置的机动车型式认证系统。如图2所示,系统分为用户界面层、业务逻辑层、数据库层[4]。

图2 分层架构

3.1 数据库层

JBPM4使用Hibernate技术来进行数据库的操作,通过Hibernate相关技术,JBPM将数据的管理职能分离出去,JBPM主要用来处理业务逻辑。通过Hibernate技术,JBPM将流程定义和流程执行过程中,产生的业务数据、流程实例化数据、状态流转等数据保存到对应的数据库中。

3.2 业务逻辑层

该层用到的技术主要是Struts2相关技术,该层主要功能是处理业务逻辑。该层接受用户界面层传递过来的请求,然后调用流程处理程序、工作流引擎、业务处理程序,对请求进行处理,并将相关数据通过数据层保存到数据库中,同时将处理结果反馈到前台界面。

3.3 用户界面层

通过流程设计工具来定义业务流程模型;用流程属性配置工具来配置流程与单据的关联关系,配置在流程运转过程中表单的操作权限及配置流程在系统中显示的值等。

3.4 系统应用与结果分析

本文所设计的流程可配置的型式认证系统已经在多家汽车企业投入使用,并取得了较好的效果。改进的工作流程引擎,无论是软件开发的效率还是软件开发的质量上都得到了大幅度的提升。从软件效率上来看,利用改进后的可配置流程技术比原有的开发效率提升4倍以上。不同企业,采用的参数收集流程不同,按照改进前的方式,开发周期一般在40天左右;技术升级后,开发周期控制在10天以内。从软件产品质量上来看,软件在测试过程中和系统上线后,BUG出现的概率也大幅减低,客户的满意度得到了明显的提升。

4 结语

JBPM工作流管理系统实现对流程管理之前,需要将流程定义文件发布到工作流管理系统中。传统的流程定义文件的生成方式完全利用人工去完成,效率比较低,本文对传统的JBPM流程技术进行改进,实现流程在线可配置,并将改进后的相关技术应用到机动车型式认证系统中,并取得良好效果,使得软件的开发效率和质量都有很大幅度的提升。

[1]许爱军.JBPM工作流管理系统的研究与实现[J].计算机技术与发展,2013(12):102-104.

[2]赵玉娇,赵伟.基于JBPM的工作流系统的设计与实现[J].电脑知识与技术,2011(16):3797-3798.

[3]王伟,徐文胜.JBPM流程定义文件自动生成算法[J].计算机应用,2012(32):89-91.

[4]叶光,杨建军.基于JBPM的工作流可配置技术及应用[J].成组技术与生产现代化,2012(2):35-39.

Research and implementation of mobile vehicle type certification system based on JBPM process

Zhang Yanan, Shao Xuebin, Guo Jiansheng
(China Automotive Technology Research Center, Tianjin 300300, China)

With the continuous improvement of China’s automobile industry laws and regulations, more than 2000 car parameters will be reported to“announcement”, CCC, environmental protection, fuel consumption and other government platform by car companies, the parameters need to be fill vary in each government platform, but there are cross. In the past, these parameters are collected by way of offline EXCEL, which caused problems that collect state of parameter is opaque, progress tracking is difficult, filling in and change of the authentication parameters can not be traced back and so on. In order to solve the practical problems of enterprises, it is necessary to research and improve JBPM workflow engine, design and develop vehicle type certification system whose process can be configured to meet the needs of different enterprises, different process parameters, therefore to improve the efficiency of parameter collection and process controllability.

workflow; type authentication; JBPM; configurable

张亚楠(1986— ),男,山东单县。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!