毕业设计(论文)基于JBPM的法院案件管理系统开发

上传人:仙*** 文档编号:30746934 上传时间:2021-10-11 格式:DOC 页数:58 大小:2.63MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于JBPM的法院案件管理系统开发_第1页
第1页 / 共58页
毕业设计(论文)基于JBPM的法院案件管理系统开发_第2页
第2页 / 共58页
毕业设计(论文)基于JBPM的法院案件管理系统开发_第3页
第3页 / 共58页
资源描述:

《毕业设计(论文)基于JBPM的法院案件管理系统开发》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于JBPM的法院案件管理系统开发(58页珍藏版)》请在装配图网上搜索。

1、 毕业设计(论文)毕业设计(论文)题 目 基于基于 jBPM 的法院案件管理系统开发的法院案件管理系统开发 姓 名 学 号 专业班级 0404 信息与计算科学信息与计算科学 1 1 班班 指导教师 分 院 信息科学与工程分院信息科学与工程分院 完成日期 20082008 年年 6 6 月月 0606 日日 宁波理工学院宁波理工学院 毕业设计(论文)任务书毕业设计(论文)任务书一、题目 基于 jBPM 的法院案件管理系统开发 二、分院 信息科学与工程分院 学生姓名 专业班级 04 信息与计算科学 1 班 学号 发放日期 2007 年 12 月 25 日 三、指导教师对毕业设计(论文)的进度安排及

2、任务要求1主要任务与目标设计一个基于 jBPM 的法院案件管理系统,目标是要使其应用在法院办案网中,方便办案人员办案和减少纸张文档的传递,实现案件管理信息化。2主要内容与基本要求研究 jBPM 的工作原理、系统结构和实现机制,以及 jBPM 工作流引擎的关键技术如流程定义语言,流程定义的永久化,上下文存取变量等,在此基础上结合法院案件管理的特性设计和实现一个基于 jBPM 的案件管理系统。3计划进度2007.12.252008.03.10查阅文献,撰写文献综述2008.03.102008.03.25确定系统方案,撰写开题报告,外文翻译2008.03.262008.04.30完成系统分析设计和原

3、型开发2008.05.012008.05.15系统实现与集成,建立完整、详细的技术文档2008.05.162008.06.12论文的撰写与整理,提交毕业论文,答辩4主要参考文献1 Will van der Aailst,Kees van Hee工作流管理模型、方法和系统M北京市:清华大学出版社,2004 2 单维锋,李忠华基于工作流技术的管理信息系统集成与应用J防灾科技学院学报,2007,9(1):120124起讫日期: 2007 年 12 月 25 日 至 2008 年 06 月 12 日 指导教师签名 职称 2007 年 12 月 25 日四、分院审核意见负责人签名 年 月 日毕业设计(论

4、文)工作记录卡毕业设计(论文)工作记录卡姓 名: 蒋叶敏日 期写 作 环 节主 要 工 作 内 容指导教师签字2007.12.05 2007.12.25选 题(任务下达)选定研究课题及研究方向,明确毕业设计任务2007.12.26 2008.03.25开题报告(搜集整理资料)查阅文献,撰写文献综述,确定课题所要解决的问题及思路,开题报告2008.03.26 2008.04.30系统设计开发(系统初步设计实现)搜集相关资料,系统设计,代码编写,系统整合2008.05.01 2008.05.15初 稿(总体方案设计分析)系统实现与测试,撰写论文初稿2008.05.16 2008.05.30二 稿(

5、设计计算和工作图)系统完善,论文修改,建立完整、详细的技术文档2008.06.01 2008.06.11定 稿 (说明书撰写)提交毕业论文,制作 PPT,准备答辩注:设计类工作记录卡写作环节一栏按括号内要求填写毕业设计(论文)工作指导卡毕业设计(论文)工作指导卡姓 名蒋叶敏指 导 教 师刘启玉计划进程表计划进程表日 期工 作 内 容完 成 情 况2007.12.25布置毕业设计任务完成2008.03.25开题报告检查、答辩完成2008.04.30完成系统分析设计和原型开发完成2008.06.05完成论文撰写,修改定稿完成指指 导导 教教 师师 检检 查查 答答 疑疑 记记 录录日 期检 查 答

6、 疑 内 容指导教师签字2007.12.28指导文献查阅方向,解答关于文献阅读中的疑问2008.03.24讨论系统设计方案,检查开题报告2008.04.25讲解 jBPM 的原理和机制和开发方法2008.05.30检查系统开发完成情况,讨论索引技术的应用学学 生生 请请 假假 记记 录录日 期请 假 原 因指导教师签字无请假I摘 要随着社会主义市场经济的不断发展,法院运用法律手段调节的各种社会关系日益增多,法院受理的各类案件大幅度增加,因此,建设以信息技术为基础的法院案件工作流管理系统非常必要。本文介绍了工作流管理系统的理论知识,在此基础上深入研究了基于 jBPM的工作流引擎机制、流程定义语言

7、及其应用方法。然后,本文分析了法院案件管理的需求和主要流程,给出了系统的设计过程,并基于 J2EE 平台、应用 jBPM引擎进行了实现,该系统通过工作流技术实现了对设计流程的动态管理。论文详细论述了系统的开发过程和 jBPM 流程定义语言(JPDL)在系统开发中的应用方法和技巧。最后,结合法院工作的特殊要求,阐述了系统中应用的关键技术和解决的关键问题,如权限管理、法律文书自动生成、数据库的设计优化等等。关键词:关键词:工作流;管理系统;jBPM;工作流引擎 IIAbstractWith continuous development of the socialist market economy

