软件工程硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现.doc

上传人:laozhun 文档编号:4069135 上传时间:2023-04-03 格式:DOC 页数:79 大小:2.68MB
返回 下载 相关 举报
软件工程硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现.doc_第1页
第1页 / 共79页
软件工程硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现.doc_第2页
第2页 / 共79页
软件工程硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现.doc_第3页
第3页 / 共79页
软件工程硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现.doc_第4页
第4页 / 共79页
软件工程硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现.doc_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《软件工程硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《软件工程硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现.doc(79页珍藏版)》请在三一办公上搜索。

1、分类号 学号 2005821830708 学校代码10487 密级 硕士学位论文基于JBPM的银行住房贷款审批系统的设计与实现学位申请人学科专业:软件工程指导教师:答辩日期:2008.12.30A Thesis Submitted in Partial Fulfillment of the Requirementsfor the Degree for the Master of EngineeringThe Design and Implementation of the Housing Loans Approval System Based on JBPM Candidate: Han Ta

2、oMajor: Software EngineeringSupervisor: Assoc.Prof.Gao JianShengHuazhong University of Science & TechnologyWuhan 430074, P.R.ChinaDecember,2008独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期: 年

3、月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本论文属于保密, 在 年解密后适用本授权书。不保密。(请在以上方框内打“”)学位论文作者签名: 指导教师签名:日期: 年 月 日 日期: 年 月 日摘 要随着信息化步伐的加快,越来越多的政府部门和企业为了提高工作效率,节约成本,已经开始广泛使用办公自动化产品,因此协同审批工作流系统已经在部分行业开

4、始实施。在这种背景下,调查分析了银行工作流审批系统现状,提出了基于JBPM工作流引擎来实现银行住房贷款审批流程系统。该系统使得银行业务人员对工作流程能够实时监控,并使得参与该流程的各部门在一个统一的平台上高效率工作,实现银行业务流程的可视化与自动化。通过开源开发框架与开源工作流引擎进行银行住房贷款审批流程系统的开发。该开发方法具有降低成本、高扩展性等突出优点。对Petri网这一图形化的数学建模工具进行了较深入研究,从而加深对工作流引擎过程模型的理解。对工作流技术的相关问题进行了系统的研究。从工作流技术的起源与发展、研究领域、研究现状、研究不足和未来的发展方向进行了详细调查,特别对开源工作流引擎

5、(JBPM、Shark和OSWorkflow)进行了比较研究,并最终选择了JBPM作为住房贷款系统开发的流程引擎。JBPM是一个扩展性很强的工作流系统,完全用JAVA语言开发,持久层采用Hibernate实现,非常适合开发所使用的SSH (structs+spring+Hibernate) Java EE开发框架的系统。对SSH的整合开发方案以及系统如何与工作流引擎进行交互进行了详细研究,最终基于上述研究实现了原型系统。关键词: 工作流, 工作流引擎, 审批流程, 开源 AbstractWith the acceleration of informationization, more and

6、more government departments and enterprises , have begun extensively use the office automatic products in order to improve efficiency and reduce costs, and cooperative approval workflow system has been implemented in some industries currently. Under this kind of background, this paper investigates a

7、nd analyzes the current status of cooperative approval workflow system in bank field. The Housing Loans Approval System is based on JBPM work flow engine, which makes people monitor the business process at a real-time level. Departments participating the process can work together efficiently on the

8、unified platform.The system realizes the visualization and automation of the banks business process.The Housing Loans Approval System is developed by using open source development framework and work flow engine. Lower costs and high scalability are the prominent advantages of this development method

9、. The graphical mathematical modeling tools petri net is also discussed in this paper, which can make the workflow engine process modeling better understood.The related workflow technology is also introduced systematically. The origin and development, research areas, research status, shorts and the

10、future of workflow technology have been investigated in detail. The open source workflow engines(JBPM、Shark and OSWorkflow) are also compared in this paper, and eventually JBPM is choosen to be the workflow engine of the this System. JBPM is a highly scalable workflow engine,which is entirely develo

11、ped by java programing language, and the persistence layer of JBPM is realized by using Hibernate technology. This make JBPM very suitable for developing the system which uses the Java EE Development framework SSH ( structs + spring + Hibernate). The integration of SSH programming and the interactio

