首页> 中国专利> 一种基于工作流GPD的Java工作流开发系统及其方法

一种基于工作流GPD的Java工作流开发系统及其方法

摘要

本发明公开一种基于工作流可视化开发工具(GPD)的Java工作流开发系统及其方法,包括:操作可视化图形导航工具模块,用于提供开发人员可视化的便捷的工程导航,在导航中引导开发人员配置系统数据库以及业务数据库信息;企业用户组织模型可视化视图模块,用于对工作流工程中需要用到的企业组织模型的建模;可重用构件库视图模块,用于对可重用构件进行管理分类,增加系统模块性,降低耦合度;表单可视化及绑定模块,用于本系统实现中,集成表单可视化开发器,将表单的开发也集成到整个系统中;工程一键部署模块,用于将整个工程进行压缩打包发布。采用本发明,使得工作流流程开发人员的重心能放到业务逻辑实现方面,大大减少开发人员的工作量。

著录项

  • 公开/公告号CN103744647A

    专利类型发明专利

  • 公开/公告日2014-04-23

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN201310491254.3

  • 申请日2013-10-18

  • 分类号G06F9/44(20060101);

  • 代理机构11228 北京汇泽知识产权代理有限公司;

  • 代理人刘淑敏

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2024-02-19 23:15:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-16

    授权

    授权

  • 2014-05-21

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20131018

    实质审查的生效

  • 2014-04-23

    公开

    公开

说明书

技术领域

 本发明涉及工作流可视化开发工具(GPD, Graph Process Designer)的开发技术,尤其涉及一种基于工作流GPD的Java工作流开发系统及其方法,属于对工作流GPD的开发环境基础上进行扩展,为企业级工作流开发人员提供高效的、便捷的开发环境的技术。

背景技术

随着企业信息化的深入,越来越多的企业流程需求已经无法用普通的办公自动化系统来满足,工作流系统逐渐流行起来,在企业资源计划(ERP)、客户关系管理(CRM)、企业应用集成(EAI)等经典企业应用领域,工作流技术的应用已经深深扎根,不可缺少。工作流管理系统的定义是,系统通过执行经过计算的流程定义去支持一批专门设定的业务流程。它被用来支持定义、管理和执行工作流程。普适的企业级工作流设计的目标是:管理工作的流程以确保工作在正确的时间被期望的人员所执行,在自动化进行的业务过程中插入人工的执行和干预,这正是工作流管理系统的价值所在,也是工作流系统开发人员的主要工作任务。工作流技术是一项快速发展的信息化技术,各种行业的企业都在逐渐采用工作流管理系统。

国内工作流开发具有人工任务密集型的需求特点,在工作流开发过程中,需要提供良好的用户交互的流程设计界面,不同于一般的只需要自动执行结点的流程开发,现有的工作流系统无法完全满足这些需求。

JBPM(JAVA Business Process Management)是一种基于JAVAEE的轻量级工作流管理软件包,是一个可扩展、灵活的能够实现工作流/业务流程管理的企业级开发框架,提供了流程定义、流程部署、流程执行、流程管理等功能。JBPM是开放源代码项目,受到广大开发人员的支持与关注,JBPM已经成为一流的开源工作流产品。

通过对可视化流程开发工具GPD的分析,GPD存在的不足之处主要包括如下几点:

a)  对于工程的配置工作需要手工打开源文件进行配置。

b)  对于构件参数的配置需要手工打开源文件进行配置。

c)   对于流程引擎的执行需要手工进行包的拷贝。

d)  对于企业组织模型的建立需要使用代码进行创建,无可视性。

e)   对于构件的粒度化支持不足,重复工作多。

传统工作流开发环境只提供简单的流程图形化编辑器,在开发工作流工程中需要开发人员进行繁琐的配置工作,不友好的代码形式实现企业组织模型,以及手工复制使用已存在构件等工作,使开发人员不能专注于业务逻辑的开发而需要进行一系列的开发配置工作。因此,对现有的工作流可视化开发工具GPD进行优化,以实现为企业级工作流开发人员提供高效的、便捷的开发环境,意义重大。

发明内容

有鉴于此,本发明的主要目的在于提供一种基于工作流GPD的Java工作流开发系统及其方法,通过提供便捷的可视化Java工作流开发工具,实现繁琐工作的封装,通过提供可视化操作导航,增加组织模型建模以及实现构件颗粒化、可重用性,增加表单设计集成功能以及工程部署功能,为流程开发人员提供良好的开发环境,使开发人员专注于业务逻辑的开发,从而毋须再进行一系列的开发配置工作,以降低工程开发和维护的成本。

