基于JBPM工作流的档案管理系统的设计与实现.doc

上传人:知****量 文档编号:93228497 上传时间:2023-07-01 格式:DOC 页数:86 大小:2.50MB
返回 下载 相关 举报
基于JBPM工作流的档案管理系统的设计与实现.doc_第1页
第1页 / 共86页
基于JBPM工作流的档案管理系统的设计与实现.doc_第2页
第2页 / 共86页
点击查看更多>>
资源描述

《基于JBPM工作流的档案管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于JBPM工作流的档案管理系统的设计与实现.doc(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 硕士学位论文(专业学位) 基于JBPM工作流的档案管理系统的设计与实现 姓 名: 学 号: 所在院系: 软件学院职业类型: 工程硕士专业领域: 软件工程指导教师: 副指导教师: 二一四年十月 A dissertation submitted toTongji University in conformity with the requirements forthe degree of Master of EngineeringDesigh and Implementation of JBPM-Based File Management SystemCandidate: Student Num

2、ber: School/Department: School of Soft Engineering Career Style: Master of EngineeringMajor: Software EngineeringSupervisor: Co-Supervisor: October, 2014 学位论文版权使用授权书本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学

3、校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 年 月 日 同济大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。 学位论文作者签名: 年 月 日同济大学 硕士学位论文 摘要摘 要高校档案信息系统的建设,是面

4、对信息化浪潮我国高等教育的一个重要举措。本系统立足于某高校档案馆档案管理工作的实际,采用先进的设计理念和开发技术建立的一套涉及档案管理工作中所产生的数据的筛选,收集和保存,面向高校各类档案管理的综合档案信息系统。系统有效解决了数据重复、资源浪费、数据收录不全,档案管理过程繁杂,监督机制不完善、统计工作不及时等一系列现实问题,目标是实现对高校档案的收集,查阅,销毁全过程的管理,从而增加档案收集的全面性和提高档案管理过程的效率。JBPM 引擎把一个业务流程看做一个 uml活动图,详细定义了活动图的每个部分,有利于业务人员与开发人员之间沟通和流程的实施;灵活的扩充机制,使得 JBPM 在处理档案管理

5、流程模型,包括回退任务、提醒任务、会签任务、抄送任务、动态任务是提供了有力的支持。本文采用面向对象的思想,以统一建模语言为分析设计工具,对档案管理过程中的相关业务进行需求分析和系统设计,针对系统及用户的特点,形式上采用B/S和C/S两种架构模式,功能上采用多层次的软件功能架构,技术上基于MVC基础的Struts+Spring框架和UIMs用户界面管理系统架构,以Java为编程语言,利用XML配置以及DAO、H1bernate等相关技术实现了档案管理过程中的档案立卷、档案审核、档案移交、库存管理等功能。在安全方面,系统采用基于资源角色的权限管理,增强了系统运行的安全性。通过查询接口对外提供查询服

6、务,系统内部提供完整的业务处理接口操作或查询数据,实现了对系统外部提供数据信息共享。关键词:档案管理,工作流,JBPM,SSHV同济大学 硕士学位论文 目录ABSTRACTFaeing the wave of information technology, the building of the File Management Information System for University is an important measure of higher education. File Management Information System for University is a s

7、ynthesis file system developed by using advanced design methods and technologies referring to the datas filtering, collecting and saving in the process of file management. The system is used to solve a series of realistic problems effeetively such as the data redundancy, the resources waste, incompl

8、ete data, process complexity, the imperfect surveillance mechanism, the statistical work detention and so on.The goal is to achieve management of the whole proeess for the file collecting, searching and destroying of the file management work, so as to improve the comprehension of the colleetion and

9、efficiency of file management process.JBPM supports the model of UML activity, which allows the developer to define every parts of an activity, including start-state, end-state and the transitions between states. Business analyst and the developer use the same model. And the easy and flexible expand

10、ing way of JBPM workflow definition gives strong support to the implementation of special workflow pattern in file management system.The Rational Unified Process is used as development tool and UML is used as description language for analyzing and design in this paper. For the user and system charac

11、teristics, the system implements many function modules in the process of degree management, for example, the collection of students file, the collection of degree file and transfer of student information and file statistics, using both B/S and C/S architecture model in form, based on the MVC-based t

12、echnical Struts+Spring framework and UIMS user interface management system framework in technique. The system uses java as the programming language and uses XML configuration and Dao, Hibernate related technologies. In the area of security, the system adopts role management based on authority manage

13、ment to enhance system security. Through the external interface to provide query service, and the system of internal business processes to provide a complete interface to operate or query data, the system achieve internal and external data on the system of information sharing.Keywords:File Managemen

14、t, Workflow, JBPM, SSH目 录第一章 引言11.1 研究背景与意义11.2 国内外研究现状21.3 论文主要内容与章节安排21.3.1论文主要研究内容21.3.2论文总体结构3第二章 相关技术和理论42.1 JBPM工作流技术42.1.1工作流相关概念42.1.2工作流模型52.1.3工作管理系统的参考模型72.1.4 工作流引擎JBPM92.2 JavaEE 技术平台112.2.1 MVC设计模式112.2.2 Struts、Spring、Hibernate框架132.3 本章小结14第三章 需求分析153.1 可行性分析153.1.1 经济可行性153.1.2 社会可行

15、性153.1.3 技术可行性153.2 系统用例分析163.2.1 普通用户用例分析163.2.2 档案管理员用例分析173.2.3 系统管理员用例分析183.3功能需求分析193.3.1 用户管理模块203.3.2 档案归档模块203.3.3 档案借阅模块213.3.3 档案归还模块213.3.4 档案管理模块213.4 本章小结22第四章 系统设计234.1系统设计原则与目标234.2系统功能模块设计244.2.1登录管理模块设计244.2.2用户管理模块设计254.2.3档案归档模块设计334.2.4档案修改模块设计344.2.5档案借阅模块设计354.2.6档案借阅审批模块设计364.

16、2.7档案归还模块设计374.2.8档案检索模块设计384.2.9档案注销/销毁模块设计394.3数据库设计414.3.1数据库设计的原则414.3.2数据库设计目标414.3.3数据库设计步骤424.3.4数据库表设计424.4 本章小结47第五章 系统的实现485.1 Spring、Hibernate、Struts2 和 jbpm 的整合485.1.1 Spring 整合 Hibernate495.1.2 Spring 整合 struts2495.1.3 Spring 整合 jBPM495.2 持久层的实现495.3 档案借阅与审批流程的JBPM实现535.3.1档案借阅流程的jBPM定义

17、535.3.2 jBPM流程部署555.3.3 jBPM流程执行565.3.4 档案借阅模块实现585.4.8 档案借阅审批模块实现585.4应用层其他功能实现595.4.1 系统登录模块实现605.4.2 用户管理模块实现615.4.3 角色管理模块实现635.4.4 档案归档模块实现645.4.5 档案检索模块实现655.4.6 档案修改模块实现665.4.7 档案借阅审批结果查看模块实现665.4.8 档案借阅归还模块实现675.4.9 档案注销模块实现675.4.10 档案销毁模块实现685.5本章小结68第六章 总结与展望706.1 总结706.2 展望71参考文献72致 谢73个人

18、简介74 同济大学 硕士学位论文 第一章 引言第一章 引言本章首先介绍了课题的研究背景和研究意义, 然后对国内外的相关研究情况进行文献综述,最后介绍了本文的主要研究目标、研究内容和论文组织结构。1.1 研究背景与意义在信息技术飞速发展的今天,信息逐渐成为未来最重要的国家经济资源,在信息经济成为当代世界经济新的动力和增长点的同时,如何运用信息技术以及资源共享变成各国迈向新世纪的发展关键。档案是人类活动的重要记录,作为一类重要信息,需要利用信息技术使其得到准确的收集、科学的管理和高效的利用。高校档案管理系统对于学校的决策和管理是至关重要的,档案管理系统能够提供充足的信息和快捷的查询手段。原有的传统

19、的,以纸质为主要存储介质,靠人工的查询方式,靠人工登记的方式进行档案入库,档案借阅,档案归还的档案管理方式已经远远不能满足于当前档案管理方式的要求,急需要以信息化管理为基础的档案管理方式的出现。随着高校档案管理的复杂化和网络技术的发展,基于 Web 的档案管理系统具有很大的使用价值。研究档案管理系统软件,提出其设计开发标准的规范化建议,是为了促进档案系统软件开发设计的规范化与标准化,避免盲目设计与开发,节省研制成本,减少经济损失,扩大软件适用规模,达到档案管理的自动化、统一化,提高档案工作效率,保证档案管理安全性、通用性、可靠性,进而促进档案信息化的发展。使用计算机对档案信息进行管理,具有手工

20、管理所无法比拟的有点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等,这些优点能够极大地提高档案管理的效率,也是提高教学科学化,管理正规化的重要条件。档案管理是一种先进的管理技术,档案资料是一个部门或者一个企业生存发展中一个重要的环节,尤其对于学校而言,档案管理是学校系统管理中的重中之重。因此将信息技术应用到档案管理中是势在必行的。将信息技术应用与档案管理过程中,对于提高档案管理的效率及档案的安全具有重要的现实意义,主要表现在:1.大大缩减了检索速度。查询人员只要在搜索条件中输入自己需要查询的档案名称或者编码,既可以立即找到档案所在的具体位置,提高查询和借阅的效率,同时

21、减轻档案管理人员的负担。2.方便了对记录的统计。信息化档案管理可以方便的实现对借阅记录,借阅超期记录,历史借阅记录进行快速的统计,方便对档案记录统计的管理。3.安全管理。与传统的手工翻阅查询比较,降低了对档案资料损坏的风险。4.可以快捷的实现对档案资料的更新操作。5.权限控制。对不同人员设置不同的查询权限,避免重要档案资料的外泄。6.对一些借阅指标进行动态化设置。如对借阅期限进行修改时,由计算机重新自己计算借阅档案自己是否查过借阅期限,以及一些状态信息更方便的维护。1.2 国内外研究现状发达国家的档案机构认为档案工作有保管和提供利用两大任务,其中后者是主要的任务。这在定义上与我国的按门类组织管

22、理的档案工作有些差别,因此,发达国家的档案管理系统也是重要的兼作研究与交易的工具,它们已有很完善的档案管理系统。在他们的官方网站上,用户可以直接查询使用已经公开数万件原始文献全文与图片资料以及大量的家谱档案与私人档案。比较主要的几个网站如:美国国家档案管理局,加拿大国家档案馆,澳大利亚国家档案馆,英国公共档案馆。这些网络资源一方面打破了传统的按门类组织管理的限制,使用户可获得按主题和关键字进行搜索跨门类的图、文、声等信息,另一方面又利用电子邮件、数据库交换、数据库查询等方式获得档案信息成为现实。国内的档案管理与国外相比,差距非常的大,一方面是在档案管理和使用的目的上,国内主要以按门类组织管理为

23、主,主要用于企业或者部门内部的查询、借阅使用。另一方面在采用的信息技术上,目前在各行业中,很大一部分已经根据档案对象的规模大小额实际应用状况采用了不同的档案管理软件,其中包括独立档案管理系统、与信息管理和设计软件紧密结合的配套产品、或者是信息管理软件自带的档案管理功能。目前在国内的档案管理系统中,比较先进的有清华紫光档案管理系统、兰台档案管理系统,泰坦档案管理系统等。这些系统在很大程度上提高了管理的效率。本系统是根据实际工作中档案管理的现状提出的,是为了实现高校档案管理的信息化,替代传统的手工档案管理模式而设计的,采用先进的浏览器/服务器体系结构,提高档案管理效率,同时减轻档案工作人员的劳动强

24、度。1.3 论文主要内容与章节安排1.3.1论文主要研究内容本文研究的内容是实现一个完整的档案管理系统,重点研究系统的需求分析、设计、开发、测试、运行。把当前主流Jbpm工作流技术运用在高校档案管理系统的开发,以满足动态的、分布式的业务处理的需求,同时增加系统的可重用性,可扩展性和可维护性。具体研究内容和使用的关键技术如下:(1) 研究与分析当前档案管理在高校管理中重要性及目前档案档案管理过程中暴露出的问题,结合当前档案管理在国内外的发展现状,提出了基于 JBPM的档案管理系统的设计与实现。(2) 详细介绍档案管理系统的开发过程中需要使用的关键框架技术:JBPM框架、Struts框架、Spri

25、ng 框架和 Hibernate 框架技术,在这些框架技术的基础上,结合 J2EE分层体系架构的思想,设计了符合 MVC 模式的集成系统平台。(3) 通过对高校档案管理系统的分析,完成系统概要设计,包括功能设计,用列设计,表示层,业务逻辑层,持久层数据库层的设计及功能模块的流程设计。(4) 结合档案管理实际流程和特点利用 JBPM框架与SSH框架的集成系统设计和实现基于JBPM工作流的档案管理系统。1.3.2论文总体结构论文将分以下五个章节对档案管理系统的设计与实现课题进行介绍:第一章,引言:介绍了课题研究的背景及其意义、国内外的研究现状以及论文研究内容和总体结构。第二章,相关技术和理论:本章

26、介绍了系统设计与实现是涉及到的JBPM工作流平台以及Java EE技术平台等相关理论知识。第三章,基于JBPM工作流的档案管理系统需求分析,对某高校档案管理系统进行分析,其中重点对系统的可行性进行了分析论证,详细分析了系统的功能需求和整体需求。第四章,基于JBPM工作流的档案管理系统设计,在深入分析了解系统需求的基础上,重点对系统主要功能模块的设计、流程模型以及数据库设计进行了阐述。第五章,系统实现:分别阐述了系统中核心模块的具体实现,通过程序流程图以及系统操作界面展示来描述各模块实现的全过程。27 同济大学 硕士学位论文 第二章 相关技术 同济大学 硕士学位论文 第二章 相关技术和理论第二章

27、 相关技术和理论 本章主要介绍在系统的设计和实现中应用到的相关技术,并进行了详细的介绍和描述。2.1 JBPM工作流技术2.1.1工作流相关概念工作流(Workflow)按照 WfMC(工作流管理联盟Workflow Management Coalition)的定义,工作流是一类能够完全或者部分自动执行的业务过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。业务流程(Business Process)在功能确定的组织结构中,能够实现业务目标和策略的相互连接的过程和活动集。过程定义(Process Definition)业务过程的形式化描述,用来支持系统建模和运行过程的

28、自动化。过程可分解为一系列的子过程和活动,其中定义包括描述过程起始、终止的活动关系网络,以及一些关于个体行为的信息,具体而言,即构成过程的活动以及各活动的关系、组织成员的角色、应用中的数据结构等。过程定义工具(Process Definition Tools)过程定义工具被用来创建计算机可处理的业务过程描述。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。活动(Activity)业务过程的一个执行阶段,由执行者完成。执行者可以是人、软件系统或二者的集合。活动是过程执行中可被工作调度的最小工作单元,要求有人或机器参与。过程/活动实例(Process/A

29、ctivity Instances)指的是一个工作流过程的具体执行。在过程实例的执行中,工作流引擎将负责解释对应的过程(和它包含的活动)定义,动态生成活动实例,并根据过程定义中的规则控制协调这些活动实例之间的执行顺序,同时完成活动之间的数据传递。工作流管理系统(Workflow Management System, WFMS)是定义、创建、执行工作流的软件系统。在最高层次上,WFMS应能提供以下三个方面的功能支持:建造功能,对工作流过程及其组成活动进行定义和建模;运行控制功能,在运行环境中管理工作流过程,对工作流过程中的活动进行调度;运行交互功能,指在工作流运行中,WFMS与用户(业务工作的参

30、与者或控制者)及外部应用程序交互的功能。工作流引擎(Workflow Engine)工作流管理和应用系统的核心软件部分,为过程实例提供运行时环境和服务,可以形象地比作过程执行的发动机。工作流引擎接口向外部提供了支持、控制过程(实例)执行的功能。这些功能包括:解释过程定义;创建和管理过程实例,控制流程的运行状态,如开始、停止、挂起、重启等。工作项(Work Item)过程实例中要被参与者执行的工作,它与活动定义与活动实例相关。工作项一般需要人工的参与,它的完成将推动过程的进展。工作列表(Work Items List)与业务过程的某个参与者相关的一系列工作项的集合。工作列表的生成需要工作流引擎和

31、工作流列表处理程序共同参与。图2-1显示了工作流基本概念之间的关系:图2-1 基本概念关系视图2.1.2工作流模型工作流过程依赖于一个形式化的工作流模型来描述工作流节点之间的控制流和数据流。工作流模型由4部分组成,它们分别是过程模型、组织模型、资源模型以及工作流相关数据。过程模型用来定义工作流的过程逻辑,它包括组成工作流的所有活动以及活动之间的依赖关系。它是整个工作流模型的基础与核心,其它模型均为其提供支持。组织模型用来定义企业人员的组织结构,它包括几种不同形式的组织元素以及每种组织元素内部的递阶层次关系。组织模型的主要任务是为企业人员执行工作流提供柔性的组织定义,为过程模型提供“人”的支持。

32、资源模型用来定义企业资源的组织结构,它包括几种模式的资源容器元素以及容器内部的递阶层次关系,直至最终的原子级资源个体。资源模型的主要任务是为企业人员执行工作流提供“物”的支持。工作流相关数据用来定义工作流执行过程中需要用到的数据,它包括简单的数据类型与复杂的企业对象。它主要用于各种条件的判断,以实现工作流引擎对不同活动的选择性路由。工作流相关数据为工作流的执行提供了“信息”的支持。路由关系和原语集:WfMC已经确定了用来描述工作流路由关系的原语集。用这些原语可以描述任何可能发生的工作流。这些原语是Sequential Routing、AND-split、AND-join、Parallel Ro

33、uting、OR-Split、OR-join和Iteration。图2-2 WfMC 定义路由关系图2-2描述了WfMC所定义的路由关系:(1)顺序路由(Sequential Routing):一个任务接着另一个任务被顺序的执行。在图(a)中任务B在任务A已经完成之后和任务C开始之前执行。(2)与分支:为了表达与分支路由,需要增加一个AND-split逻辑节点。逻辑节点并不代表真正需要执行的活动,它只是为了表示节点之间的逻辑关系而设立的。在图(b)中,当任务A完成后,AND-split为真,任务B和任务C可以并行执行(可以同一时刻执行,也可以先后执行)。(3)与连接:在图(c)中,AND-Jo

34、in使得只有在任务A和任务B都完成后,任务C才可以执行。在一个与分支节点引出的所有分支路径要在一个对应的与连接节点汇合。参考图(d)。(4)并行路由:图(d),任务的执行逻辑参照与分支和与连接。(5)条件路由(或分支和或连接):在图(e)中,任务A完成后,任务B或者任务C只能有一个被执行;任务D在任务B或任务C完成之后就可以执行。(6)循环路由(Iteration):有时需要执行一个任务多次。在图(f)中任务B被执行一次或多次。2.1.3工作管理系统的参考模型为了统一工作流的相关标准,工作流管理联盟(WfMC)提出了有关工作流管理系统的一些规范,定义了工作流管理系统的结构及其应用、管理工具、和

35、其它工作流管理系统之间的编程应用接口等,图2-3是WfMC给出的工作流管理系统参考模型。图2-3 工作流管理系统参考模型系统各部分的功能如下:1、过程定义工具:主要功能是为用户提供对业务过程进行分析建模的手段,并生成可被计算机识别和处理的过程定义。2、工作流执行服务:它借助一个或多个工作流引擎来激活并解释过程定义,并同外部应用程序进行交互,来完成工作流过程实例的创建、执行和管理,并通过控制条件的计算控制过程在各活动之间的游历(以及数据在活动之间的传递),并生成有关的工作项,通知用户进行处理等,为工作流程的进行提供了一个运行环境。工作流执行服务一般有一个工作流引擎来提供,在大型WFMS中,工作流

36、的运行控制可能需要多个工作流引擎共同完成,例如某个跨区域、跨部门的过程可能会包含多个子过程,这些子过程可能是由不同的工作流引擎来提供运行和控制环境,这就需要实现多工作流引擎之间的互访互连。3、客户应用程序:与工作流引擎交互,以获得引擎服务和过程控制的功能。典型的客户应用程序是用户任务列表处理程序。4、被调应用程序:指工作流执行服务在过程实例的运行过程中调用的、用以对应用数据进行处理的应用程序。在过程定义中包含有这种应用程序的详细信息。被调应用程序可能是应用代理,也可能是本地过程调用、远程调用等。5、工作流管理监控工具:其功能是对过程实例的状态进行监控和管理,包括挂起、恢复、取消过程实例,以及用

37、户、角色、资源控制等。WfMC为以上功能的实现分别提供了接口规范,从而为工作流产品的技术实现提供了统一的标准,方便不同产品的互访,可以有效提高工作流产品的通用性和灵活性。图 还给出了工作流的5个接口,工作流的基本组件通过这5个接口协同工作,形成一个完整的工作流管理系统。这些接口分别为:l 接口1:工作流执行服务和工作流建模工具接口。提供了创建和修改工作流定义的工具与工作流执行服务之间的关系,包含的功能有:打开和关闭一个连接,获取工作流定义,以及打开、创建、保存一个流程定义等。l 接口2:工作流执行服务和客户应用之间的接口。这是最主要的接口规范,它约定所有客户方应用和工作流服务之间的功能访问方式

38、。l 接口3:工作流引擎和直接调用的应用程序之间的接口。规定了如何调用外部应用规范。l 接口4:工作流管理系统之间的相互操作接口。提供统一的接口,确保工作流引擎之间顺畅地交互。l 接口5:工作流执行服务和工作流管理工具之间的接口。为监控和管理工作流管理系统和流程运行状况提供接口。工作流管理联盟努力是这5个接口标准化,以创建一个完善的工作流管理系统并实现工作流产品之间的互操作。通过对基本组件和工作流接口的分类,工作流管理联盟指明了工作流管理系统的系统架构,划分了工作流管理系统的逻辑组件,明晰了边界。通过统一的接口标准,工作流管理系统可以同外部的软件工具进行交互。当然,这些工具可以由同一厂商提供,

39、也可以由不同厂商提供,但前提是这些工具都必须遵守WfMC的接口规范。同时用户还有充分的选择空间决定使用哪一厂商的产品,或者自行开发任意接口的工具。这5个接口一般通过API(Application Program Interface,应用程序编程接口)的形式提供给用户或软件开发商,这些API称为WAPI(Workflow API,工作流API)。也有厂商将这些API封装成组件形式提供给用户,以简化开发难度、降低开发成本并提高开发效率。2.1.4 工作流引擎JBPM JBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。JBPM

40、是公开源代码项目,它使用要遵循 Apache License。JBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss JBPM。随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。本文使用的是2010年发布的jBPM4.3版本为主要参照,来介绍jBPM。jBPM最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMCs XPDL、 BPML、ebXML、 BPEL4WS等,而是采用了它自己定义的JBoss JBPM Process definition

41、language (JPdl)。jPdl认为一个商务流程可以被看作是一个UML状态图。jPdl就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。 jBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域最好的一种数据持久层解决方案。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。JBoss jBPM是一个可扩展、灵活的能够实现工作流/业务流程管理的企业级开发框架,提供了流程定义、流程部署、流程执行、流程管理等功能。 jBPM是JBoss旗下的子项目,JBoss下还包括有Seam(JavaEE开

42、发框架)、Drools(规则引擎)、 Hibernate(ORM持久化框架)等众多领域的优秀开源项目。由于同属一个产品家族,它们能与jBPM完美地结合,互相都留有支持的接口,方便开发者业务的扩展,为jBPM提供延伸的价值。 同时jBPM作为JBoss SOA平台的一个重要组件,与JBoss Drools规则引擎和JBoss ESB企业服务总线配合在一起为用户提供全面、完整的SOA解决方案。 JBoss jBPM是一个支持“嵌入式”的业务流程管理产品,理论上可以运行在任何JavaEE应用服务器之上,也可以运行在桌面应用中。JBoss jBPM4在流程虚拟机(PVM)技术的基础上,能够同时支持多种

43、流程定义语言,目前已经支持的流程语言有:jpdl、bpel、Seam Pageflow根据PVM的设计理念,未来的JBoss jBPM还会支持更多的流程定义语言。同时,用户也能够根据需求定制自己个性化的流程模型和建模语言。 jBPM4的结构特点如下。1. 嵌入式的工作流引擎 jBPM4是完全支持嵌入式应用的业务流程开发框架,可以在事务处理、数据持久化等各个方面与业务应用程序进行灵活的集成。区别于传统的工作流平台,它不需要依赖特定的中间件或服务器,减少了硬件和软件的绑定,同时降低了应用部署的网络复杂度,使应用更加容易实现集群。软件开发者可以把jBPM4框架作为业务流程管理的基础,在此基础上开发自

44、己独特的业务流程管理模块和功能。在部署时,只需要把jBPM4作为Java依赖库发布就可以了。 2. 可插拔的体系架构 jBPM4采用了模块化的架构设计,采用了IOC(依赖注入)的设计理念,各模块之间可以比较方便地解除耦合或替换不同的实现,例如持久化、事务处理、身份认证、日志服务等,都由可选模块实现。jBPM的可插拔体系架构,为软件开发者灵活选择jBPM的功能、自定义已有功能和拓展新功能提供了“无限可能”。 3. 易扩展的流程语言 jBPM框架内置的流程定义活动,包括start,task,fork,join和decision等,是构建完整业务流程所必需的组成部分,它们提供了可以将业务逻辑Java

45、代码和业务流程编排无缝衔接的绑定机制。而除了这些内置的流程定义活动和流程结构之外,软件开发者还可以通过定制新的活动类型或者完全重新设计一种新的流程定义语言来描述特定领域的业务流程,满足独特环境下的需求。 从技术角度分析jBPM4有以下特点,简单罗列几点读者必须要了解的: l jBPM4的模型仍然基于UML Activity Diagram,以便于需求人员和开发人员都理解业务流程。 l jBPM4提供了可定制的Event Listener观察者模式来处理事件触发,以辅助活动扩展的处理。 l jBPM4提供了灵活的EL条件表达式机制,来辅助条件解析、简单业务逻辑脚本计算的处理。 l jBPM4提供

46、了可扩展的Task及任务分配机制,来满足复杂人工活动的处理。 l 借助Hibernate ORM的优势,jBPM4能够支持在几乎所有的数据库系统之上运行。 2.2 JavaEE 技术平台2.2.1 MVC设计模式MVC设计模式是将一个应用程序划分为相对独立而又协同工作的三个部分:Model(模型)为业务逻辑层,View(视图)为表示层,Controller(控制器)为控制层。这三个部分在实际应用中分别承担着不同的任务。这三个部分的关系如图 2-4 所示。图2-4 MVC设计模式(1)模型(Model) 模型层包括业务逻辑层和数据访问层,它负责处理业务流程或状态以及制定业务规则。MVC设计模式的核心就是业务模型的设计,但MVC并没有提供业务模型的设计方法,只是帮助用户组织管理这些模型,这对模型的重构非常有利1。 (2)视图(View) 是用户看到的并与之交互的界面,在Java Web的应用程序中,视图层一般用JSP和HTML构建,随着目前应用的复杂性和规模性,一个应用程序可能有很多不同的视MVC设计模式对于视图层的处理只限于数据的采集和处理,以及接受并相应用户的请求等,而对于

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