12、n between the system and workflow engine are also researched intensively. Eventually, based on the above reasearch, the prototype system is realized.Key words: workflow; workflow engine; approval process; open source 目录摘 要IAbstractII1 绪论1.1 课题背景及意义(1)1.2 工作流技术的起源与发展(2)1.3 工作流技术国内外研究现状(3)1.4 本论文主要工作(

13、6)2 工作流技术分析2.1 工作流的相关概念(7)2.2 工作流管理系统参考模型(10)2.3 Petri网(12)2.4 本章小结(18)3 JBPM技术与开发框架3.1 JBPM技术(19)3.2 SSH开发技术介绍(25)3.3 本章小结(33)4 系统分析与设计4.1 系统需求分析(34)4.2 系统功能设计(35)4.3 基于UML的系统建模(36)4.4 数据库设计(42)4.5 本章小结(49)5 系统的实现与运行结果5.1 系统运行环境(50)5.2 JBPM流程建模(50)5.3 SSH框架的整合(56)5.4 Struts中关键技术的实现(57)5.5系统的运行效果(59

14、)5.6本章小结(65)6 总结与展望6.1 全文总结(66)6.2 展望(66)致 谢(68)参考文献(69)1 绪论随着信息技术的发展,计算机作为一种新的工具,已经对社会产生了巨大的影响。新的工具产生新的方法,计算机辅助业务流程管理已经成为一种先进、可行的新方法。利用计算机网络系统,可以大大提高信息沟通和数据采集的效率,可以把大量纷杂的信息进行有序的组织。建立在计算机网络世界基础上的办公自动化,对提高企事业单位工作效率,实现更多的价值,起到了良好的促进作用。1.1 课题背景及意义当前金融风险的影响已越来越大、越来越集中,其存在对经济发展和社会进步都有巨大的危害。它不但能使个别金融机构蒙受巨

15、额损失,而且还可能破坏一个国家和地区的经济稳定,引发社会动荡。而房地产业在我国国民经济的发展中也日益占据举足轻重的地位。自20世纪90年代以来,我国房地产市场逐步发展并迅速壮大,己逐渐成为推动各地区乃至整个国民经济增长的重要力量。与其发展紧密相关的个人住房贷款业务是我国福利分房制度向住房分配货币化转变过程中引入的一种金融产品,在不断发展的过程中起已成为我国商业银行贷款业务中重要的项目。个人住房贷款规模在银行资产中的比重逐年上升,对解决居民住房问题和促进房地产业的发展起到了重要作用。伴随着互联网技术在银行系统内的应用推广,银行内快速增长的业务客观上要求银行内部流程处理快速高效。这样就必然要求银行

16、的信息化方案应当是操作方便快捷,界面友好,多个计算实体之间通过基于标准的数据描述方式,减少冗余架构,创建跨客户和员工系统的公共业务接口;基于角色和工作流对用户提供个性化的信息业务。这样才能实现银行业务流程的可视化与自动化1。工作流技术是在上世纪九十年代发展起来的一门新兴研究方向,是近年来计算机应用技术与信息技术领域最具发展潜力的方向之一。工作流管理联盟(WFMC)给出的工作流的定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。工作流技术是支持现代企业经营过程重组、经营过程自动化的一项关键技术,它通过对经营过程进行

17、明确的定义和表示,使其能够被计算机所支持和运行,从而实现企业过程管理与过程控制2。JBPM作为一个优秀的开源项目,研究它的源代码对于我们来说是一个很好的学习和提高的过程。无论是编程风格还是面向对象的思想甚至编程技巧很多都是值得我们借鉴、消化和吸收的。另外JBPM是基于Java EE架构的,而Java EE又是近年来最热门也是最优秀的企业级应用的技术架构或软件平台。本文基于JBOSS JBPM工作流引擎来实现银行住房贷款审批流程,使得银行对该工作流程能够实时监控,使得参与该流程的各部门在一个统一的平台上高效率工作。1.2 工作流技术的起源与发展80年代初期,在PC机尚未作为信息处理工具而出现的时

18、候,纸张是各行各业中进行日常业务活动所不可替代的载体,包括表单、文件、信函、技术资料等在内的各类与企业密切相关的文档都是以纸张的形式在各个部门之间进行传递的。这种古老的载体在信息的处理、组织、存储以及查询检索方面都是低效的。因此,人们希望出现一种无纸化的、计算机使能的工作环境。一些公司、企业也建立了自己专用的或者可商品化的表单传递应用系统(forms-routing applications),通常运行在大型机或小型机上,用于实现日常表单处理的电子化与自动化。这种系统可以看成是现代工作流管理系统的一个雏型。80年代中期,FileNet和ViewStar等公司率先开拓了工作流产品市场,成为最早的

