本科毕业设计说明书基于SSH2与JBPM工作流引擎的OA系统设计与实现DESIGNANDIMPLEMANTATIONOFOASYSTEMBASEONSSH2ANDJBPMWORKFLOW学院(部):理学院专业班级:信计08-2学生姓名:孙昊指导教师:方贤文教授2012年06月05日安徽理工大学毕业论文I基于SSH2与JBPM工作流引擎的OA系统设计与实现摘要随着社会的进步,整个社会的信息化的建设的蓬勃发展,越来越多的企业、政府、学校都在建设办公自动化(OA),通过办公自动化的软件来提高各个部门之间的协同办公能力和信息的快速流动和共享各种资源。所以工作流技术逐渐成为新一代办公系统的必不可少的支撑技术。其中就包括JBPM是典型的工作流引擎,它在办公自动化系统中得到广泛的应用,本文主要研究基于JBPM引擎的工作流系统。以前的工作流系统中存在一些问题,比如说对办公自动化中的一些特殊的流程模型没有办法实现,业务分析人员的分析模型和开发人员的实施模型存在较大的差异,使得工作流系统的实施难度加大。为了克服上述的缺点,JBPM工作流引擎就做了很大的改进,JBPM把一个业务流程看做是一个UML活动图,在活动图的每个部分都详细的做了定义,所以开发人员和业务人员之间的沟通就更加的方便、快捷;同时,他还具有灵活的扩充机制,对处理各种任务提供了强力的支持。关键词:工作流,工作流管理系统,办公自动化,Java企业级开发,流程模型安徽理工大学毕业论文IIDESIGNANDIMPLEMANTATIONOFOASYSTEMBASEONSSH2ANDJBPMWORKFLOWABSTRACTWiththevigorousdevelopmentofsocietyandthesocialinformationconstruction.Moreandmoreenterprises,government,schoolsareinthebuildingofofficeautomation(OA),Throughtheofficeautomationsoftwaretoimprovethecoordinationbetweenvariousdepartmentsofficeabilityandrapidflowofinformationandsharingofresources.Therefore,workflowtechnologyhasgraduallybecomeanewgenerationofofficesystemessentialtechnology.IncludingtheJBPMisatypicalworkflowengine,itintheofficeautomationsystemhasbeenwidelyapplied,thispapermainlybasedontheJBPMengineworkflowsystem.Previousworkflowsystemhassomeproblems,forexampleontheofficeautomationinsomespecialprocessmodelcannotachieve,businessanalystsanalysismodelandtheimplementationmodelofdevelopmentisputinbiggerdifference,theworkflowsystemimplementationdifficulty.Inordertoovercometheaboveshortcomings,JBPMworkflowenginehavemadegreatimprovements,JBPMputabusinessprocessasaUMLactivitydiagramactivitydiagram,ineverypartofthedetailedhasdefined,sodevelopersandbusinesscommunicationbetweenpersonnelismoreconvenient,fast;atthesametime,healsohasflexibleexpansionmechanism,tohandleavarietyoftasksprovidesstrongsupport.KEYWORDS:workflow,jbpm,j2ee,oaprocess,workflowmode安徽理工大学毕业论文i目录摘要(中文)…………………………………………………………………………………Ⅰ摘要(外文)…………………………………………………………………………………Ⅱ绪论(引言)…………………………………………………………………………………11基于JBPM工作流引擎的OA系统介绍………………………………………………………11.1简单的OA系统分析……………………………………………………………………11.2JBPM工作流引擎在OA系统中的优点………………………………………………11.3OA中的工作流需求……………………………………………………………………21.4基于SSH2的OA系统开发技术简介……………………………………………………21.4.1Spring简介………………………………………………………………………31.4.2Hibernate简介…………………………………………………………………41.4.3Jquery简介………………………………………………………………………51.5本章小结………………………………………………………………………………52工作流系统的分析、设计与实现…………………………………………………………52.1工作流系统的需求分析………………………………………………………………52.2工作流系统的概要设计………………………………………………………………62.3创建工作流工具功能和界面设计……………………………………………………72.4工作流系统的的详细设计……………………………………………………………122.4.1流程模板配置功能………………………………………………………………122.4.2待办事宜功能……………………………………………………………………152.4.3在办事宜功能……………………………………………………………………172.4.4办结事宜功能……………………………………………………………………182.4.5我的在办事宜功能………………………………………………………………192.4.6我的办结事宜功能………………………………………………………………202.5本章小结………………………………………………………………………………213简单OA系统设计…………………………………………………………………………213.1系统需求概要设计……………………………………………………………………213.2主要模块详细设计……………………………………………………………………233.2.1发文管理子模块…………………………………………………………………233.2.2收文管理子模块…………………………………………………………………243.3用户管理设计…………………………………………………………………………253.4本章小结………………………………………………………………………………27安徽理工大学毕业论文ii4重要编码和测试分析………………………………………………………………………274.1jbpm和spring配置…………………………………………………………………274.2本章小结………………………………………………………………………………32结论…………………………………………………………………………………………33参考文献……………………………………………………………………………………34谢辞…………………………………………………………………………………………35安徽理工大学毕业论文1绪论为了提高企业运营效率和降低运营成本,办公自动化的使用是随之的必然产物,它可以将企业的日常事务用软件的工作流的图形化形式表现出来,实现办公的信息化和规范化。在这种背景的基础上,各种OA系统应运而生。随着社会的进步,整个社会的信息化的建设的蓬勃发展,越来越多的企业、政府、学校都在建设办公自动化(OA),通过办公自动化的软件来提高各个部门之间的协同办公能力和信息的快速流动和共享各种资源。所以工作流技术逐渐成为新一代办公系统的必不可少的支撑技术。其中就包括JBPM是典型的工作流引擎,它在办公自动化系统中得到广泛的应用,本文主要研究基于JBPM引擎的工作流系统。1基于JBPM工作流引擎的OA系统介绍众所周知,OA系统是由很多模块组成,一个成熟的OA系统的模块不尽相同,但大致是差别不大,金智教育的OA系统包括了5大模块,其中有公文管理、个人办公、综合办公、个人空间、流程管理。本文主要专注的是流程管理,这是一个OA系统的核心部分,也是工作流的核心部分,大部分的功能实现都是围绕它来完成的,也是JBPM工作流引擎的核心应用的地方,也是本文的重点,基于JBPM工作流引擎OA系统的设计和实现。1.1简单的OA系统分析一个OA系统虽然包括的模块很多,但是最核心的部分当然是基于JBPM的工作流引擎的实现,当一个高度自定义的工作流引擎实现的时候,用户可以自己设计自己的工作过程,自己定义一个工作流程,一个流程的定义以后,创建人可以基于该流程,发起一个事务,简单的说就是一项工作任务开始了,根据定义的工作流过程,自动向下流转,一个OA系统的大部分功能都是基于这个自定义的工作流引擎来完成的。笔者的目标就是要设计这样一个高度自定义的动态工作流引擎。一个流程从开始到结束可能经过很多分支,而每个分支的类型可以不同,一个分支的类型可以是静态的,也可以是动态的,当一个流程结束的时候节点的类型也可以是不同的,可以是汇聚,也可以是动态汇聚,本文主要就是专注于动态分支和动态汇聚。1.2JBPM工作流引擎在OA系统中的优点虽然现在有很多工作流引擎可以在OA系统中使用,但是JBPM应用是应用最广泛的引擎之一,他有其他工作流引擎没有的优点。安徽理工大学毕业论文2⑴JBPM工作流引擎是组件形式的,可以很好的和其他服务结合起来,例如邮件服务。⑵JBPM工作流引擎使用hibernate作为持久层,可以广泛应用于各种数据库。⑶基于UML活动图的建模,缩小了业务分析人员和开发人员的实施模型之间的差异。⑷容易扩展流程,在解决易扩展流程,在解决工作流模型和特殊工作流模型上有一定的优势。⑸标准的JAVA组件,完全支持J2EE开发,支持各种J2EE框架。1.3OA中的工作流需求根据工作流的需求的不同,可以划分下面几种工作流模型。⑴任务回退模型在办公过程中,经常碰到申请或已经处理过的业务被退回来重新进行处理,这类需求为回退模式;⑵提醒任务模型在办公过程中,往往会对时间有所要求,比如某件事情必须在某个时间节点给予办理,过期可能会作废,此时就需要对任务根据时间进行提醒。对工作流加上时间约束,是OA的一个实用功能,以前绝大多数工作流引擎不支持时间约束,因为传统工作流系统只讲流程的执行而不关心任务的时间特性,而JBPM支持对任务限时;⑶会签任务模型在OA中,有些审批往往需要多个用户共同会签来决定,在财务模块表现的尤为突出。如果参加会签者都投赞成票,这表示通过,否则失败。利用会签,可以有效防止滥用职权、独断专行。或者通过会签来收集所参与人员的意见等。是非常有用的;⑷抄送任务模型在OA中,经常会遇到某些事情已经处理完毕,但是需要将处理结果转发或归档,而转发或归档不影响流程的进程,这类的需求为抄送任务模型;⑸动态任务模型在OA会议管理,秘书行政部安排好会议后,就需要通知与会者,在每次会议管理流程中,与会者并不确定,而是由会议发起人在指定,所以,系统需要动态的根据与会者的情况,生成会议通知任务实例。这种情况下任务实例的个数需要根据实际的需要来生成。1.