8、, the court increasingly use legal means to regulate the social relations, and the various accepted cases also increase rapidly. Therefore, it is very necessary to build workflow management system for court cases on the base of information technology. This pape introduces theories and knowledge of w

9、orkflow management system, and on this fundament, it deeply study workflow engine mechanism, process definition language and its application methods based on the jBPM. Then, the paper analysis the needs and major processes of the court case management, and give out the systemetic design process, and

10、 it makes realization based on J2EE platform and applying jBPM engines. This system achieves the dynamic management of design process through the workflow technology. The paper states in detail the development process of the system, and the applying methods and technology of jBPM process definition

11、language (JPDL) in the system development. Finally, considered the special requirements of the work in court, the paper states key technologies to be applied in the system, and the key issues to be solved, such as rights management, legal writ automatically generation, database design optimization,

12、and so on.Keywords: Workflow;Management System;jBPM;Workflow EngineIII目 录摘 要.IABSTRACT.II第 1 章绪论.11.1研究背景.11.2研究现状.11.3研究内容及其意义.2第 2 章基于 JBPM 的工作流技术研究.42.1工作流技术概述.42.2工作流管理系统概述.52.3JBPM 工作流引擎.62.3.1jBPM 的概述 .62.3.2jBPM 整合 Eclipse 开发平台.82.3.3JPDL 流程定义语言分析.102.3.4通过 jBPM 的 API 来执行流程.14第 3 章系统分析与流程设计.1

13、73.1法院案件管理概述.173.2法院案件管理系统需求分析.183.2.1案件基本流程.183.2.2立案.193.2.3审前准备.203.2.4审理结案.213.3基于JBPM 的案件管理系统设计.223.3.1系统结构.223.3.2案件管理系统工作流建模.243.3.3系统类设计.25第 4 章基于 JBPM 的系统的实现.264.1基于JBPM 的流程设计与定义.264.2部署流程定义.304.3系统功能的实现.314.4关键技术的实现.374.4.1权限与系统安全性问题.374.4.2法律文书的自动生成.394.4.3数据库设计优化问题.39第 5 章总结与展望.42参考文献.43

14、致 谢.451第 1 章 绪论1.1 研究背景法院执行工作是社会各界关注的热点和焦点,直接影响着法律的尊严、司法的权威和人民法院的形象。改革开放以来,我国社会主义法制建设得到了迅猛发展,法律体系日臻完善,公民法律意识日益加强,运用法律手段来解决纠纷、保护自己的合法利益己变得越来越普遍。同时社会主义市场经济的发展也对法院审判工作提出了新的挑战,各种纠纷的数量大幅度上升,涉及的领域范围不断增加,案件数量的日益增多和案件复杂程度的日益增加,以及各种新类型、疑难案件的出现使案件审理工作趋于复杂,法官的工作也日益繁重。 1.2 研究现状工作流的概念起源于生产组织和办公自动化领域。它所关注的问题是处理过程

15、的自动化,根据一系列定义的规则,把文档、信息或任务在参与者之间传递,以达到某种目的。工作流技术已成为企业信息化建设方案中必不可少的内容之一。从简单的办公自动化系统的开发,到企业 ERP 系统的实施,再到为提高企业运营效率而出现的 BPR 及 BPM 系统,工作流技术都发挥了相当重要的甚至是关键的作用。随着 EAI 的兴起,EAI 所涉及的各种支撑技术也在快速的发展,工作流技术为实现应用层而的集成提供了有力的支撑。另一方面,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮1。目前工作流技术在电子政务、协同办公、分销管理、项目管理、销售管

16、理等领域和各个行业广泛应用。协同工作流管理系统(SynchroFLOW)成功应用于电信、政府、企业等大型行业。在电子政务领域为解决电子政务系统的多版本、异构、分布、松散耦合等问题,提出了一种基于工作流技术的电子政务支撑系统框架。目前,工作流技术的研究正日益受到人们的重视,许多大学和研究机构都2开展了研究项目,取得了众多的研究成果。国内外有关工作流的研究方向大致可以归纳为以下三个方面:(1) 工作流的理论基础:包括工作流管理系统的体系结构、模型、定义语言等。(2) 工作流的实现技术:包括工作流的事务特性、先进的软件技术的应用、工作流仿真等。(3) 工作流技术的应用:工作流实施技术在不同应用领域的

17、应用方法、应用软件集成等。国内市场的工作流软件可以上分为以下五种主要类型:(1) 是开源软件厂商及其产品。其代表性产品包括:Shark、OSworkflow、jBPM、ActiveBpel 等。其特点表现为新兴产品较多。(2) 是独立的、专业的工作流软件提供商。其特点是,企业规模相对较小,品牌认知度相对较低。但这些企业的独立工作流软件产品较为成熟,能支持较为复杂的工作流。(3) 是大型的平台软件提供商。这类厂商包括:IBM、BEA、MS、Oracle 等。其基本特点是规模大,品牌认知度高,产品成熟度相对更高。(4) 是中小型的平台软件及协同软件提供商,比如中间件厂商也开始推出自己的工作流软件。