19、一批工作流产品供应商。他们把图像扫描、复合文档、结构化路由(structured routing)、实例跟踪、关键字索引以及光盘存储等功能结合在一起,形成了一种全过程支持某些业务流程的集成化的软件(包),这便是早期的工作流管理系统。比较典型的有FileNet于1984年推出的WorkFlo Business System,ViewStar于1988年推出的ViewStar。很显然,这种增值性质的集成化软件系统为企业简化与重组自己的关键业务流程提供了一种非常合适的方案。而且,由此我们还可以看出,工作流从最初的诞生之日起就是作为一种面向过程的系统集成技术而出现的,只不过限于当时的计算机发展水平,它

20、所集成的功能较为简单而已3。进入90年代,随着计算机的普及、网络的延伸,现代企业的信息资源越来越表现出一种异构、分布、松散耦合的特点,企业的分散性、决策制定的分散性、对日常业务活动详尽信息的需求以及Client/Server体系结构、分布式处理技术(CORBA,WWW,OLE,JAVA)的日益成熟,都说明了这样一个事实:集中式信息处理的时代已经过去,实现大规模的异构分布式执行环境,使得相互关联的任务能够高效运转并接受密切监控已成为一种趋势。在这种不可抗拒的技术背景下,工作流管理系统也由最初的创建无纸办公环境转而成为同化企业复杂信息环境、实现业务流程自动执行的必要工具。这样的一个转变,把工作流技

21、术带入了一个崭新的发展阶段,使得人们从更深的层次、更广的领域上对工作流展开了研究4。工作流技术的标准化组织工作流管理联盟(Workflow Management Coalition)于1993年成立。它的成立标志着工作流技术在计算机应用研究领域之中被明确地划分出了自己的一席之地,相应的概念与术语也得到了人们的承认。在全球范围内,对工作流的技术研究以及相关的产品开发进入了更为繁荣的阶段,更多、更新的技术被集成进来,文件管理系统、数据库、电子邮件、移动式计算、Internet服务等都已被容纳到工作流管理系统之中5。1.3 工作流技术国内外研究现状1.3.1目前工作流技术的研究内容目前工作流主要的研

22、究内容包括以下几个方面: (1)工作流管理系统体系结构的研究;(2)工作流模型与工作流定义语言;(3)工作流的事务特性:研究目的在于将高级事务处理技术与工作流管理技术相结合,用良好定义的模型语义与恢复机制来更好地支持企业的经营过程,提高工作流系统的可靠性与实用性;(4)工作流的实现技术:包括面向对象技术、异构分布式计算、图形用户界面、消息通信、数据库、WWW等在内的与工作流系统的设计实现有关的各项技术、方法;(5)工作流的仿真与分析方法;(6)工作流的集成与互操作技术:研究异构应用系统的集成以及不同工作流系统之间的互操作问题;(7)工作流与经营过程重组:研究如何通过工作流系统的实施来有效地实现

23、企业的经营过程重组6。1.3.2目前工作流技术中所存在的不足目前在经营过程中采用工作流管理系统的企业仍只是一少部分,而且这些系统的应用范围也很有限,并不能全方位地支持企业的关键业务流程。从企业用户应用的角度来分析产生这种状况的原因,主要有以下四点7:(1)工作流的运行必须要有底层的通信基础结构的支持,但是就目前能够实现分布计算环境的产品来看,它们在实际应用中仍然显得不够成熟,在安全性、容错性、可靠性等方面均不能满足企业的需求,而且在价格上也给企业造成一定的负担。(2)缺乏标准。不同的厂商所提供的工作流产品可能具有自己独立的一套工作流模型、工作流定义语言以及API函数。(3)实现的复杂性。工作流

24、应用的开发不仅仅是过程的定义,还需要完成其他许多任务。比如,对外部的应用系统进行封装、建立工作流机运行所必须的分布计算环境、设计开发相应的用户界面等等。(4)工作流技术本身的不成熟性。目前尚没有一种工作流产品或原型系统能够在过程执行的可靠性与一致性方面达到与关系型数据库管理系统同水平的功能8。通过对工作流的研究,我们认为工作流技术自身的不成熟性从较为根本的几个层次上来看,主要表现在以下三个方面9:(1)在工作流的模型描述方面,缺乏一种支持过程定义、过程演进以及过程分析的形式化的数学模型。工作流模型的核心是对过程的定义,包括组成过程的基本活动以及活动之间的时序关系。目前的各种工作流模型,大部分都

