艾巴生活网

您现在的位置是:主页>科技 >内容

科技

基于开源工作流引擎JBPM实现电子政务系统的设计

2024-05-16 10:04:50科技帅气的蚂蚁
1导言所谓电子政务,是指各级政府部门运用现代信息技术,开展办公决策、业务处理、公共服务等政府活动,提高工作效率、管理能力和服务水平

基于开源工作流引擎JBPM实现电子政务系统的设计

1导言

所谓电子政务,是指各级政府部门运用现代信息技术,开展办公决策、业务处理、公共服务等政府活动,提高工作效率、管理能力和服务水平的过程。近年来,随着国内信息化建设的不断加快和国家对电子政务重视程度的加深,电子政务呈现出强劲的发展势头。

与此同时,工作流技术也发展迅速,商业和开源的工作流产品相继推出。由于电子政务项目中软件支出巨大,采用开源软件成为在不影响系统功能和性能的前提下降低电子政务项目成本的重要途径。而且开源软件具有开放性的特点,开源社区也在不断努力提高开源代码的可靠性,逐步提高开源系统的质量。

本文在对三种开源工作流引擎进行比较分析的基础上,重点对基于JBPM的电子政务系统的构建进行了分析和研究。基于JBPM的电子政务系统不仅提高了政府的办公效率,而且降低了系统开发的成本。

2开源工作流引擎的比较

目前,在工作流领域,具有代表性的开源工作流产品有Shark、OSWorkflow和JBPM。这里,对三个工作流引擎进行了分析和比较,如表1所示。

通过对上表的分析,可以得出结论,JBPM是开发电子政务系统最合适的开源工作流引擎。与Shark相比,JBPM更加灵活,采用流行的Hibernate作为持久层,便于在不同的数据库服务器上部署和管理,并且有全面的文档。与OSWorkflow相比,JBPM更简单,可以作为嵌入式工作流,这给了开发人员更多的灵活性。同时,JBPM系统最大的特点是使用自己的流程定义语言JPDL来精确描述业务流程。过程建模结合了UML活动图和状态图的知识,为用户提供了一种可视化的面向图形的方法来编辑过程定义。业务人员可以直观地与软件进行交互,更好地发挥电子政务系统的作用。

3 JBPM分析

JBPM的全称是Java业务流程管理,是基于J2EE的轻量级工作流管理系统。JBPM是一个开源项目,按照Apache许可使用,可以免费用于商业开发。JBPM于2004年10月18日发布了2.0版本,并于当天加入JBoss,成为JBoss企业中间件平台的一部分,更名为JBoss JBPM。JBPM的系统结构如图2所示。

因为jbpm的图形化流程设计工具jbpm-designer只是一个eclipse插件,只能在eclipse IDE环境下使用,所以JBPM开发通常使用eclipse开发环境。安装JBPM很简单,只需将文件JBPM-启动器-工具包-3 . 1 . 1 JBPM-设计师JBPM-GPD-功能eclipse复制到Eclipse安装目录的pulgins目录下即可。如果安装成功,eclipse重启,您可以在Eclipse首选项中找到一个额外的JBoss jBPM。

JBPM的具体开发过程如下:1)初始化数据库。任何系统都需要数据库支持,jBPM会在数据库中存储自己的一个初始化数据,工作流数据也存储在数据库中。JBPM使用Hibernate作为自己的存储层,所以只要是Hibernate支持的数据库,JBPM也支持。

本文设计的系统使用的数据库是MySQL,所以以MySQL为例,简单介绍一下JBPM数据库的初始化操作:首先安装MySQL和MySQL客户端,这是为了方便查看数据库中的数据;然后在MySQL中创建一个库,将下载文件jbpm-starters-kit-3.1.1下的子目录jbpm重命名为jbpm.3;最后,在DOS窗口中,进入jbpm-starters-kit-3.1.1jbpm-db子目录,执行命令“ant mysql。脚本”。如果执行成功,将在BPM-starters-kit-3 . 1 . 1 jbpm-dbuild Mysql scripts子目录中生成四个SQL文件。然后在mysql客户端的脚本界面执行脚本“mysql.create.sql”,这样就在JBPM库中创建了一个数据表。