18、(5) 是综合的应用软件提供商,如大型的 ISV 和 SI。这类厂商包括:SAP、东软、中软、金蝶等公司。其特点是规模较大,品牌认知度较高,其工作流软件和自有解决方案或应用软件集成得更好。1.3 研究内容及其意义法院案件管理,是法院综合管理的一个重要组成部分,是实现案件受理、立案、案件审理、结案等流程为一体的综合管理。随着社会主义市场经济的不断发展,需要法院运用法律手段调节的各种社会关系日益增多,法院受理的各类案件大幅度增加,只靠增加办案人员不能从根本上解决问题。而建设案件工作流管理系统,加强科学管理,提高办案、办公效率和质量是根本出路。因此,3建设以信息技术为基础的法院案件工作流管理系统,是

19、法院实现装备现代化的重要手段。法院实施案件工作流管理可以降低案件过程处理时间,减少文档传递过程中不必要的中间状态等,降低文档的传递和临时存储时间,实现事件的高效解决。提高法院案件审理的柔性,及时发现业务瓶颈,减少或避免人为因素造成的原则性错误,并能根据变化不断改进其业务过程,使业务运作更顺畅。另一方面,工作流迅速发展时至今日市场上的工作流引擎多不甚数,其中jBPM 是一个灵活可扩展的工作流管理系统,它使用了优秀的 O/R Mapping 工具 Hibernate,而使用 O/R Mapping 工具最大的优点是可以使用面向对象的思维方式操作数据库,把面向对象的分析和设计贯穿软件开发过程的始终。

20、jBPM的整体系统结构可细分为五层,分别是浏览器层、Web 容器、Session Bean 层、数据库映射层和数据库,它的过程建模采用的是改良了的 UML 活动图。作为jBPM 运行时 server 输入的业务流程使用简单强大的语言表达并打包在流程档案中。jBPM 是一组 J2SE 组件,包括一个 Web 应用程序和一个日程安排程序,可以作为 J2EE 应用集群部署。本文主要研究 jBPM 工作流引擎机制、流程定义语言及其应用方法。然后,分析了法院案件管理的需求和主要流程,给出系统的设计过程,并基于 J2EE平台、应用 jBPM 引擎进行实现。主要内容如下:(1) 案件管理系统工作流模型设计。

21、(2) 研究工作流管理模型,并将其应用与法院案件管理系统设计结合。(3) jBPM 工作流引擎的研究。(4) 基于 jBPM 的法院案件管理系统的设计与实现。4第 2 章 基于 jBPM 的工作流技术研究2.1 工作流技术概述工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。一个可完整使用的工作流软件,必须给用户提供一整套定义工作流要素和完成特定工作流程的工具组件,工作流的基本技术要求就是实现这些工具组件功能,这些基本要求

22、包括:(1) 基本路径定义:基本路径定义是构造复杂路径的基础。如前所述,工作流技术不提供具体的路径安排,只提供最基本的路径行程方法。(2) 角色框架:角色是任务执行者的逻辑代表,可以是独立的、相关的,也可以是固定的、由规则临时触发的。工作流技术必须提供存储各种角色信息的框架或数据库结构。(3) 规则语法:规则语法类似于工作流软件自己使用的一种“程序语言”,根据这种规则语法,可以实现逻辑条件(规则)的定义、与外部环境的交互等复杂的操作。规则语法应该是简单的、完善的、易用的。(4) 跟踪与监控:工作流软件应提供工稳运转状态跟踪技术,以使管理者可实时了解工作进度,同时,工作流软件还应提供工稳运转监控

23、技术,例如公文流转平均时间等同级资料,以提高办公室工作效率。(5) 模板定义:模板是脱离了具体数据的一些可重复使用的图形化界面,路径、规则、角色等工作流的基本要素或者工作流模型等都可以制成模板,工作流技术提供各种简单、高效的模板定制功能。(6) 再设计环境:对用户而言,工作流软件平台应该是一个简单易用的再设计环境,用户在该平台上可以根据特定的需求设计工作流必须的所有部分,包括角色、路径、规则、语法和模板。具有完整的再设计功能,是工作流技术与其他软件技术的根本区别。52.2 工作流管理系统概述工作流管理系统(Workflow Management System,WfMS)是一个软件系统,它完成工

24、作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。工作流管理联盟(WfMC,Workflow Management Coalition)给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。工作流管理系统主要内容分三部分:(1) 软件构件:完成相应功能的实现,包括流程过程定义,流程的发起、审批、监控、结束等。(2) 系统控制数据:存储本系统和其他系统进行逻辑处理、流程控制、规则、约束条件、

25、状态、结果等数据。(3) 其他应用与应用数据:供工作流系统调用的外部应用和数据。工作流管理联盟除了对工作流管理系统作出了定义,还对采用工作流带来的好处作出了概括,工作流管理技术有如下优点:(1) 提高企业管理的规范化程度。(2) 提高效率:业务处理的自动化可以消除不必要的步骤。(3) 更佳的过程控制:通过标准化的工作方法和有效的审计跟踪实现业务流程管理的提高。(4) 提高客户服务:在响应客户能力上提高预见性。(5) 灵活适应性:能根据变化的业务需求重新设计工作流程。(6) 业务流程的改善:使业务流程简化和呈现流线型。(7) 在工作人员之间更好地均衡负荷,如在工作人员缺勤的情况下,自动地柔性分配