25、是从直观感觉出发,以图形语言或者文本语言来定义工作流过程。由于缺乏理论层的模型支持,使得工作流在应用的许多关键特性上无法得到保证,包括柔性定义、过程重用、事务管理、异常处理等,这些都大大限制了工作流在企业应用中的推广。(2)在工作流的执行方面,缺乏一个标准化的集成框架来支持对企业常用的分布式应用的集成。目前来看,工作流应用中的一个很大的瓶颈就是工作流管理系统所能支持的企业应用太少,在集成的方式方法上还没有统一的标准,很大程度上要受到外部应用的限制。因此,在工作流系统与企业应用间亟待建立一个性能良好的“粘合层”,最好是独立于不同企业应用的一个标准的集成框架,这将极大地提高工作流系统对企业应用的适

26、应性。(3)在工作流的仿真评价方面尚处于一种几近空白的状态。应该说,在缺乏仿真方法与仿真工具支持的情况下,整个工作流系统是不完善的。因为人们难以预料所部署的工作流过程将有可能出现怎样的结果,它有哪些不合理的地方,其性能指标如何,这一切都必须等到实际运行以后才能由工作流管理系统所记录的数据中获得,显然,这并非是一种合理的方式。针对工作流进行仿真的难点主要在于:仿真的性能指标不好确定;仿真的内容较为复杂等10。1.3.3工作流技术的发展趋势针对目前工作流产品存在的不足和信息技术、分布对象技术、lnternet/lntranet技术的发展趋势,从技术与应用角度看,在今后一段时间内,工作流管理技术的研

27、究及产品主要在以下几个方向发展。(1)面向复杂企业应用的工作流管理系统:目前的工作流技术和产品难以支持复杂的企业应用,对己有企业应用的集成能力也显然不足,因此,支持复杂企业应用和应用集成的工作流管理系统将会得到充分的重视和长足的发展。(2)扩展工作流模型的描述能力:现有工作流系统的模型在企业应用中的描述能力不足,主要反映在工作流模型的语义在描述复杂过程时,能力不足和活动属性的定义不够丰富。需要在进一步深入分析的基础上,丰富工作流模型的语义和活动属性的定义。(3)代理技术与工作流管理技术的结合:代理技术与工作流技术都是近年来受到广泛重视并得到长足发展的计算机软件技术,在分布对象技术的基础上,充分

28、发挥工作流技术在灵活性方面的优势和代理技术在知识表达、事务处理、智能性能方面的优势,将这两种技术进行有机结合,以工作流管理为基础,以代理技术为核心,将开发出具有良好前景的应用软件产品。(4)内置到商用企业应用软件包中:在过去的几年里,为了使通用软件能够满足客户提出的特别需要,SAY等公司将工作流技术引入到他们的产品中,使用户可以按照预定的顺序调用这些产品的不同功能模块,满足本企业的特殊需求。(5)基于Web的工作流:随着Web技术的普及,基于Web的工作流技术将得到充分的发展。工作流可以通过Web扩展到多个企业,并将实现多个基于Web的工作流服务器之间的协同工作。(6)分布式工作流:经过几年的

29、发展,工作流管理系统的结构己经由原来的只能支持单一的工作组环境,发展到现在可以支持企业级(甚至企业间)的工作流环境。一个工作流实例可以通过局域网、广域网分布在不同的服务器和客户端,而且服务器的故障所造成的影响将被减少到最小。因而,大大提高了系统的可扩展性、实用性和管理能力。(7)融入事务管理的概念:目前大部分工作流产品不支持事务的概念,甚至不能保证活动的执行是一个ACID ( Atomicity, Consistency, Isolation,Durability)的事务。(8)工作流模型的分析和仿真工具:目前,越来越多的用户要求能够对模型进行评估和性能测试,仿真和性能监控工具的引入,将成为新