为达到上述目的,本发明的技术方案是这样实现的:

一种基于工作流可视化开发工具GPD的Java工作流开发系统,包括:操作可视化图形导航工具模块、企业用户组织模型可视化视图模块、可重用构件库视图模块,表单可视化及绑定模块、工程一键部署模块;其中, 

操作可视化图形导航工具模块,用于提供开发人员可视化的便捷的工程导航,在导航中引导开发人员配置系统数据库以及业务数据库信息,在新建动态web工程的基础上增加系统数据库业务数据库的窗口供开发人员进行输入;

企业用户组织模型可视化视图模块,用于对工作流工程中需要用到的企业组织模型的建模;用于在工作流工程开发过程中建立相应用户组织模型,并进行模型的保存与导入操作;

可重用构件库视图模块,用于开发人员在开发过程中对可重用构件进行管理分类,增加系统模块性,降低耦合度,减少开发开销;还用于提供可视化的管理功能,提供对EJB构件的支持,并能够加载构件到流程编辑器的视图中进行直接使用构件,提供对构件的参数可视化设定功能;

表单可视化及绑定模块,用于本系统实现中,集成表单可视化开发器,将表单的开发也集成到整个系统中,使得开发人员不需要转变开发环境,为开发人员提供了便捷; 

工程一键部署模块,当整个工程开发完毕后,选择所需要部署的服务器的网络地址,进行打包并上传至服务器进行发布。

其中,所述操作可视化图形导航工具模块,还用于封装后台工程新建过程,后台自动运行包拷贝,配置文件的工作,简化开发过程;还用于在流程开发过程中总结出一系列可以简化工程建立的方法,并将其实现。

所述企业用户组织模型可视化视图模块,作为为开发人员提供可视化的企业组织模型建模视图工具,在企业组织模型中通常表现形式为树状结构,在组织模型视图中提供树形的可视化结构供开发人员编辑,模型的导入提供XML以及数据库两种格式;所述视图提供企业组织模型的增加、删除、修改功能,待修改完毕,能够从视图导入到系统数据库中,供流程引擎在执行工作流时使用。

所述可重用构件库视图模块,提供对可重用构件的组织,使得开发人员在不同工程中可重用已有的构件,降低研发成本;还提供构件的添加以及加载功能,主要为构件可用状态下,将构件添加到用户构件库视图中,从而对构件进行管理,可增加、删除以及修改。

所述可重用构件库视图模块,当工程需要用到构件时,从用户构件库视图中向工作流文件编辑器中加载,利用编辑器的拖拉功能可以直接使得构件成为一个组件来使用,完成之后,可以对构件的调用提供基础的参数配置功能。

所述可重用构件库视图模块,在不同的工程中使用由构件库视图中已经存在的EJB构件,由于EJB构件发布于jboss服务器中,只要此EJB构件是可用的,就可以在不同工程中进行绑定使用,减少了开发的成本,充分利用可重用的构件。

所述表单可视化及绑定模块,提供对于表单设计器的集成功能,将表单设计器集成到该工作流开发系统中,方便开发人员的开发设计工作;提供对于人工节点与表单的可视化绑定功能。

所述工程一键部署模块,用于开发人员最终部署工程,简化部署步骤,提供部署可视化的界面导航。

一种基于工作流可视化开发工具GPD的Java工作流开发方法,包括如下步骤:

A、使用操作可视化图形导航工具模块在导航中引导开发人员配置系统数据库以及业务数据库信息,在新建动态web工程的基础上增加系统数据库业务数据库的窗口供开发人员进行输入;

B、通过企业用户组织模型可视化视图模块,对工作流工程中需要用到的企业组织模型建模;然后在工作流工程开发过程中建立相应用户组织模型,并进行模型的保存与导入操作;

C、使用可重用构件库视图模块,在开发过程中对可重用构件进行管理分类;提供可视化的管理功能,对EJB构件的支持,并加载构件到流程编辑器的视图中进行直接使用构件,提供对构件的参数可视化设定的功能;

D、在系统实现中通过表单可视化及绑定模块,集成表单可视化开发器,将表单的开发也集成到整个系统中;

E、当整个工程开发完毕后,使用工程一键部署模块,选择所需要部署的服务器的网络地址,进行打包并上传至服务器进行发布。

其中,步骤B进一步包括:

B1、组织模型的导入导出的步骤:

B2、对组织模型进行编辑的步骤;

B3、人工节点分配的可视化的步骤。

本发明所提供的基于工作流GPD的Java工作流开发系统及其方法,具有以下优点:

本发明的Java工作流开发系统,集流程的开发平台与部署平台于一体实现了流程的可视化设计、人员组织机构的可视化设计、表单的可视化设计、流程的一键发布以及为管理人员所提供的流程定义、流程实例以及角色的人性化管理设置功能。其主要包括五个模块,其中,操作可视化图形导航为开发人员提供可视化的工程导航,可视化配置数据库参数以及可视化配置构件参数等功能。企业人员组织模型视图提供树状组织模型的可视化视图,并与后台数据库交互更新数据。可重用构件库视图提供对可用构件的管理分类等功能,与发布构件的服务器相匹配,供开发人员调用构件,能够提高系统的解耦合性以及可重用性,并显著降低构件的开发和维护成本,同时也为开发人员高效地开发工作流工程提供了支持。采用表单可视化及绑定模块,能够将表单的编辑功能集成到整个开发系统中,并提供对于人工任务节点与表单的一键部署。工程的一键部署功能模块,为工程的一键部署提供可视化帮助,开发人员提供所需服务器地址之后,即可将整个工程进行压缩打包发布。采用本发明的开发系统及其方法,能够将Java工作流开发系统是在可视化流程开发工具GPD的基础上进行优化以及扩展,以便使得工作流流程开发人员的重心能放到业务逻辑实现方面,大大减少开发人员的工作量。

附图说明

图1为本发明Java工作流开发系统的场景示意图;

图2为本发明Java工作流开发系统的系统架构图;

图3为操作可视化图形导航工具模块的流程图;

图4为企业用户组织模型可视化视图模块的场景示意图;

图5为企业用户组织模型可视化视图模块的用户开发示例过程图;

图6为可重用构件库视图模块的用户开发示例过程图。

具体实施方式

下面结合附图及本发明的实施例对本发明的基于工作流GPD的Java工作流开发系统及其方法作进一步详细的说明。

本发明的基本思想是:本发明着眼于国内工作流系统的人工结点密集的特点,在原有开发流程文件的GPD插件的基础上进行优化与实现,降低工作流开发成本,提高系统粒度化,为开发人员高效开发工作流系统提供支持。

针对国内工作流系统的需求特点,本发明提出了基于工作流可视化开发工具(GPD)的工作流开发系统,从人工任务结点,图形化导航需求,构件库资源,表单可视化及绑定,工程一键部署五个方面对于工作流开发系统进行优化与实现。该系统面向的用户对象即为企业级工作流系统开发人员。该系统的目的在于实现企业级工作流的可视化定制与设计,发布工作流,进行工作流的用户管理,管理员管理,相应构件库的绑定与管理。大大缩短开发周期并且方便管理,实现随机部署。

图1为本发明Java工作流开发系统的场景示意图,图2为本发明Java工作流开发系统的系统架构图。如图1、图2所示,所述Java工作流开发系统,分为五个基本部分,即操作可视化图形导航工具模块、企业用户组织模型可视化视图模块、可重用构件库视图模块、表单可视化及绑定模块、工程一键部署功能模块。其中,

第一,所述操作可视化图形导航工具模块。在调研阶段开发流程工程的过程中,积累了不少使用GPD的特点以及缺陷。比如新建一个动态web工程之后需要很多的jar包拷贝以及配置文件的修改,绑定Java结点需要对源码进行修改等等,针对这些方面,该系统对应于动态web工程开发、部署、测试开发了相应的导航功能。该系统对Java结点的参数进行了可视化的导航。这些都实现了开发人员的可视化图形导航,大大方便开发人员的部署测试。此部分的关键技术包含:Eclipse插件开发技术,实现导航需要对动态web工程的导航进行继承覆盖增加新功能。对于Java结点的参数设置需要使用SWT图形技术进行实现。

第二,企业用户组织模型可视化视图模块。原本的系统在处理组织模型的时候是使用代码实现形式来进行的,也就是开发人员需要在后台代码中调用相关接口来进行组织模型的建模工作,效果是在系统数据库中插入了组织模型信息。该系统目标是企业级的工作流流程设计工具,在企业中,组织模型的建模是必不可少的,人员的角色职位都需要一个统一的开发环境去调配。针对于此,对组织模型建模工具的研究就相当有必要。在本系统中加入了组织模型建模视图,目的在于使得开发人员方便地可视化地进行组织模型的建模工作,同时可以可视化地分配人工任务给相应的人员。相对应于GPD工作流开发工具,组织模型建模工具的实现是原先Eclipse插件工具中增加了一个视图。视图需要保证模型在第二次开启开发环境时仍然存在,但是Eclipse的插件模式并不支持这种情况,其次,组织模型最终是需要写入到数据库中,才能被流程引擎使用,即组织模型需要能与数据库直接进行信息的传递,再者,为了方便开发人员开发的模型的可移植性,即将组织模型存储起来,可以在另外的开发环境中使用之前编辑好的组织模型,采用了XML文件的存储方式。实现组织模型建模视图主要需要在Eclipse环境中添加组织模型的视图,然后在此视图的基础上进行组织模型的设计与实现。