26、替代人员。因此,运用工作流管理技术能够提高整个系统的可用性,运用工作流管理技术进行设计流程管理是大势所趋。62.3 jBPM 工作流引擎2.3.1 jBPM 的概述jBPM(Java Business Process Management)是一种基于 J2EE 的轻量级的、灵活可扩展的工作流管理系统。jBPM 为设计及开发工作流和业务流程管理系统提供了一个先进的平台。jBPM 实现了流程逻辑与业务逻辑的分离,能够可视化的进行业务流程的分析、定义和业务单元的组装,从而使应用开发人员更关注于业务逻辑的实现,降低了复杂流程应用的开发难度。jBPM 主要由工作流引擎、流程设计器和流程监控工具三部分组成

27、。jBPM 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WFMCS XPDL,BPML,ebXML 等,而是采用了它自己定义的 JBoss jBPM Process definition Language(jPDL)。jPDL 认为一个商务流程可以被看作是一个 UML 状态图(见图 1)。jPDL 就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。jBPM 定义了使用 JBoss 流程定义语言编写的文件里面的流程定义。jPDL 是一种面向图形编程(GOP)的语言,它基于节点、转换和动作组成的模型。在这种模型里面,节点是在流程定义过程中彼此相遇时执行的命令。转换

28、负责指导流程定义的执行过程,而动作在节点或者转换事件发生时执行特定逻辑。在 jBPM 中,流程定义被封装成流程档案(process archives) 。流程档案被传送到 jPDL 流程引擎加以执行。jPDL 流程引擎负责遍历流程图、执行定义的动作、维持流程状态,并且记录所有流程事件。jBPM 在以下组件里面进行封装:(1) 流程引擎:该组件通过下列委托组件(delegate component)来执行定义的流程动作、维持流程状态,并记录所有流程事件:请求处理程序、状态管理程序、日志管理程序、定义加载程序、执行服务。(2) 流程监管器:该模块跟踪、审查及报告流程在执行时的状态。(3) 流程语言

29、:流程定义语言(jPDL)基于 GOP。(4) 交互服务:这些服务把遗留应用提供成流程执行时所用的功能或者数据。7图 2.1jBPM 的组件关系图 2.1 表明了这些组件之间的关系,含有动作处理程序的 jBPM 流程定义由jBPM 流程引擎加以加载及执行。如果流程引擎在流程定义过程中遇到拥有相关动作的节点,所有相关的动作处理程序就会被调用。动作处理程序是 Java 代码的实例,在执行时能够与外部系统进行交互。jBPM 的另一个特色是它使用 Hibernate 来管理它的数据库。Hibernate 是目前Java 领域最好的一种数据持久层解决方案。通过 Hibernate,jBPM 将数据的管理

30、职能分离出去,自己专注于商务逻辑的处理。下面对 jBPM 主要的几个组件做下简单介绍:(1) jBPM 图形化流程设计器:jBPM 包括一个图形化的流程设计工具,它是一个 Eclipse 插件,最重要的特性是它同时支持业务分析员和技术开发人员,这样就可以在业务流程建模和实际执行之间平滑转换。(2) jBPM 核心组件:核心组件是纯粹的 Java 软件来处理流程定义和运行时的流程实例执行。jBPM 是一个 Java 库,因此,它可以用在任何 java 环境中。jBPM 库可以被打包作为无状态会话 EJB,这可以用做集群的发布具有极高的吞吐量可伸缩性。jBPM 内部使用 hibernate,除了传

31、统的O/R 映射外,hibernate 也分析不同数据库系统的 SQL 方言,这使 jBPM在当前所有的数据库上都可以移植。jBPM API 可以从项目中任意编写的 Java 软件访问。(3) jBPM 控制台 web 应用程序:该程序是为两个目的服务的。首先,它作8为流程执行运行时间任务生成的中央用户接口。其次,它也是一个管理和监视控制台允许检查和操作运行中的流程实例。(4) jBPM 身份组件:jBPM 可以集成进任何包含公司用户和组织信息的目录。身份组件使用的模型比通常的 servlet、ejb 和门户模型跟富有。(5) jBPM 调度程序:这是用来监视和运行已经计划到执行流程的定时器的

32、组件。定时器组件被打包在核心 jBPM 库中,但是它需要被发布到环境中。(6) jBPM 数据库兼容包:这包括所有支持数据库的相关信息,JDBC 驱动程序和数据库初始化脚本。(7) jBPM BPEL 扩展:这是独立的扩展包用来支持 BPEL(Business Process Execution Language 商业流程执行语言)。BPEL 的基本要素是 xml Scripting 语言用来写其他 web server 的 web services。2.3.2 jBPM 整合 Eclipse 开发平台第一步:安装 jBPM 和 Eclipse首先要环境准备 JDK 和 ant 的安装,本系统

33、开发采用 JDK1.5 和 ant1.7.0,安装好 JDK 和 ant 后要把对应的环境变量设置好。然后,我们下载一个 jBPM 安装包,本系统的开发采用的是 jbpm-starters-kit-3.1.4,下载后解压目录下含有五个子目录:jBPM 是 jBPM 的软件包;jbpm-bpel 只含有一个网页;jbpm-db 是各种数据库 hibernate 配置文件示例,有些还包含了相应的 jdbc 驱动程序;jbpm-designer辅助开发 jBPM 的 Eclipse 插件,具体在 jbpm-gpd-feature 子目录中;jbpm-server是一个已经配置好了的基于 JBoss

