您现在的位置是:首页电子技术论文

电子科技论文发表基于SSH2与JBPM架构的OA系统的设计与实现

发布时间:2016-04-15 16:15:21更新时间:2016-04-15 16:38:55 1

  通过流程将日常事务联系在一起,并采用工作流技术实现业务流程网络化、无纸化、自动化办公已成为当今时代各企业来提高部门之间的协同办公与信息流动的主要手段[1]。本文是一篇电子科技论文范文,主要论述了基于SSH2与JBPM架构的OA系统的设计与实现。
  摘要:该文从系统的建设目标出发,介绍了系统框架及关键技术的配置,在此基础上提出基于工作流办公系统的总体设计方案,并详细介绍了系统各模块功能的实现。

  关键词:JBPM,SSH,工作流办公系统

  1 概述

  OA作为高校数字化校园建设的重要组成部分,大部分高校都投入使用了OA 系统,实现了共享资源,协同办公,但多数均使用软件厂商推出的工作流管理系统,根据不同高校、不同的内部事务**的流程对系统进行改造,这系列产品不能完全体现高校独特的办公特点,统一定制系统的模式也无法满足用户的需求。我校结合对系统的实际需求和办公的特点,自主开发了一套适合校园网络办公自动化的应用软件,这不仅有助于提高我校办公效率,而且节约了成本,并对后期维护以及功能扩展方面都有强有力的保证。

  2 系统设计

  2.1 功能设计

  以我校办公信息的采集和处理为中心,提供开放的、安全的和可管理的信息共享、业务处理和协同工作的平台,提高了工作效率,使单位内部信息管理和办公水平更加规范和快捷。本系统主要设计了三大功能模块:

  1)日常办公模块,实现是对工作流中的公文进行管理,按业务流程分为发文管理,内收文管理,外收文管理,督办管理,会议室管理和车辆管理。

  2)流程管理模块,包括对业务流程的设计、发布以及管理。

  3)系统管理模块,实现对系统的全方位管理,包括用户管理、角色管理、权限管理、日志管理等。

  2.2 系统框架设计

  本系统采用基于J2EE轻量级SSH架构与JBPM结合的设计方案,由Struts2、Spring和Hibernate整合而成。Struts2作为系统的MVC框架使用,拦截用户的请求,并通过调用业务逻辑组件来处理用户请求。JBPM提供了业务流程进行管理的平台,包括流程定义、控制业务单元间的数据流和控制流,以及映射对业务单元的操作到业务逻辑层的业务对象或应用组件。Spring框架提供了系统的IoC容器,该容器负责管理系统的所有组件,并负责管理系统中各组件之间的依赖关系。Hibernate为系统的持久化提供了解决方案,完成对象和关系数据库表的映射,封装数据库底层细节[2][3]。

  具体流程为:用户发出Http请求到服务器, 控制器Servlet将其提交给Struts2 进行处理,Struts2 对请求路径进行Action匹配并执行相应方法,然后通过Spring容器,依赖注入相应的JavaBean处理业务逻辑,该过程中要进行数据库操作,需通过Hibernate进行O/R映射,最后将返回的结果交给视图。模型如图1所示。

  图1 SSH 架构的实现模型

  2.3 关键技术配置

  为了实现JBPM与SSH架构的集成,整个过程需要分以下三个步骤:

  首先,创建数据库。即在lib下边引入jbpm.jar、bpm-tomcat6.jar、jbpm-jboss.jar、jbpm-console-reports.jar、jbpm-console-graphView-plugin.jar等所需的.jar 包,然后在配置文件jbpm.cfg.xml中加入Spring的引用。

  其次与spring集成,在Spring.xml中添加对JBPM的配置,主要实现与Hibernate的整合。

  …….

  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

  com/oa/po/po.xml

  jbpm.execution.hbm.xml

  jbpm.task.hbm.xml

  jbpm.identity.hbm.xml

  org.hibernate.dialect.Oracle10gDialect true

  最后,业务逻辑的实现,即将流程自动部署到数据库中,配置workflow中action、service、dao等,同Spring中普通javaBean配置一样,采用依赖注入Ioc容器。

  class="org.springframework.orm.hibernate3.HibernateTransactionManager">

  class="com.oa.workflow.action.WorkflowAction"scope="request">

  class="com.oa.workflow.service.impl.WorkflowServiceImpl">

  class="com.oa.workflow.dao.impl.WorkflowDaoImpl">

  3 系统实现

  3.1 日常办公模块的实现

  办公模块是整个OA系统的基础平台,它管理系统中所有业务流程的正常运转,贯穿了从公文发起、流转到公文存档的整个生命周期。它实现了校内收文、发文、审批等工作的无纸化办公,实现了电子化的文档管理,提供方便的文档查询和记录。

  内收文是指以请示、报告的形式向校办或向领导请示工作的一种方式。下面以内收文为例来说明工作流在其中的实现,该流程主要包括收文拟稿、签收、登记、拟办、请办、审批、传阅等程序。用户首先登录内收文管理页面,该页面实现对内收文的新增、修改、归档和导出功能的操作。点击“新增内收文”进入收文拟稿页面,在“基本信息”栏中用户根据需求选择流程,以及选择下一岗位责任人。点击“流程信息”即可查询和跟踪整个业务的流转过程。

  内收文流程发起后,该业务开始运行,下一任务接收者进入OA系统后,通过点击“我的任务”,系统将接收并列出所有工作流中需要当前用户完成的任务,双击某一条任务可直接进入业务操作界面,即每位用户打开其待办工作即可查看并**所有需其处理的公文。

  3.2 流程管理模块的实现