第三,可重用构件库视图模块。GPD流程设计工具本身没有构件库部分的实现,但是JBPM支持对EJB构件在流程定义文件中的直接调用,在此基础上可以扩展出构件库的结构。在一些成熟的工作流设计工具中,构件库是必不可少的一部分。构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。构件可以理解为一个独立存在的部分,执行特定的业务逻辑,不受外界干扰,只需要进行接口的调用就可以返回相应的结果,对于流程设计来说大大降低了耦合度。基于上面的研究,在GPD的优化中,构件库成为了不可缺少的一部分。该系统设计了常用的构件,供流程开发人员进行使用,这使得开发人员可以复用已经存在的构件,减少了工作量。仅仅将需要的构件进行加载,拖拽,填写参数之后就可以进行使用。此外,考虑到提供的构件库不能满足现实应用的情况,开发人员也可以开发自己的构件,加入到用户自定义的构件库中来进行使用。充分地考虑到了系统的低耦合和高复用性。

第四,表单可视化及绑定功能模块。GPD开发环境中,人工节点绑定表单时需要进行对源代码的手工修改,在本系统中,将此功能进行了可视化界面的封装,表单设计器原本的环境是浏览器形式,在本系统中将其集成到Eclipse开发环境中。人工节点绑定表单时,双击,系统提供可视化的表单列表,由开发人员进行选择,后台进行源代码的修改。方便开发人员进行表单的设计功能。

第五,工程一键部署功能模块。此功能模块相对于开发过程中的不便捷而言,当工程开发完毕之后,只需要在工程右键然后选择部署,之后由开发人员提供服务器的网络地址,然后进行工程的打包和部署。

如图2所示的该系统架构图中,可以清晰地看出该系统包含的五个主要部分以及原本的流程编辑器部分。由于该系统的五个主要部分相对比较独立,因此分别进行描述,对本发明做进一步的详细说明。

1)操作可视化图形导航工具模块。

图3为操作可视化图形导航工具模块的流程图。描述了在新建工程的过程中所需要执行的步骤,在原GPD环境中,新建工程需要拷贝配置文件,并打开进行手工的配置书写,并且需要将相应的包拷贝到工程目录下,以供流程发布时进行使用。操作可视化图形导航提供了便捷的工程新建导航,在导航过程中填写系统数据库以及业务数据库信息,并提供简单的连接测试,确保输入的数据库信息的正确性。当工程新建时,会将数据库信息写入到配置文件中,而不需要进行手工填写。此外,对于工作流中的自动运行结点,即Java结点提供了可视化的导航工具,提供填写参数,配置Java结点的可视化服务,原GPD环境中,这些工作需要开发人员学习Java结点相关属性,并修改源文件进行支持。在编辑器中,对于Java结点,只需要双击,就可以弹出相应的配置Java结点文件以及参数的对话框,开发人员只需要在对话框中进行参数的配置就可以自动将信息写入到工作流的定义文件中,而不需要手工去修改工作流定义文件。

2)企业用户组织模型可视化视图模块。

(1)首先是组织模型的导入导出问题。视图需要保证模型在第二次开启开发环境(即Eclipse)时仍然存在,但是Eclipse的插件模式并不支持这种情况,其次,组织模型最终是需要写入到数据库中,才能被流程引擎使用,即组织模型需要能与数据库直接进行信息的传递,再者,为了方便开发人员开发的模型的可移植性,即将组织模型存储起来,可以在另外的开发环境中使用之前编辑好的组织模型,采用了XML文件的存储方式。综上所述,组织模型的导入分为两个部分,一个是已经编辑好的XML文件,格式需要符合定义好的格式;一个是从引擎数据库中,这两种方式都应该被组织模型视图所支持。与组织模型的导入相对应的,组织模型的导出同样需要两种方式,即XML文件与引擎数据库。XML文件时方便信息以文件形式存储,增加可移植性;引擎数据库是为了使得编辑的组织模型能被引擎所识别,从而进行正确的人工任务分配功能,使得工作流流程正确运行。