30、一代工作流产品的发展趋势11。1.4 本论文主要工作(1)阐述了工作流技术的相关概念和工作流管理系统的体系结构。(2)对工作流引擎用到的建模技术Petri网进行了相关介绍。(3)分别对系统开发使用的开源框架Struts,Spring,Hibernate的特性、关键技术进行了详细介绍。同时对在系统开发中JBPM的建模过程进行了详细介绍。(4)以本文介绍的工作流管理信息系统的框架模型为基础,结合银行个人住房贷款流程并利用UML建模工具对系统进行了详细设计。(5)在详细设计的基础上,充分利用SSH开源框架和JBPM插件,实现了该系统的原型。(6)总结和展望。总结了论文有价值的核心内容和创新点,分析了

31、系统存在的不足,确定了下一步的研究方向。2 工作流技术分析近年来,IT技术能力得到大幅度提高,越来越多的企业利用信息技术去支持他们的业务过程处理,以适应快速变化的市场环境并提高企业的工作效率和管理水平。随着网络的延伸以及C/S、B/S体系结构的日益普及,目前新型的管理信息系统大多建立在基于Internet/Intranet结构及技术的分布式计算机环境中,各种软件新技术不断被应用于信息系统的开发之中,其中工作流(workflow)技术以其良好的适应性和灵活性而受到广泛关注,并且在银行、保险、法律、行政管理以及工业和制造业等领域得到了广泛应用,并得以蓬勃发展,越来越显示出其强大的生命力。2.1 工

32、作流的相关概念2.1.1 工作流定义根据工作流管理联盟(Workflow Management Coalition)的定义,工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。这个定义说明:l、工作流是业务过程的一个计算机实现,工作流管理系统就是这一实现的软件环境;2、使用工作流作为业务过程的实现技术首先要求工作流系统能够反映业务过程的几个问题,即业务过程是什么、怎么做、由谁来做、做得怎样。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。工作流通常用于过程的自动化,通过文档、信

33、息和任务按照预先定义好的规则和流程在参与者之间进行传递,从而帮助用户实现整个经营目标12。2.1.2 相关概念定义2-1业务流程(Business Process)一组用来实现一个商业或策略目标的存在关联的过程或行为,通常处于一个定义功能角色和关系的组织结构的上下文中。在某企业或机构中,它能够实现业务目标和策略的相互连接的过程和活动集,如公文处理流程、投保过程、银行客户的取款过程等等。定义2-2工作流(Workflow)工作流是面向特定应用的业务流程的抽象。它是业务流程的整体地或部分地自动化处理,文档、信息或任务按照一组规则自动从一个参与者传递给另一个参与者处理。定义2-3工作流引擎(Work

34、flow Engine)工作流引擎为一个工作流实例提供执行环境。它提供的服务包括:过程模型的解释、过程实例的控制(创建、激活、暂停、终止等)、在过程各活动之间的游历(控制条件的计算与数据的传递等)、参与者的加入与退出、生成工作项通知用户进行处理、工作流控制数据和工作流相关数据的维护、调用外部应用和访问工作流相关数据等13。定义2-4工作流管理系统(Workflow Management System)运行在一个或多个工作流引擎上,使用软件来定义、创建和管理工作流执行过程的系统,能翻译过程的定义,能与工作流参与者互动,并且能在需要时调用IT工具和应用软件14。定义2-5过程定义(Process

35、Definition):计算机所能识别的业务流程的形式化描述,用来支持运行过程的自动化。流程一般被分解成一些子过程和活动以及它们之间的关系,其定义主要包括运行过程中所涉及到的各种数据和参数,比如过程的开始和终止条件、各个工作环节(活动)及相互之间的控制流和数据流关系以及一些关于个体行为的信息,如组成成员、与IT相关的应用和数据等。定义2-6工作流模型(Workflow Model)工作流模型是对工作流的抽象表示,也就是对经营过程的抽象表示。工作流模型是使用工作流定义语言对某个应用域的业务过程形式化描述所得到的结果,它包含工作流执行所需要的信息。定义2-7活动(Activity):活动是工作流中

36、一些逻辑步骤或环节的工作任务,一般分为手工操作和自动处理两类。活动是流程执行中的最小工作单元,要求有人员的参与或由计算机自动完成。定义2-8流程实例(Process Instances):流程实例是实际运行中的一个业务流程。每个实例代表一个能独立控制执行、具有内部状态的线程。在流程实例执行的业务流程中,WFMS将解释相应的流程定义,生产相关的活动实例并根据定义中的控制规则协调这些活动之间的顺序关系,同时根据数据流动关系的定义完成活动之间的数据传送。从参与者的角度来说,实例的执行实际上是由参与者处理他所涉及的环节的数据,完成该环节的任务,之后由WFMS根据相应结果激活后续环节,同时通知后续参与者