电子科技论文发表

  流程管理模块主要提供流程的发布、流程查看、流程修改及删除功能,针对具体的流程,若需要在运转过程中的某些任务节点添加“回退”功能,则需要对改业务流程特殊定制,点击“设置任务返回功能”,弹出改业务流程各个任务节点,然后对所需节点进行设置。

  流程在线设计模块主要负责绘制新流程,设置流程基本信息以及流程中的角色控制等信息,绘制好后点击保存,流程设计器将根据流程定义内容(源代码)即标准XML内容发布到流程数据库中。点击“新增流程”按钮进入流程设计。

  3.3 管理模块的实现

  系统管理模块是整个平台的后台支撑,主要实现对系统角色、用户、操作权限、日志等信息的管理,其中系统角色与操作权限部分是该功能模块的重点。角色是指人员在系统中的权限定位,在系统中进行人员的角色定义,其实就是为人员在系统中某一环节找相应的定位,并为其赋予一定的权限。即不同级别的用户,被分配不同的角色,并使用相应的权限。权限、角色和用户管理三者相辅相成。

  4 结束语

  本文通过集成 Struts2+Spring+Hibernate 的轻量级MVC模式解决方案,构建具有一定集成度和通用模式的SSH 架构,引入了工作流JBPM 技术,封装了ExtJS框架,开发具有实用价值的反馈平台。同时,系统运行稳定,具有高可用性、易维护性和可扩展性好的特点;此外,本套办公自动化系统,极大地提高了我校信息化建设与应用的水平,节约了人力、物力和管理成本,在高校中具有极大的推广应用价值,经实际运用结果表明,本系统对于中小型 Web也具有一定的通用性。

  参考文献:

  [1] 袁雄伟,钟宝荣.Spring MVC框架下公文审批中应用JBPM工作流引擎[J].信息系统工程,2013(5):88-90.

  [2] 李刚.轻量级Java EE 企业应用实践―Struts 2+Spring+Hibernate 整合开发[M].北京:电子工业出版社,2008.

  [3] 陶勇,李晓军.Hibernate ORM最佳实践[M].北京:清华大学出版社,2007.
  电子科技论文发表期刊推荐《山西电子技术》是山西省电子信息产业唯一公开发行的专业技术期刊。在30年的办刊过程中,刊物一直坚持电子信息行业交流信息,探讨技术的园地,主要宣传报道电子信息领域新技术、新成果;为我省电子信息产业发展服务的办刊宗旨。


转载请注明来自:http://www.yueqikan.com/dianzijishulw/57579.html