基于JBPM的电子政务系统的设计_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于jbpm的电子政务系统的设计所谓政务,是指各级政务部门利用现代信息技术,开展办公决策、业务处理和公 共服务等政务活动,提高工作效率、管理能力和服务水平的过程。近几年,随着国内信息化 建设速度的不断加快以及国家对电子政务工作重视程度的日渐加深,电子政务展现出强劲的 进展势头。同时,工作流技术也进展快速,商业和开源工作流产品相继推出。因为电子政务工程中 软件费用支出巨大,在不影响系统功能和性能的前提下,采纳开源软件成为电子政务工程降 低成本的一个重要途径。而且,开源软件具有开放的特性,开源社区都在不断的努力提高开 源代码的牢靠性,逐渐完美开源系统的质量。本文在对照分析当今三大开源的工作流引擎的

2、基础上,重点分析并讨论了基于jbpm 构 建电子政务系统。基于jbpm 所设计的电子政务系统,既提高了政府的办公效率又降低了系 统开发的费用。2 开源工作流引擎之间的比较目前,在工作流领域,具有代表性的开源工作流产品有shark、osworkflow 和jbpm。 在此对这三大工作流引擎举行分析比较,如表1。通过对上表的分析可以得出:假如开发电子政务系统,jbpm 是最适用的开源工作流引 擎。由于相对于shark,jbpm 越发灵便,而且以当前流行的hibernate 作为它的持久层,这使它能在不同的数据库服务器上轻松部署并便利地举行管理,另外还有全面的文档;相对于 osworkflow,jb

3、pm 越发容易,可以作为嵌入工作流,给了开发者更大的灵便性。同时,jbpm 系统最大的特色是用法自己的流程定义语言jpdl 来精确描述业务流程,过程建模结合了uml 活动图和状态图的学问,为用户提供了可视化的面对图形的编辑流程定义的办法,业务人员 能很直观的与软件举行交互,更好的发挥了电子政务系统的作用。3 jbpm 剖析jbpm,全称是java business process management,是基于j2ee 的轻量级工作流管理系 统。jbpm 是藏匿源代码项目,它用法要遵循apache license,可以免费应用于商业开发。 jbpm 在2004 年10 月18 日,发布了2.0

4、版本,并在同一天加入了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,就可在

5、 eclipse 的首选项里发觉多了一个jboss jbpm 。jbpm 详细的开发流程如下: 1) 初始化数据库。 任何系统都需要数据库支持,jbpm 会把自己的一个初始化数据存 储到数据库,同时工作流的数据也是存储到数据库中的。jbpm 用法了hibernate 做为自己 的存储层,因此只要是 hibernate 支持的数据库,jbpm 也就支持。本文所设计系统用法的 数据库是mysql,故以mysql 为例,容易介绍jbpm 数据库的初始化操作: 首先安装mysql 和mysql 客户端,安装mysql 客户端是为了便利查看数据库中的数据; 接着在mysql 中创建一个库并将下载的文件

6、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-dbbuild mysql scripts 子名目中生成四个sql 文件。再在mysql 客户端中的脚本界面执行 “mysql.create.sql”脚本,这样就在jbpm 库中创建了一个数据表。2) 在eclipse 中配置jbpm。进入eclipse 的首选项中找到jboss jbpm

7、,指定 jbpm 的安装路径,目的是为了在eclipse 找到jbpm 下的各种 jar 包,设置项目的jbpm 库引用。3)新建jbpm 项目。进入eclipse 的主菜单,依次点击文件、新建、项目、jboss jbpm、 process project,取个项目名,点击完成即可。4)设置hibernate 的配置文件,主要是设定相关的数据库衔接信息。以mysql 为例,在 jbpm 项目中点击进入hibernate.cfg.xml 文件,其中做如下修改:org.hibernate.dialect.mysqldialectcom.mysql.jdbc.driverjdbc:mysql:/lo

8、calhost:3306/jbpmroot*5) 添加库引用。为了衔接jbpm 工作流引擎与hibernate 持久层的通信,要将hibernate 的hibernate3.jar 包添加进jbpm 项目的库引用。而本系统用法了mysql 数据库,故也要将 其jdbc 库添加进库引用,用法其他数据库与此类似。6) 详细工作流的开发。用法jpdl 定义工作流,保存在processdefinition.xml 文件中。 流程定义法则参考jbpm 工作流开发指南。4 电子政务系统的设计与实现本文采纳工作流引擎jbpm作为政务系统的核心,利用struts +spring +hibernate架构 作为

9、政务系统的框架,构建一个结构清楚、有用价廉的电子政务系统。系统架构3所示。图中用户(user)负责以下工作:(1)登录电子政务系统界面,用法流程定义工具(modeling tool)将要举行流程运行的 业务流程定义完整后发送业务哀求到中心控制器(actionservlet);(2)在系统界面(system interface)上查看本人所发起的业务流程的具体信息,包括到 达流程路途中各节点的时光以及各节点负责人的看法;(3)通过系统界面(system interface)读取由视图模块(jsp)传递出来的业务流程的 终于结果。接着再分析电子政务系统架构图中其他组件的详细实现:(1)表示层。在该

10、系统架构中,表示层实际包含了struts框架中的两个层次结构:控制层 和视图层。控制层是用法中心控制器(actionservlet)和处理器(action)实现,视图层 则是用法jsp实现。表示层中的处理器表单(actionform)本质上是一种javabean,是特地用 来传递表单数据的dto(data transfer object),它包括用于表单数据验证的validate() 办法和用于数据复位的reset()办法。在表示层的设计中,严格遵照mvc模式设计系统,页面中需要的数据均由控制层传递,用户提交的业务哀求和数据都是通过控制层处理,拜访合法 性推断、页面跳转、响应用户哀求等工作也是

11、由控制层完成;视图层负责显示模型的数据、 接受模型的数据更新通知更新视图、接受用户输入的数据传送给中心控制器和接受处理器处 理后的结果传送给系统界面,将控制层和视图层代码分别。表示层详细实现的流程4。(2)业务层。业务层是电子政务系统的核心,负责处理繁琐复杂的日常事务和工作流 事务,并按照业务需求举行动态扩展,同时业务层还为表示层组件提供须要的接口服务,本 系统用法spring管理bean的机制。详细的实现流程是:当业务哀求流转到业务层时,模型层 (javabean、ejb)负责与工作流引擎(jbpm)衔接,把业务哀求传送到jbpm举行业务流转, 流程定义文件通过jbpm流程解析器解析进入工作

12、流引擎的核心完成业务流转的详细实现。业 务流程实现后将结果返回模型层,模型层再返回给表示层中的action。在jbpm流程运转中, 模型层还负责与持久层通信,实现对数据库中数据的调用。(3)持久层。本文所描述的系统采纳了轻量级o/r mapping工具hibernate,举行数据 持久化的工作。实例中只要把对象的属性抽象出来,hibernate就会按照映射文件自动将对 象映射到基于sql的关系模型数据结构中去,则在用法jbpm的时候可以不用考虑数据持久化 操作的详细实现详情,而只专注于流程的设计,并且业务中需要保存和修改的信息都将会实 时的在数据库中更新,保证了囫囵数据系统数据全都。这些特性使hiber

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论