0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 来源:微计算机信息 作者:万仲保,王飞虎 2021-03-23 16:50 次阅读

1 引言

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

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

本文在对比分析当今三大开源的工作流引擎的基础上,重点分析并研究了基于JBPM 构 建电子政务系统。基于JBPM 所设计的电子政务系统,既提高了政府的办公效率又降低了系 统开发的费用。

2 开源工作流引擎之间的比较

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

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

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

3 JBPM 剖析

JBPM,全称是Java Business Process Management,是基于J2EE 的轻量级工作流管理系 统。JBPM 是公开源代码项目,它使用要遵循Apache License,可以免费应用于商业开发。 JBPM 在2004 年10 月18 日,发布了2.0 版本,并在同一天加入了JBoss,成为JBoss 企业 中间件平台的一个组成部分,它的名称也改成JBoss JBPM。JBPM 的系统结构如图2 所示。

由于JBPM 的图形化流程设计工具jbpm-designer 目前只是一个eclipse 插件,只能在 eclipse IDE 环境下使用,故在JBPM 开发中通常使用的是eclipse 开发环境。安装JBPM 很 简单,只需将文件jbpm-starters-kit-3.1.1jbpm-designerjbpm-gpd-featureeclipse 拷贝到eclipse 安装目录的pulgins 目录下即可。如果安装成功,重启eclipse,就可在 Eclipse 的首选项里发现多了一个JBoss jBPM 。

JBPM 具体的开发流程如下: 1) 初始化数据库。 任何系统都需要数据库支持,jBPM 会把自己的一个初始化数据存 储到数据库,同时工作流的数据也是存储到数据库中的。jBPM 使用了Hibernate 做为自己 的存储层,因此只要是 Hibernate 支持的数据库,JBPM 也就支持。

本文所设计系统使用的 数据库是MySQL,故以MySQL 为例,简单介绍JBPM 数据库的初始化操作: 首先安装MySQL 和MySQL 客户端,安装MySQL 客户端是为了方便查看数据库中的数据; 接着在MySQL 中创建一个库并将下载的文件 jbpm-starters-kit-3.1.1 下的子目录 jbpm 改名为 jbpm.3;最后在DOS 窗口下进入jbpm-starters-kit-3.1.1jbpm-db 子目录,执行 命令“ant mysql. scripts ”。若执行成功,会在bpm-starters-kit-3.1.1jbpm-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、 Process Project,取个项目名,点击完成即可。

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

org.hibernate.dialect.MySQLDialect

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/jbpm

root

******

5) 添加库引用。为了连接JBPM 工作流引擎与Hibernate 持久层的通信,要将Hibernate 的Hibernate3.jar 包添加进JBPM 项目的库引用。而本系统使用了MySQL 数据库,故也要将 其JDBC 库添加进库引用,使用其他数据库与此类似。

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

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

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

图中用户(User)负责以下工作:

(1)登录电子政务系统界面,使用流程定义工具(Modeling Tool)将要进行流程运行的 业务流程定义完整后发送业务请求到中央控制器ActionServlet);

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

(3)通过系统界面(System Interface)读取由视图模块(JSP)传递出来的业务流程的 最终结果。

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

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

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

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

5 结束语

本文创新点:JBPM系统的过程建模技术结合了UML活动图和状态图的技术,能实现并提 高电子政务系统的可视化设计,并且,作为当今市场上扩展性能最好的开源工作流引擎,为 电子政务系统的升级奠定了坚实的基础。故基于开源工作流引擎JBPM构建电子政务系统,既 节省了软件开发费用又提高了政务系统的性能。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9016

    浏览量

    85171
  • 数据库
    +关注

    关注

    7

    文章

    3761

    浏览量

    64272