(2)其次是组织模型的编辑问题。在组织模型建模视图中,如果只是单纯从XML文件或者数据库中导入信息模型,然后再进行人工任务相应的分配,这就缺乏了很大的灵活性,如果需要修改组织模型,只能从XML文件或者数据库这两个数据源中进行修改。这种情况将大大增加开发人员的工作量,而且XML文件形式与数据库表的列表形式决定了这种工作的复杂性,用户组织模型通常是树形模型,某组织下有几个分组织,分组织下又分别有某用户等情况。基于以上原因,在组织模型视图上增加了对组织模型的编辑功能。需要一些基本的复制、粘贴、新建、编辑等该功能。

(3)再次是人工节点分配的可视化问题。流程设计器中,人工任务节点的分配只是单纯的一个文本框,开发人员需要手工写入用户或者组的id,没有可视化的图形去帮助开发人员选择。建立组织模型的意义就在于图形化显示组织模型,使得开发人员方便地进行人工任务的分配,这个分配可以将具体的任务分配到组或者个人。因此需要在人工任务节点的属性视图中加入相应的信息。为了改善之前手工输入的不便之处,在人工任务节点的属性视图中相应的文本框的位置加入了一个按钮,点击此按钮的功能就在于展示整个组织模型,开发人员可以方便地在组织模型上进行单选或者多选进行任务的分配。这个实现将用户从繁琐的组织模型查找识别中解放出来,图形化的界面更利于用户找出组织模型之间的包含关系。

图4为企业用户组织模型可视化视图模块的场景示意图。如图4所示,组织模型建模模块的场景示意图。在组织模型中,开发人员可以通过XML文件形式或者数据库形式将组织模型的树形结构显示在组织模型视图中,为开发人员提供可视化的参考使用,开发人员可以在视图中对组织模型进行相应的修改编辑,之后还可以将视图中最新的组织模型进行XML文件形式的保存或者数据库形式的保存。保存到系统数据库中是为了流程引擎对于组织模型的使用。

图5提供了组织模型建模模块具体的用户开发示例过程,在此过程中,对于用户的每种操作都有相应的功能支持提供服务。

3)可重用构件库视图模块。

首先是系统构件库的研究与需求。系统构件库是工作流工具本身所带有的构件的列表,流程开发人员可以根据具体的需要选择系统已有的构件进行加载。加载之后,可以视为普通的JAVA节点进行拖拽到编辑器中,进行方法的选择,添加相应的参数,从而在工作流中进行调用。

其次是用户自定义构件库的研究与需求。流程开发人员在实际的开发过程中会不断积累所需要的构件,为了使开发人员不必进行一些重复的工作,本工作流工具为这些构件提供了一个用户自定义构件库。开发人员开发出来的构件可以通过添加的功能将这些构件加入到开发环境中,并且可以使用与系统构件库相同的方法来进行加载,拖拽,填写参数。需要注意的是,开发人员必须提供有效的EJB构件的接口,比如EJB构件的JNDI名称以及方法的列表,如果这里出现错误,开发工具检测不了这里的错误,从而会导致流程调用此EJB构件时出现错误。

再次是搜索功能的研究。构件库会随着开发人员开发时间的增长而增大,快速定位到某一个构件需要搜索功能。在构件库视图上实现了此功能,开发人员输入关键字,系统构件库与用户自定义构件库会实时根据关键字内容的变化而过滤出相应的内容,以方便开发人员进行查找使用。

图6提供了可重用构件库视图模块的用户开发示例过程,开发人员可以使用已有的系统构件库中的构件,也可以将自己在开发过程中创建的构件加入到构件库中进行复用,从而降低开发成本。构件库视图也提供了简单的关键词搜索功能,供开发人员快速找到需要的构件进行加载绑定。

构件的加载绑定与普通自动执行结点(即Java结点)类似,加载到编辑器中,拖拽到流程定义文件之后,双击,可以弹出配置参数的对话框,开发人员只需要在对话框中进行相应参数的配置就可以将参数信息写入到流程定义文件的源文件中而不需要手工打开源文件进行书写配置。

4)表单可视化及绑定功能模块。

GPD开发环境中,人工节点绑定表单时需要进行对源代码的手工修改,在本系统中,将此功能进行了可视化界面的封装,表单设计器原本的环境是浏览器形式,在本系统中将其集成到Eclipse开发环境中。人工节点绑定表单时,双击,系统提供可视化的表单列表,由开发人员进行选择,后台进行源代码的修改。方便开发人员进行表单的设计功能。

5)工程一键部署功能模块。

此功能模块相对于开发过程中的不便捷而言,当工程开发完毕之后,只需要在工程右键然后选择部署,之后由开发人员提供服务器的网络地址,然后进行工程的打包和部署。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号