34、的 jBPM 示例。最后,我们把要安装的 Eclipse覆盖掉 jbpm-designer 里 Eclipse 插件既可,Eclipse 不是开发 jBPM 必须的工具,但它是对 jBPM 开发很有帮助的工具,特别是 jBPM 提供了一个 Eclipse 插件用来辅助开发 jBPM,本系统开发采用的是 Eclipse3.2。第二步:建立系统数据库jBPM 需要数据库支持,jBPM 会把自己的一个初始化数据存储到数据库,同时工作流的数据也是存储到数据库中的。jBPM 使用 Hibernate 来做为自己的存储层,因此只要是 Hibernate 支持的数据库 jBPM 也就支持,本系统采用9MyS

35、QL5.0。首先在 MySQL 创建一个库,然后是生成建表的 SQL 语句并建表,将 jbpm-starters-kit-3.1.4 下的子目录 jbpm 改名为 jbpm.3,否则在执行下面的 ant 命令时会报如 jbpm.3 目录不存在的错误。在 DOS 窗下,进入安装 jbpm 目录下的 jbpm-db目录,执行如下命令 ant mysql.scripts。执行成功后,在 jbpm-db 目录下的buildmysqlscripts 目录里生成了四个 sql 文件。再在 MySQL 客户端中执行mysql.create.sql 脚本,这样将在 jbpm 库中创建系统所需要的数据表。第三步

36、:项目配置打开 Eclipse 查看首选项里的 JBoss jBPM 里 Runtime Locations 指定 jBPM 的安装路径如图 2.2。这个配置主要是为了找到 jbpm 下的各种 jar 包,好让 Eclipse设置项目的库引用。图 2.2 指定 jBPM 的安装路径下面我们新建个 jBPM 项目,在弹出的对话框里,选“JBoss jBPM Process Project ”项,然后就生成了如图 2.3 所示的一个项目结构。10图 2.3 项目结构src/main/java 存放源文件,test/main/java 存放相应的 JUnit 单元测试代码,test/main/con

37、fig 是存放数据库配置文件,test/main/jpdl 是存放流程配置文件的。项目建好后我们还要对数据库配置文件进行修改,配置文件是 test/main/config目录下的 hibernate.cfg.xm,修改如下:org.hibernate.dialect.MySQLDialectcom.mysql.jdbc.Driver jdbc:mysql:/localhost:3306/jbpm root root 在最后还要把 MySQL 的 JDBC 库、以及 Hibernate 的 hibernate3.jar 加入到项目的库引用中,mysql 的 jdbc 包,在 jbpm-dbmys

38、qllib 目录里,Hibernate3.jar 在目录 jbpm.3libhibernate 里。经过上面三大步骤,我们的开发平台就配置完成。2.3.3 JPDL 流程定义语言分析新项目建成后第一步我们要创建流程定义,通过面向图形编程(GOP)的流程定义语言 JPDL 可以设计系统流程。本文使用可视化流程设计器来绘制流程。首先,我们分析 JDPL 流程定义元素:JPDL 是指定的 xml 模式和机制包装所有的流程定义相关文件到一个流程文档。文档的中心流程是 processdefinition.xml。文件中主要信息是流程图。processdefinition.xml 也包含关于动作和任务的信

39、息。流程文档也包括其他流程相关文档。JPDL 的流程定义元素可分为三层。第一层:GraphElement这个容易理解,因为在画流程定义时,每个拖拉的对象都是一个 graph 的元素。GraphElement 有四个属性:11(1) processDefine 表示当前元素属于哪个流程定义。(2) events 表示可以接收哪些 event。(3) name 名字。(4) exceptionHandlers 异常处理类集合(List)。第二层:node、processDefinition、Transition、Task它们都继承自 GraphElement(1) processDefinitio

40、n 表示流程定义(implements NodeCollection),它有下面的属性:name、version、nodes、startState。nodes 表示流程中所有的node,startState 用于启动流程时找到首节点。(2) Transition 表示转移,它有三个属性:from(Node),to(Node),supportedEventTypes 表示支持的 event 类型。(3) node 表示节点,它有四个属性:leaving transitions、arriving transitions、action、superState。(4) Task 定义任务。第三层:各种不

41、同的 node它们都继承自 node。 Decision、EndState、Fork、Join、Merge、Milestone、 InterleaveEnd、InterleaveStart、ProcessState、State。然后,我们对流程定义语言的使用进行分析:基本的流程定义组成是图和节点。每个节点有一个类型state、decision、fork、join 每个节点有一套离开转换。可以给离开节点的转换一个名字来区别。如图 2.4 表示一个拍卖流程的流程图,12图 2.4 一个拍卖流程的流程下面是图 2.4 一个拍卖流程表示的 XML:13在流程定义时我们还可以给自己定制动作(Action

42、)配置。图 2.5 是添加动作的请假审核流程例子。 标签定义了流程由一个节点转到另一个节点时,所要执行的动作,动作封装在一个 ActionHandler 类中。比如这里当request 到 confirm 结点时将执行 RequestAction 类的 execute 方法。图 2.5 请假审核流程下面是对图 2.5 中请假审核的流程定义 XML 文件: 14 在上面 processdefinition.xml 里我们定义了两个ActionHandler:RequestAction、ConfirmAction。其代码如下: public class RequestAction implemen