37、对之进行处理,由此依次反复直至整个流程完成。定义2-9活动实例(Activity Instances):活动实例是过程实例中的一个逻辑步骤或环节。定义2-10工作项(Work Item)可被工作流参与者执行的活动实例的表示,一个活动实例通常产生一个或几个工作项,工作项通过赋予相关参与者的工作列表而被参与者所感知。定义2-11任务(Task)活动和工作项的统一表示,在工作流定义的上下文中表示活动,在工作流实例的上下文中表示工作项。定义2-12路由(Routing)工作流实例中任务间的关系,基本的路由关系有:顺序(Sequence)、选择(Choice)、派生(Fork)、合并(Merge)、同步

38、(Synchronization)等。定义2-13组织(Organization)任务执行所需要的,一般指参与者,可以是机器,也可以是人。图2-1是这些基本概念之间的相互关系。图2-1工作流的基本概念间的关系2.2 工作流管理系统参考模型1994年11月29日,WFMC发布的工作流参考模型,如图2-2所示。参考模型详细描述了工作流系统的有关概念,并在此基础上给出了WFMC的主要组成部分、各部分的功能以及相互之间的接口。(1)流程定义工具。在流程定义、建模工具、工作流引擎之间定义标准接口。使流程开发人员能够部署流程定义。流程定义表示一种形式上的业务流程描述,由各种活动以及相互之间的网状关系组成,

39、标识了流程的开始和终止,并且包含个体行为的信息,比如各个参与者、与IT相关的应用程序和数据,等等。该接口采用的标准是XPDL(Xml Process Definition Language)。(2)工作流客户端应用程序。该程序由用户结合业务需求而开发,用它来驱动工作流。客户端程序通过该接口与引擎交互。一般的工作流引擎用户不需要懂引擎的实现,只要知道怎么实现客户端程序就可以了。它的作用是给用户提供一种手段,以处理流程实例运行过程中需要人工干预的任务。每个这样的任务就被称为一个工作项,它包括处理上的一些要求及待处理的数据对象等。WFMS将为每一个用户维护一个工作项列表,它表示当前需要该用户处理的所

40、有任务。(3)被调用的应用程序。指工作流核心服务在流程实例的运行过程中调用的,用以对应用数据进行处理的应用程序。通过普通代理软件调用该接口,允许调用工作流引擎之外的功能。(4)其他工作流核心服务。与其他工作流引擎协作的接口。它提供了一个运行环境,在这个环境中,利用一个或多个工作流引擎进行过程实例化或激活,通过与必要的外部资源进行交互负责解释和激活部分或全部过程定义,完成工作流过程实例的创建、执行与管理,如过程定义的解释,过程实例的控制(创建,激活,暂停,终止等),在过程各活动之间的游历,并生成有关的工作项通知用户进行处理等,为工作流程的进行提供一个运行时的环境。(5)工作流管理和监控工具。其功

41、能是对WFMS中的流程实例的状态进行监控与管理,如用户管理,角色管理,审计管理,资源控制等。系统管理和监控接口的目的主要是为了让多个工作流服务共享一个公共的管理和监控系统,可以通过在WAPI集合中提供特定的命令来完成管理和监控功能管理人员通过监控接口获得流程运行的确切数据。有时,运行日志也可用于审计15。图2-2 WFMC发布的工作流管理系统参考模型2.3 Petri网为了把复杂的企业经营过程定义成工作流引擎可以理解的形式化信息及工作流管理系统可以管理的工作流,需要建立计算机化的工作流模型。为了全面描述经营过程,工作流模型通常又包含三个子模型,分别是过程模型、资源模型和组织模型。过程模型描述经

42、营过程中的活动以及活动之间的关系,资源模型描述活动所需要的软硬件资源,而组织模型描述活动的执行实体。过程模型是工作流模型的核心,比较常见的过程建模方法有Petri网、活动图、状态图等。Petri网是一个图形化的数学建模工具。一方面可以利用图形化的方式来描述工作流过程,另一方面可以通过形式化的分析技术检查工作流模型的正确与否,甚至对其进行性能分析。通过了解Petri网理论,可以加深对工作流引擎过程模型的理解。2.3.1 Petri网的基本元素Petri网作为一个图形化的建模工具,具有四种基本的图元,任何一个Petri网模型都是由如下四种基本图元组合形成的。这四种基本图元如图2-3所示:(1)库所