2)在Eclipse中配置JBPM。在Eclipse首选项中找到JBoss JBPM,并指定JBPM的安装路径。目的是在Eclipse中找到JBPM下的各种jar包,并设置项目的JBPM库引用。

3)创建一个新的JBPM项目。进入Eclipse的主菜单,点击文件,新建,项目,JBoss JBPM,过程项目,选择一个项目名,点击完成。

4)设置Hibernate的配置文件,主要是设置相关的数据库连接信息。以MySQL为例,在JBPM项目中点击进入hibernate.cfg.xml文件,进行如下修改:

org . hibernate . dialect . MySQL dialect

com.mysql.jdbc.Driver

JDBC:MySQL://localhost:3306/jbpm

******

5)添加一个库引用。为了连接JBPM工作流引擎和Hibernate持久层之间的通信,需要将Hibernate的Hibernate3.jar包添加到JBPM项目的库参考中。本系统使用MySQL数据库,因此其JDBC库也应添加到库参考中,这与使用其他数据库类似。

6)具体工作流程的开发。使用JPDL定义工作流,并将其保存在processdefinition.xml文件中。有关流程定义规则,请参考JBPM工作流开发指南。

电子政务系统的设计与实现

本文采用工作流引擎JBPM作为政务系统的核心,Struts Spring Hibernate作为政务系统的框架,构建一个清晰、实用、廉价的电子政务系统。系统架构如图3所示。

图中的用户负责以下任务:

(1)登录电子政务系统界面,使用建模工具定义要运行的业务流程,然后向中央控制器(Actionservlet)发送业务请求;

(2)在系统界面查看本人发起的业务流程的详细信息,包括流程路线中到达各节点的时间以及各节点负责人的意见;

(3)通过系统接口读取视图模块(JSP)交付的业务流程的最终结果。

然后分析电子政务系统架构图中其他组件的具体实现:

(1)表现层。在这个系统架构中,表示层实际上包括Struts框架中的两个层次结构:控制层和视图层。控制层使用中央控制器(ActionServlet)和处理器(Action)实现,视图层使用JSP实现。表示层中的处理器表单本质上是一个JavaBean,它是一个DTO(数据传输对象),专门用于传输表单数据。它包括一个用于表单数据验证的validate()方法和一个用于数据重置的reset()方法。在表示层的设计上,系统严格按照MVC模式进行设计,页面中需要的所有数据由控制层传输,用户提交的业务请求和数据由控制层处理,判断访问合法性、页面跳转和响应用户请求的工作也由控制层完成;视图层负责显示模型的数据,接受模型的数据更新通知来更新视图,接受用户输入的数据传送到中央控制器和处理器处理的结果传送到系统界面,将控制层和视图层代码分离。表示层的具体实现过程如图4所示。

(2)业务层。业务层是电子政务系统的核心,负责处理复杂的日常事务和工作流事务,并根据业务需求动态扩展。同时,业务层也为表示层组件提供必要的接口服务。该系统采用Spring管理bean机制。具体实现过程如下:当业务请求流向业务层时,模型层(JavaBean,EJB)负责连接工作流引擎(JBPM),将业务请求传输到JBPM进行业务流转,流程定义文件通过JBPM流程解析器解析到工作流引擎的核心,完成业务流程的具体实现。业务流程实现后,结果返回给模型层,模型层返回给表示层中的动作。在JBPM流程操作中,模型层还负责与持久层通信,以调用数据库中的数据。

(3)持久层。本文描述的系统使用-Hibernate,一个轻量级O/R映射工具来持久化数据。只要在实例中抽象出对象的属性,Hibernate就会根据映射文件自动将对象映射到基于SQL的关系模型数据结构,所以在使用JBPM时,你可以只专注于流程设计而不考虑数据持久化操作的具体实现细节,业务中需要保存和修改的信息都会在数据库中实时更新,保证整个数据系统的数据一致性。这些特点使得Hibernate能够为电子政务系统提供一个良好的持久层支持环境。

5结束语

本文的创新之处在于JBPM系统的流程建模技术结合了UML活动图和状态图技术,可以实现和完善电子政务系统的可视化设计,并且作为当今市场上最好的开源工作流引擎,为电子政务系统的升级打下了坚实的基础。因此,构建一个基于开源工作流引擎JBPM的电子政务系统,不仅可以节省软件开发成本,还可以提高政府系统的性能。