43、ts ActionHandler private static final long serialVersionUID = 1L;private String reason;public String getReason()return reason; public void setReason(String reason) this .reason = reason; public void execute(ExecutionContext context) throws Exception context.getContextInstance().setVariable(note, rea

44、son); public class ConfirmAction implements ActionHandler private static final long serialVersionUID = 1L;public void execute(ExecutionContext context) throws Exception context.getContextInstance().setVariable(note, 准假 );2.3.4 通过 jBPM 的 API 来执行流程在前面我们定义了一个名为 helloname 的请假审核流程,下面我们就要开始执行流程。jBPM 一个基本的

45、特性是当流程处于等待状态时候可以把流程执行永久化到数据库中。jBPM 永久化操作可以根据名字类似15GraphSession,TaskMgmtSession 和 ContextSession 等来找到。从JbpmSessionFactory 可以获得 JbpmSession,从 JbpmSession 可以获得命名的会话,在流程执行时候流程变量包含上下文信息。流程变量同 java.util.Map 相似映射名字到值,值可能是个 java 对象。org.jbpm.context.exe.ContextInstance 作为提供流程变量服务的中央接口。我们可以从 ProcessInstance 获

46、得ContextInstance。下面以图 2.5 中请假审核流程为例来进行实现。在执行流程之前先要通过JbpmConfiguration.getInstance().createJbpmContext().getGraphSession().findLatestProcessDefinition(helloname)打开对应的流程,helloname 对应于流程图的 name的值,也即 processdefinition.xml 的 name,这个值得取比较耗时,实际项目里最好和“数据库的 JDBC 连接”一样从数据库中查询发布的图 2.5 流程。之后我们通过方法 newRequest()创

47、建一个新请假对象,方法中通过 processDefinition创建新的流程,再用 pi.getContextInstance()取得流程的数据环境,然后setVariable 设置上下文变量。最后根据流程定义通过 ProcessInstance 的 signal()转到下一个流程结点,同时返回流程编号。private long newRequest() ProcessInstance pi = processDefinition.createProcessInstance();ContextInstance ci = pi.getContextInstance();ci.setVariabl