43、(2)变迁(3)弧(4)标记图2-3 Petri网的基本元素Petri网定义成三元组,PN=(P,T,F),其中:P=p1,p2,p3pm是库所的有限非空集;lT=t1,t2,t3tn是变迁的有限非空集;lF=PTTP是有向弧的集合,P和T还满足PT=且PT;图2-4是一个Petri网模型实例图2-4 一个Petri网模型实例2.3.2 库所在Petri网中,库所因其所处的位置的不同被划分为三类,分别是:起始库所、终止库所、中间库所。1. 起始库所:即start place,在标准Petri网模型中有且仅有一个,它表示Petri网模型的唯一入口,模型实例将从该点开始并进行流程推进。起始库所的特

44、征是,没有指向该库所的外向弧,但可以有一个或多个从该库所指向变迁的内向弧。2. 终止库所:即end place,在标准Petri网模型中有且仅有一个,它表示Petri网模型的唯一出口,模型实例将在该点结束流程。终止库所的特征是,没有从该库所指向变迁的内向弧,但可以有一个或多个从变迁指向该库所得外向弧。3. 中间库所:即intermediate place,在标准Petri网模型中可以有0个或多个,它是除去起始库所和终止库所外的第三类库所,通常,中间库所起到的作用是连接变迁与变迁,中间库所根据其相对于变迁的位置的不同又可以分为输入库所和输出库所两种。当存在一条内向弧P-T时,我们称P是T的输入库

45、所。当存在一条外向弧T-P时,我们称P是T的输出库所。2.3.3变迁变迁使用矩形表示。变迁是英文transition的中文译文,在英文中transition意为转换、转变。使用T来表示变迁,使用Ti(i=1,2,3)表示在一个Petri网模型中的某个具体变迁。2.3.4弧弧使用一条有向线段表示。弧是英文arc的中文译文,弧在Petri网模型中起到的作用是连接库所和变迁,因为有弧的存在,一个Petri网的模型最终形成了一个有向图。根据弧的方向是从库所指向变迁还是从变迁指向库所,弧可以分为两类:内向弧和外向弧。2.3.5标记标记不是Petri网静态模型的元素,而是Petri网模型实例运行时的存在的

46、元素。具体来说,在Petri网模型建模期间是不存在标记的,只有当该模型被工作流执行引擎实例化并开始调度时存在的。标记始终是存在于库所中的,如果把库所理解为一种容器,那么,库所的作用就是用来装标记的。Petri网模型实例中标记在所有库所中的分布状态就反映了一个Petri网模型实例的运行状态。2.3.6 Petri网的触发器变迁处于就绪态的时刻和变迁处于激发态的时刻是不同的。能够引起一个处于就绪态的变迁向激发态迁移的事件被称为一个“触发器”。存在四种不同类型的触发器如图2-5所示。abcd图2-5 Petri网的触发器a) 自动触发:任务一旦从常态迁移到了就绪态就马上可以被激发。这种类型的触发应用

47、于那些不需要人来交互的而是被应用程序来执行的任务。b) 用户触发:任务由人来触发,例如,用户选择一个处于就绪态的任务来执行。在一个工作流管理系统中每个用户都有一个任务输入箱,这个输入箱所包含的就是那些已经就绪的可以被用户执行的任务实例,任务实例也称为工作项(workitem)。用户选择并完成一个工作项的操作就是相关的任务实例的触发,同时工作流实例也将进入流程的下一阶段。c) 时间触发:处于就绪态的任务由一个时钟来触发。例如,任务项在一个预定的时刻被执行。d) 消息触发:一个外部事件触发一个处于就绪态的任务实例。消息可能是电子邮件、传真、电话或EDI消息。每个这样的外部事件都对应应用任务的某个活动,这样工作流系统才能知道事件的发生。2.3.7 Petri网的路由从工作流程的起始库所到中止库所的路由形式有多种,如下:顺序路由:图2-6顺序路由示意图并行路由:图2-7并行顺序路由示意图条件路由:图2-8:条件路由示意图迭代路由:图2-9:迭代路由示意图2.3.8 Petri网的发散和汇聚为了能够实现Petri网的路由方法,需要使用发散和汇

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号