收藏 人收藏

    评论

    相关推荐

    基于Notes的OA工作流引擎的设计和实现

    Domino/Notes平台上实现工作流引擎实现了的工作流引擎由后台类
    发表于 04-24 09:22

    基于工作流的零售贷款档案管理系统设计与实现

    Jbpm (Java Business Process Management)工作流引擎技术以工作任务为主线,贯穿整个业务处理过程,流程模块和事件灵活组合,配合业务规范,使
    发表于 04-24 09:22

    电子政务评估方法AHP的研究及实现

    【作者】:曾勇进;庄建东;李思;【来源】:《心智与计算》2010年01期【摘要】:重点总结并探讨了电子政务评估中权重设定的两大方法及其实现方法,并进行了比对研究。在此基础上,进行了系统的实例开发
    发表于 04-24 09:55

    决策支持系统电子政务中的应用

    水平和决策准确性.从而更科学、更有效地为社会、企业和公众服务.目前已成为我国***越来越紧迫的一项工作。作为一项国家***信息化的重点建设项目:电子政务建设.目前是围绕”金”字头的一系列重要信息化工程来
    发表于 03-04 14:16

    OA系统工作流引擎的设计

    本文首先介绍了工作流供理系统的概念及其体系结构模型。基于Web 平台,针对模型中工作流引擎模块的设计提出了一个行之有效解决方案。关键字:工作流
    发表于 06-16 11:31 45次下载

    基于Domino的企业级工作流引擎

    本文提出了基于Domino 的企业级工作流引擎。并简要描述了这种工作流引擎实现。企业内部的运作是根据各种各样的已制订的
    发表于 08-14 09:09 28次下载

    基于UML的工作流引擎的设计与研究

    由于工作流技术具有在异构环境中处理复杂事务的能力,所以在科学研究、电子政务和商务等方面引起了广泛的关注,工作流引擎工作流管理
    发表于 08-19 10:47 23次下载

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

        本文研究分析了知识、信息、数据之间的关系,对电子政务的背景、涵义及电子政务系统的功能作了详细分析,揭示了知识管理系统
    发表于 09-02 11:30 8次下载

    基于XML的电子政务系统设计

    该文对电子政务系统体系结构进行了分析,并针对电子政务系统信息资源难以共享的问题,提出了以XML 文件作为异构环境数据交换平台的解决方案,并重点探讨了基于XML 的有关数据
    发表于 09-23 10:29 14次下载

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

    分析了高校信息化的现状和不足,给出了解决方法,即采用J2EE 技术来构建一个高校电子政务系统。本系统采用XML 实现了异构系统之间的数据共享
    发表于 09-26 08:58 14次下载

    基于JBPM电子政务系统的设计

    随着信息技术的深入发展,电子政务已成为信息化建设的重要领域。由于电子政务建设中软件费用支出巨大,本文提出了一个基于开源工作流引擎
    发表于 01-27 14:32 23次下载

    基于国产平台的电子政务系统设计与实现

    针对我国农村电子政务建设的现状和需求,本文介绍了基于国产平台的面向农村基层政府通用电子政务系统的总体设计与实现,分析了农村电子政务
    发表于 02-25 15:31 17次下载

    机关电子政务考评系统的设计与实现

    为了适应国家电子政务建设的需要,开发了机关电子政务考评系统。该系统主要通过网络在线直接考评和间接考评的形式收集各个考评层面的考评数据,然后对结果进行统计分析,
    发表于 02-25 15:37 8次下载

    轻量级工作流引擎架构设计

    为了克服传统工作流管理系统的不足,设计了工作流管理型系统的原型体系结构,搭建了轻量级工作流引擎
    发表于 04-12 16:15 0次下载
    轻量级<b class='flag-5'>工作流</b><b class='flag-5'>引擎</b>架构设计

    基于MVC架构的轻量级工作流引擎设计

    为克服传统工作流引擎的不足,设计了基于MVC架构的轻量级工作流引擎设计
    发表于 05-24 15:23 0次下载
    基于MVC架构的轻量级<b class='flag-5'>工作流</b><b class='flag-5'>引擎</b>设计