48、e(name, 蒋叶敏 );ci.setVariable(day, 5);ci.setVariable (note,pass );pi.signal();return pi.getId();流程创建后流程进入 confirm 节点,我们通过 confirmRequest(id)方法提交请假条审批,在 confirmRequest 中先通过 loadProcessInstance(id)读取对应的流程实例,再通过 pi.getContextInstance()取得流程的数据环境,assertEquals 将上下文变量创建一张请假单,assertEquals(pi.getRootToken().g

49、etNode().getName(), confirm)设置当前是结点为 confirm,最后根据流程定义通过 ProcessInstance的 signal()转到下一个流程结点。private void confirmRequest (long id) 16ProcessInstance pi = ctx.loadProcessInstance(id);ContextInstance ci = pi.getContextInstance();assertEquals(蒋叶敏 , ci.getVariable(name);assertEquals(Integer.valueOf(5), ci

50、.getVariable(day);assertEquals(pass,ci.getVariable(note);assertEquals(pi.getRootToken().getNode().getName(), confirm);ci.setVariable(note, 提交的表单通过批准 );pi.signal();最后流程进入 end 节点,在 checkConfirmRequest 方法中处理审批工作,在checkConfirmRequest 中同样通过 loadProcessInstance(id)读取对应的流程实例,再通过 pi.getContextInstance()取得流程

51、的数据环境,ConfirmAction 类在 signal后执行,所以覆盖了经理的审批意,assertEquals 将上下文变量批准意见,assertEquals(pi.getRootToken().getNode().getName(), end )设置当前是结点为end,最后 assertTrue(pi.hasEnded()根据流程定义流程结束了。private void checkConfirmRequest(long id) ProcessInstance pi = ctx.loadProcessInstance(id);ContextInstance ci = pi.getConte

52、xtInstance();/ ConfirmAction 类在 signal 后执行,所以覆盖了经理的审批意见assertEquals(批准 , ci.getVariable(note);/ 当前是结点为 endassertEquals(pi.getRootToken().getNode().getName(), end);/ 流程结束了assertTrue(pi.hasEnded();17第 3 章 系统分析与流程设计3.1 法院案件管理概述法院案件流程式运作是指人民法院把案件诉讼过程分为立案、审前准备和审理裁判三个阶段,由专门的办案机构按照分工、时限和质量要求办理诉讼事项,组织开展诉讼活动

53、,各阶段相互衔接,依次流转的审判工作运行方式。就其性质来说,它是人民法院按照程序法组织诉讼活动的程序性工作方式,是法院内部分工协作和制约监督的机制,实质是合理分解和配置审判权。法院的案件可以分为以下五大类:刑事案件、民事案件、行政案件、执行案件,以及申诉、申请再审案件。法院的一切工作都是围绕案件这个核心来进行的,审判管理更是体现了这一特点。法院案件管理业务的处理以案件的处理流程为主线索,覆盖从信访接待到案件的立案、立案审查、立案审批,进入庭前准备、案件审理,最后结案、归档的具有时序关系的全过程。它的基本特征是:(1) 顺序性和流程式:这是相对于以前法院由一个办案机构自立、自审的老模式而言的,它

54、是指一个诉讼案件应当依次经过审查立案、审前准备和审理裁判三个环节,每个环节是局部,案件诉讼全过程是整体,各个环节依照明确的分工和职权划分,在规定的时间内完成应做的工作,且办理的先后顺序不容颠倒。(2) 合理分解和配置审判权:审判工作流程式运作的核心是将诉讼过程的具体工作进行合理的分解与配置、将审判权进行合理的分解与配置。两个“分解与配置”应当相对应。没有两个“分解与配置”,便没有流程式运作,这就从根本上否定了“一站直达”的旧办案模式,克服了旧模式办案容易发生的随意性和司法腐败问题。(3) 分工明确,诉讼阶段相对独立:把诉讼过程划分为相对独立的审查立案、审前准备和审理裁判三个阶段或叫三个环节,明

55、确各自的工作任务,由立案庭行使审查立案职权,审前准备庭行使审前准备职权,审理裁判庭行使审理裁判职权,各庭职权相对独立。这种机制符合审判权终极性特18点的要求,能形成审判权内部既协作配合又制约监督的关系,有利于诉讼的科学、合理、高效运行,能确保司法公正。(4) 以诉讼优质、高效运行为目的:诉讼优质、高效运行是司法公正的具体体现。诉讼流程式运作,就象生产流水线一样,运行不会在某一工序停止,又由于专业化程度的提高,办案质量就有了充分的保障,优质、高效审判的目的就能达到。3.2 法院案件管理系统需求分析3.2.1 案件基本流程法院的案件可以分为以下五大类:刑事案件、民事案件、行政案件、执行案件,以及申

56、诉、申请再审案件。法院的一切工作都是围绕案件这个核心来进行的,审判管理更是体现了这一特点。原告立案排期审判结案归档执行立案执行局结案被告起诉移交送达应诉通知、传票等送达受理通知、传票等 图 3.1 案件基本流程基于对案件管理流程的分析,我们可以把一个普通程序案件的受理过程分解为立案、审理、结案三个步骤,具体包括如下内容:(1) 案件进入法院后,首先要进行立案登记,登记当事人、案由等信息。(2) 立案审查主要是由审查人员对案件是否立案做出审查意见,包括两种情况:登记有误和不符合立案条件。对于登记有误的案件,直接驳回到立案登记状态,让登记人员更正后重新进入流程。对于不符合立案条件的19案件直接进入

57、归档状态进行归档处理。(3) 立案审批由审批人员对案件是否立案进行审批,处理包括同意立案和不同意立案两种情况。处理过程同立案审查。(4) 对于立案的案件进行审理前的准备工作,包括打印出庭通知书、整理证据材料、上传电子开庭各类文书等,即庭前准备。(5) 案件审理对案件进行阅读卷宗、开庭审理、合议庭讨论等工作,如果因为案件复杂或等待调卷等原因需要延长审理期延,就需要申请延长审限。(6) 案件审理结束后,即进入结案阶段。(7) 案件归档即对己结案案件进行归档处理,形成档案库。 3.2.2 立案立案是诉讼的起点。诉讼法律关系自立案时起建立,它是人民法院传唤、通知当事人和其他诉讼参与人参加诉讼活动具有合

58、法性的标志。从此到本案审结,当事人就受到本案诉讼需要的拘束,案件审判工作人员就担负起了组织并主导诉讼进行的法定职责,受到程序法规定的办案步骤、工作方式、办案时限的约束。立案前的审查是立案的关键在于审查“诉”在程序意义上是否成立,即诉讼主体是否适格、是否为人民法院主管和本院管辖等。自然人、法人和其他组织的诉请,并非都由人民法院主管,即使属于人民法院主管的,也有个分工管辖问题。因此,立案审查具有必要性。立案时限与质量要求。立案庭接受自然人、法人和其他组织的起诉和人民检察院提起公诉的材料后,应由审判员一人或依法组成合议庭进行审查,并在法定期限内作出是否受理的决定。对决定受理的案件,当即做好以下工作:

59、(1) 按类别、诉讼程序、对案件统一编号、确定案由、登记。(2) 填制立案审批表。(3) 填制案件诉讼运行管理卡“立案情况部分”。(4) 核算预收诉讼费用数额,办理收费手续或缓预交手续。(5) 对申请财产保全、先予执行的核算担保金交纳数额,办理交纳手续。(6) 填制受理案件通知书,连同举证通知书、诉讼权利义务、20诉讼风险告知书等向原告送达。(7) 将案件输入计算机管理。再审立案是立案庭的一项重要职责,一般由立案庭的专职信访人员负责审查,必要时应当依法组成合议庭进行复查听证,以便发现原审在审判程序、证据采信、事实认定、适用法律、裁判结果等方面可能存在的问题。对原审依法有足以引起再审情形的,经本

60、院审判委员会研究决定,立案再审;不符合再审条件的,依法驳回。如图 3.2 所示为立案基本流程原告案件登记审查审批审前准备起诉移交通过通过审查不通过审批不通过归档不符合立案直接归档不符合立案直接归档图 3.2 立案基本流程3.2.3 审前准备审前准备,又叫“开庭前准备”、“审理前的准备”,它是指立案后、开庭审理前,为及时、合法开庭审理,由审判工作人员所进行的各项诉讼活动。审前准备主要工作有:(1) 开庭排期。对不宜审前调解的案件或审前调解不成的案件在规定时间内进行开庭排期。(2) 送达。审前准备庭应按预定的第一次开庭时间,在规定时间内将诉书副本、自诉状副本、应诉通知书、开庭传票等送达刑事案件的被

61、告人;在在规定时间内将起诉状副本、应诉通知书、举证通知书、开庭传票等送达民事、行政案件的被告及第三人。(3) 保全和先予执行。诉讼上的保全,包括证据保全和财产保全,财产保全又分为诉讼保全和诉前保全。证据保全是法定的对证据的特别保护措施,财产保全是法定的对财产的强制措施。按照法律规定,民事诉讼、行政21诉讼和刑事附带民事诉讼都可以采取诉讼保全措施,民事、行政诉讼还可以采取证据保全措施,诉前保全为民事诉讼所独有。(4) 审前调解。它是指在立案后的审前准备阶段,当事人自行和解或在人民法院主持下达成调解协议,将协议内容记入笔录或制作调解书向当事人送达,从而解决纠纷的诉讼活动。(5) 追加、变更当事人。

62、适合的诉讼当事人在诉讼法律关系建立前,应当是法律规定的权利享有者,或者责任、义务承担者。实体法上的适格法律关系主体是程序法上诉讼法律关系适格主体的前提。(6) 调取证据。(7) 张贴开庭公告。依法公开审理的案件,应当在开庭 3 日以前在本院公告栏张贴公告或以电子显示屏公告,将案由、当事人姓名或名称、开庭时间和地点向社会公布。审前准备的上述工作做完后,将案件移交审判庭审理。3.2.4 审理结案审理裁判是诉讼过程的中心环节,它要查明案件事实,适用法律确定是非责任,作出裁判结果。主审人阅卷接到审前准备庭移交来的案件后,主审人要审阅案件材料,制作阅卷笔录,列出争议焦点和审理要点,拟写庭审纲要。在开庭审

63、理前需召开审前合议庭会议,讨论确定争议焦点和审理要点,制定庭审可能出现的维护等问题的处理预案。开庭审理由审判长或独任审判员主持,通常包括程序性过渡和实质审理两大步。程序性过渡主要包括核对当事人及其他诉讼参加人身份,公布案由和审判人员、书记员及其他参加诉讼的人员名单,告知有关诉讼权利义务,征询当事人关于回避的意见等。实质审理自宣布进行法庭调查开始,这一步又分为法庭调查、法庭辩论、最后陈述、归纳与小结几个步骤。法庭调解在开庭审理后和各方当事人都同意调解的前提下进行。调解在法庭主持下进行,一般先由主张权利一方当事人提出方案,他方表达是否接受方案,有无修改意见,经磋商,达成调解协议的即告结案;不能达成

64、协议的,结束调解,22依法裁判。主审法官对需要作出裁判的案件拟制审理报告、合议庭评议和审判委员会讨论决定案件。由独任庭审理的案件,审判员应当在开庭审理完毕、调解不成或者调解达成协议后三日内制作裁判文书或调解书;由合议庭审理的案件,主审法官应在调解达成协议或者合议庭作出决定,或者审判委员会作出决定后五日内制作裁判文书或调解书。最后是结案宣判和送达。3.3 基于 jBPM 的案件管理系统设计3.3.1 系统结构系统采用 B/S 结构 MVC 设计模式,B/S 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。MVC 设计模式是 Web 应用的一种典型体现,本系统将使用最为熟悉的 E

65、JB(Jsp+Servlet+JavaBean)的开发方式。系统主要包含立案系统、审案准备、审理裁判、文档生成器、归档器、案件状态分析器等六个部分。根据第三章第二节的分析,可以设计出基于工作流管理的案件管理系统总体设计框架。系统总体结构如下图 3.3 所示。图 3.3 系统架构设计图对以上系统经过设计后,大概有以下四个模块:1)立案模块立案模块23立案系统包括立案登记、立案审查和立案审批三部分;经立案审批通过后案件立案后自动生成受理案件通知书、送达受理通知和传票,根据需要还可直接生成统一的立案信息表和案件流程管理表。2) 审案准备模块审案准备模块审案准备包括排案、上传相关资料和送达传票三部分,

66、其中送达传票是在系统外人工完成。确定开庭日期、开庭地点、主审法官、书记员和传票人员。排案完成后按照案件类别(刑事、民事、行政案件)自动生成开庭传票、出庭通知、申诉案件“听证通知”、开庭公告、二审案件受理案件通知书、应诉通知书、送达回证、立案信息表等。3) 审理裁判(结案)模块审理裁判(结案)模块该部分包括审判结案和归档。在审理过程中,可随时输入审理过程中发生的变更、追加当事人、诉讼中止、审限延期、简易转普通等情况。案件审结时输入结案方式、判决(调解、裁定等)结果、结案日期,即可结案。案件审结登记后,该案各种情况既作为档案保存,不允许随意进行修改。4)文档生成模块文档生成模块文档大致分为两种法律文书和基本信息文档,基本信息文档我们以表单的形式生成,而法律文书我将采取从模版库调取案件的法律文书(判决书、调解书、裁定书)模版(word 文件)另外还有两个辅助功能1)归档器归档器该模块用于工作人员录入案件归档的基本信息以及所涉及的卷宗。对于未归档案件,工作人员可以修改归档信息:对于己归档案件,则只能查看。2)案件状态分析器案件状态分析器该模块主要提供给非办案人员对案件的状态查询之用。243.3

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!