(电路与系统专业论文)基于J2EE体系结构的工作流管理系统的研究与开发[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于J2EE体系结构的工作流管理系统的研究与开发[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于J2EE体系结构的工作流管理系统的研究与开发[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于J2EE体系结构的工作流管理系统的研究与开发[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于J2EE体系结构的工作流管理系统的研究与开发[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(电路与系统专业论文)基于J2EE体系结构的工作流管理系统的研究与开发[电路与系统专业优秀论文].pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士学位论文摘要工作流是指业务过程整体或部分自动化,其问文档、信息或任务按照一套程序规则,从一个参与者传递到另一个参与者进行处理。工作流技术是企业业务过程重组和业务过程自动化的重要手段,已广泛应用到社会领域的各行各业中。随着业务规模的不断扩大,业务过程的频繁变更,业务集成度的不断提高,为降低运营成本,企业需要使用具有更高的兼容性和移植性的工作流管理系统。本文完成了如下几个方面的工作:介绍了工作流的概念、参考模型、s h a r k 工作流引擎的总体框架以及j 2 e e 体系结构,实现了b s 模式的以s h a r k 为工作流引擎的基于j 2 e e 体系结构的工作流管理系统;利用s t r u t s 和j a v a b e a n 技术,实现了过程的配置和管理,完成了过程的运转;利用j a w e 技术,实现了过程定义的可视化管理,将过程定义以图形的方式呈现在用户面前,使用户不必阅读复杂难懂的x p d l 文件,能直观的理解业务过程;利用过程和活动实例的状态标志位及j a w e 技术,实现了过程实例的可视化实时监控,使用户能及时了解业务过程的执行状况,提高企业工作效率;完善了安全认证机制,采用角色包装权限的思想,设计了权限角色模型,实现了基于角色的安全认证机制;利用资源任务列表模型,实现了任务列表处理功能。关键词:工作流管理系统;工作流参考模型;s h a r k 工作流引擎;j 2 e e 体系结构a bs t r a c tt h ew o r k f l o wi st h ea u t o m a t i o no fab u s i n e s sp r o c e s s ,i nw h o l eo rp a r t ,d u r i n gw h i c hd o c u m e n t s ,i n f o r m a t i o no rt a s ka r ep a s s e df r o mo n ep a n i c i p a n tt oa n o t h e rf o ra c t i o n ,a c c o r d i n gt oas e to fp r o c e d u r a lr u l e s a st h ei m p o n a n tm e a n so fb u s i n e s sp r o c e s sr e e n g i n e e r i n ga n db u s i n e s sp r o c e s sa u t o m a t i o n ,i th a sb e e nw i d e l yu s e di ne v e r vw a j ko fl i f e a st h eb u s i n e s ss c a l ee x t e n d s ,t h eb u s i n e s sp r o c e s sf r e q u e n t l yc h a n g e s ,t h eb u s i n e s si n t e g r a t i o na d v a n c e s ,t h ec o m p a n yn e e d sm o r ec o n l p a t i b l ea n dm o r et r a n s p l a n t a b j ew o r k f l o wm a n a g e m e n ts y s t e mt oc u td o w nt h ec o s t t h et h e s i sf i n i s h e sw o r k sa sf 0 1 1 0 w s :t h ew o r k f l o wc o n c e p t i o n ,r e f e r e n c em o d e l ,t h ea r c h i t e c t u r eo fs h a r ke n g i n ea sw e l la st h ea r c h i t e c t u r eo fj 2 e :ea r ei n t r o d u c e d ,t h ew o r k f l o wm a n a g e m e n ts y s t e mu s e ds h a r ka st h ew o r k f l o we n g i n e ,b a s e do nj 2 e ea r c h i t e c t u r ea n db sm o d ei sr e a l i z e d ;t h ec o n n g u r a t i o na n dm a n a g e m e n to ft h ep r o c e s sb ys t f l l t sa n dj a v a b e a ni si m p l e m e n t a t e d ,t h er u n n i n go ft h ep r o c e s si sc a r r i e do u t ;t h ev i s u a lm a n a g e m e n to ft h ep r o c e s sd e f i n i t i o nb yu s i n gj a w ea r ea c h i e v e d ,t h ep r o c e s sd e f i n i t i o ni sl o o k e da sap i c t u r e ,t h a tu s e r sn e e d n tr e a dc o n l p l i c a t e dx p d lf i l e s ,a n dc a ne a s i l yu n d e r s t a n dt h ep f o c e s sd e f i n i t i o n ;t h ev i s u a lm o n i t o r i n go ft h ep r o c e s si n s t a n c eb yu s i n gs t a t u so ft h ep r o c e s si n s t a n c ea n dj a w ea r ea c t u a l i z e d ,u s e r sc a ni n l m e d i a t e l ys e et h es t a t eo ft h ew o r k n o wp r o c e s s ,t h ee f 6 c i e n c yo ft h ec o m p a n yw i l lb ei m p r o v e d ;t h ea u t h e n t i c a t i o nb e c o m e sm o r ep e r f e c t ,t h ea u t h e n t i c a t i o nb a s e do nr o l e - p r i v i l i g em o d e li sc a r r i e do u t ;t h ew o r k l i s th a n d l e rc o m e st m eb yu s i n gr e s o u r c e s a s s i g e m e n t sm o d e l k e yw o r d s :w o r k f l o wm a n a g e m e n ts y s t e m ;w o r k f l o wr e f e r e n c em o d e l ;s h a r kw 6 r k f l o we n g i n e ;j 2 e ea r c h i t e c t u r em湖南大学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:男钾日日期:汐d 矿年r 月坫日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于l 、保密口,在年解密后适用本授权书。2 、不保密回。( 请在以上相应方框内打“”)日期:p o g 年j 月沾日日期:2 譬年r 月坫日硕士学位论文第1 章绪论1 1 课题研究的背景及意义工作流起源于生产组织和办公自动化领域,通过将工作分解成定义良好的角色、任务,按照一定的规则和过程来执行这些任务并进行监控,达到提高办事效率,降低生产成本,提高企业生产经营管理水平和企业竞争力的目的。随着信息技术的发展和日趋激烈的商业竞争,人们不再满足于独立、零散的办公自动化和计算机应用,而是需要综合的、集成化的解决方案。工作流技术强调过程集成和过程重组,最早提出于7 0 年代,经过多年的发展,已取得了丰硕的成果。作为一种对常规性事务进行管理、集成的技术,工作流技术的优势包括如下几个方面:( 1 ) 改进和优化业务过程,提高业务工作效率,如避免不必要的重复工作,提高工作效率,降低管理成本;( 2 ) 实现更好的业务过程控制,提高顾客服务质量;( 3 ) 提高业务过程的柔性和开放性等;( 4 ) 提高企业管理的规范化程度;( 5 ) 最大程度的集成企业现有信息资源,实现资源的充分利用;( 6 ) 提高企业管理的可扩展性;( 7 ) 在工作人员之间更好的均衡负荷,如在工作人员缺勤或工作量过大的情况下,自动地柔性分配潜在人员;( 8 ) 通过对已完成的工作流实例的分析,找出存在的不足,进而不断改进工作过程:( 9 ) 使工作内容更加丰富,并且提高工作人员的业务能力,减少工作人员在完成十分乏味而单调的工作过程中产生错误。随着全球互连网技术的发展和多机协同工作技术的日臻成熟,以及并行工程、敏捷制造和虚拟制造等先进制造技术的发展,工作流技术为实现这些经营目标提供了先进的手段。工作流技术一出现就得到了学术界和企业界的重视,发展也相当迅速,现在已经有相当多的产品成功的应用到图书馆、医院、银行、制造业等领域。1 2 国内外研究现状目前,工作流的研究状况尚处于技术发展的初级阶段。在工作流技术日益受到重视的今天,对工作流技术的研究在向更深的层次进行。对工作流领域的研究,基于j 2 e e 体系结构的工作流管理系统的研究与开发直以来包括三个方面:一,基于工作流理论基础的研究,包括工作流管理系统的体系结构、模型与定义语言( 工作流的建模方法、工作流模型的形式化表示、工作流定义语言等) 等的研究。这一部分工作目前相对来说比较薄弱,还有许多问题需要进一步研究。二,基于工作流实现技术的研究,包括工作流的事务特性、各种先进软件技术的应用、工作流的仿真。这方面研究工作的目的是提高工作流软件系统的性能,尤其是提高工作流管理系统的可靠性以及在处理大规模复杂的且具有并发业务的过程方面的能力。三,基于工作流技术应用的研究,包括工作流实现技术、在不同应用领域的应用方法、应用软件系统的集成等。这方面研究的主要目的是发挥工作流管理系统的优势,为解决具体应用领域内的问题提供有效的实现手段。作为企业业务过程重组( b u s i n e s sp r o c e s sr e e n g i n e e r i n g ,b p r ) 和业务过程自动化( b u s i n e s sp r o c e s sa u t o m a t i o n ,b p a ) 的一种手段,工作流技术越来越受到学术界和企业界的重视。经过多年的研究发展,人们在工作流技术的理论研究、技术实现以及应用等方面,取得了丰硕的成果。l9 9 3 年工作流管理联盟( w o r k n o wm a n a g e m e n tc o a l i t i o n ,w 似c ) 的成立标志着工作流技术进入了相对成熟的阶段。它旨在实现不同工作流产品之间的互操作,给出了工作流管理系统的参考模型,并对相关术语、应用编程接口等制定了一系列标准。在文献 1 ,4 7 】中,工作流管理联盟和o m g 详细制定了工作流技术相关术语和定义、参考模型、过程定义语言、五大功能接口规范等,成为业界学习研究工作流技术的标准。文献【2 】是国内最早开始介绍工作流技术的书籍,系统的介绍了工作流技术的概念和发展状况。在文献【9 1 5 】中,国内外工作流技术人员对工作流理论、实现技术等方面进行了深入的探讨和研究,推进了工作流技术的发展。文献【9 ,l o 】对工作流关键技术和参与者定义的进行了深入的探讨和研究。文献【1 1 】介绍了工作流的自动控制策略。文献【1 2 】提出了工作流管理系统中的分组策略。文献 1 3 1 6 】分别介绍了基于对象、规则和角色的工作流管理系统、基于w e b 工作流监视系统以及工作流在智能办公系统中的应用。文献【1 7 2 0 】则分别讨论了工作流技术在电子政务、建设用地审批管理、作业流管理、办公自动化等领域中的应用,设计了用于特定领域的工作流管理系统。这些系统存在兼容性差和可移植性差的缺点。文献【2 1 】介绍了基于a o p ( a s p e c to r i e n t e dp r o g r a m m i n g ,面向方面编程) 技术的工作流管理系统与企业信息系统集成方法,成功地将a o p 技术应用到工作流管理系统中。文献【2 2 2 7 】介绍了基于不同实现技术的工作流管理系统,其中文献【2 2 】引入了x m l 数据库技术,文献 2 3 】使用了关系数据库技术,文献【2 4 】使用了目前流行的j 2 e e 体系架构,文献 2 5 】使用了a u t d m a n a g e rw o r k n o w 技术,而文献【2 6 】和文献7 2 7 】则分别采用开源软件硕士学位论文o p e n w f e 和s h a r k 作为系统工作流引擎。o p e n w f e 没有完全遵循工作流管理联盟制定的关于工作流技术的标准,降低了系统的通用性。s h a r k 遵守w 伽c 和o m g 的所有规范,实现了除协同工作接口之外的所有功能接口,不支持多实例模式。文献【2 7 】使用s h a r k 构建了一个分布式工作流系统,实现了s h a r k 的多机协同工作。文献【2 8 3l 】介绍了一系列关于多实例建模和调度的方法,利用过程定义语言的扩展属性,实现了基于s h a r k 的多实例工作流管理系统。文献【3 2 介绍了一种基于实例状态的监控方法,没有提及过程实例的可视化监控和管理。文献 3 3 3 5 】对工作流管理系统中的异常处理机制、监控机制以及资源管理问题做了详细的研究,提出了有效的实现方法和策略。目前市场上工作流产品并不多,相应的集成性也不够理想,大多都是针对单一的应用,且多数没有实现工作流的可视化管理。具有可视化管理功能的工作流管理软件将使操作更直观简单,用户无须掌握高深的专业知识就可方便使用。而可视化的过程定义工具将使用户只需了解本单位的工作过程就可以轻松定义出复杂的过程。研究可视化管理的工作流软件具有很重要的现实意义。1 3 研究内容本文在详细参考了w f m c 的相关规范和标准后,引入当前流行而相对成熟的开源工作流引擎s h a r k ,设计并实现了一种基于j 2 e e 体系结构的工作流管理系统,主要包括如下的工作:介绍工作流管理联盟制定的一系列工作流标准,重点分析了工作流参考模型;介绍了开源工作流引擎s h a r k 的体系结构;介绍了j 2 e e 技术的概念、体系结构、容器、组件、j 2 e e 应用系统的四层模型、核心a p i 及s t r u t s 框架知识;使用工作流和j 2 e e 技术,完成基于b s 体系结构的工作流管理系统的开发,实现过程的运转和监控;完成了工作流管理系统客户端用户登录模块、包管理模块、过程定义管理模块、过程实例化模块、过程监控模块、任务列表处理模块和应用程序映射管理模块的设计和实现;实现过程定义及过程实例的图形化管理和监控功能。1 4 论文的组织结构本文总共分六个章节,各章节的内容分布如下:第1 章,绪论。介绍课题研究的背景和意义、国内外工作流技术的研究现状、基于j 2 e e 体系结构的工作流管理系统的研究与开发论文研究的主要内容以及组织结构;第2 章,介绍工作流管理联盟制定的工作流的概念、工作流管理系统的总体架构、工作流参考模型、工作流建模工具和建模语言以及开源工作流引擎s h a r k的总体框架结构;第3 章,j 2 e e 体系结构介绍,包括j 2 e e 平台的容器和组件技术、核心a p i 、四层模型的j 2 e e 应用系统以及s t r u t s 框架知识;第4 章,工作流管理系统的设计,确定了系统的功能、体系架构、设计模式以及技术架构;第5 章,工作流管理系统的实现,重点实现了工作流管理系统客户端以及可视化管理和监控功能,引入权限角色模型,完善了系统的安全认证机制;完成了工作列表处理模块的设计:结束语,总结了本文完成的工作,分析了本文所作工作的现实意义,并提出了进一步的研究方向。硕士学位论文第2 章工作流参考模型2 1 工作流技术2 1 1 工作流及工作流管理系统概念工作流管理联盟制定了工作流概念,具体描述如下:工作流定义:指业务过程整体或部分自动化,其间文档、信息或任务按照一套程序规则,从一个参与者传递到另一个参与者进行处理【t l 。简单的说,工作流就是一系列相互衔接、自动进行的业务活动和任务。如果将整个业务过程看作一条河,那么其中流过的就是工作流。工作流管理系统:工作流管理系统是一个软件系统,主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作( 任务) 以及群体成员之间的信息交互。它包括几个方面的内容:业务过程是什么? 由哪些活动,哪些任务组成,也就是结构的定义;怎么做? 活动间的执行条件、规则以及所交互的信息,也就是控制流和信息流的定义;谁来做? 也就是人和计算机应用程序,即组织角色的定义:做得怎么样? 通过工作流管理系统对工作流的执行情况进行监管1 2 1 。2 1 2 工作流管理系统的体系结构复杂的工作流管理系统由多个部分组成的,工作流管理联盟制定了如图2 1所示的工作流管理系统体系结构,其中工作流引擎是系统的核心组成部分,负责业务过程的调度和运转。工作流管理联盟关于工作流管理系统主要组成部分详细阐述如下:1 过程定义工具用于创建计算机可处理的业务过程描述,可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。2 工作流执行子系统( w o r k f l o we n g i n es y s t e m ,w e s ) 和工作流引擎工作流执行子系统也称为( 业务) 过程执行环境,包括一个或多个工作流引擎。工作流引擎是w 似s ( w o r k j f l o wm a n a g e m e n ts y s t e m ) 的核心软件组元,功能包括:解释过程定义;创建过程实例并控制其执行;调度各项活动;为用户工作表添加工作项;通过应用程序接口( a p p l i c a t i o np r o g r a mi n t e r f a c e ,a p i ) 调用应用程序;提供监督和管理功能等。工作流执行子系统可以包括多个工作流引擎,不同工作流引擎通过协作共同执行工作流。基于j 2 e e 体系结构的工作流管理系统的研冤与开发3 过程定义包含了所有使业务过程能被工作流执行子系统执行的必要信息,包括起始和终止条件、各个组成活动、活动调度规则、各业务的参与者需要做的工作、相关应用程序和数据的调用信息等。巴! ,兰j 心川。1 “i,一l 妙 川。# 1 “ ,特nr 。图2 1 工作流管理系统体系结构4 工作流控制数据指被工作流执行子系统和工作流引擎管理的系统数据,例如工作流实例的状态信息、每一活动的状态信息等。这些数据是按照建模语言的定义由设计人员抽象而得,它们不描述具体的业务数据,但为业务数据的流转提供支持。5 工作流相关数据指与业务过程相关的数据。w 蹦s 使用这些数据确定工作流实例的状态转移,例如过程调度决策数据、活动问的传输数据等。工作流相关数据既可以被工作流引擎使用,也可以被应用程序调用。6 工作表和工作表处理程序工作表列出了与业务过程的参与者相关的一系列工作项,工作表处理程序则对用户和工作表之间的交互进行管理。工作表处理程序完成的功能有:支持用户在工作表中选取一个工作项,重新分配工作项,通报工作项的完成,在工作项被处理的过程中调用相应的应用程序等。7 应用程序和应用数据应用程序可以直接被w f m s 调用或通过应用程序代理被间接调用。通过应用程序调用,w f m s 部分或完全自动地完成一个活动,或者对业务参与者的工作东川;、i黼札t硕士学位论文提供支持。与工作流控制数据和相关数据不同,应用数据对应用程序来讲是局部数据,对w f m s 的其他部件来说是不可见的。2 1 3 工作流参考模型工作流管理联盟给出了一个工作流参考模型,该参考模型确定了工作流管理系统的基本架构。该架构是开发工作流软件时应当采纳的系统模型,当然,一个工作流管理系统也可以不遵循这个模型标准,或只实现这个模型的一部分,但事实证明,这个模型结构是目前最为合理的【2 】。系统的核心部分是工作流引擎,引擎是驱动过程流动的主要部件,它负责解释工作流过程定义,创建并初始化过程实例,控制过程流动的路径,记录过程运行状态,挂起或唤醒过程,终止正在运行的过程,与其他引擎之间通讯等工作。w f m c 没有针对引擎的实现提供具体的标准,因为对引擎做过多的约束并没有多大的现实意义。一个工作流管理系统可以包含一个或多个引擎,并通过a p i 向外部提供过程定义的导入导出、同客户端应用程序和工作列表处理程序之间的交互、软件工具和应用程序的调用、不同工作流管理系统之间的协同工作以及管理和监视五大功能。图2 2 表示了五大功能接口的作用及与工作流引擎的交互关系。睁蓄障显圈2 2 工作流参考模型1 过程定义交换接口许多不同厂商提供的工具可以进行工作流过程的分析、建模、描述和归档等工作。这些工具需要识别公共的过程交换格式,以支持在这些不同的产品之间传送工作过程过程定义。接口l 便定义了这样的交换格式。此外,接口l 还定义了设计环境与运行环境之间交换的规范,以使不同的建模工具产生的过程定义可以输入到不同的工作流产品的运行环境中【3 】。盎立基于j 2 e e 体系结构的工作流管理系统的研究与开发在不同的系统之间传递过程定义数据可能需要不同的机制,但在所有的情况下,过程定义数据的表达必须是一致的,这些表达包括一些公共的对象、关系及其属性。2 应用程序调用接口接口2 为工作流管理系统提供同用户之间交互的通道,以便用户参与到系统的运行中。w f m c 在关于接口2 的规范中定义了工作流管理系统必须提供的类型、数据结构、a p i 和错误代码,并以c 语言头文件的形式提供。接口2 所提供的功能分为以下五个方面:( 1 ) 会话的建立和与撤销;( 2 ) 获取工作流过程定义及状态;( 3 ) 工作流过程实例的操作,如创建、挂起、终止过程,获取和设置过程属性等;( 4 ) 工作流活动实例的操作,如获取和设置活动的属性,改变活动的状态等;( 5 ) 工作列表( w o r k l i s t ) 及工作项( w o r k i t e m ) 的操作,如获取工作列表,处理工作项等【4 l 。通过这些功能,用户可以完成与工作流管理系统之间交互的所有任务:登录系统、打开自己的工作列表、处理自己的工作任务、将完成的任务提交给系统、将自己的任务转交给其他用户等等。3 外部系统接口通过接口3 ,工作流管理系统在运行过程中可以调用外部应用程序,以完成系统不能完成的工作( 比如,发送e m a i l 或传真,扫描文件等) ,或者与其他系统集成到一起。接口3 的功能同接口2 的功能大部分是相同的,因此,这两个接口有融合的趋势。接口3 主要规定了调用外部应用程序的函数规范,以及外部应用程序返回数据的格式。4 多机协同工作接口负责分布式系统中,多个工作流引擎之间的协同工作。5 管理与监控接口接口5 提供给用户管理和监控系统的运行状态、查看系统运行的历史记录的功能。w f m c 在此接口的规范中定义了各种审计信息的数据格式,这些格式包括:( 1 ) 过程实例( p r o c e s si n s t a n c e ) 审计信息:包括创建、启动过程实例和子过程实例的审计数据;过程实例状态变化的审计数据;过程实例属性变化的审计数据;硕士学位论文( 2 ) 活动实例( a c t i v i t yi n s t a n c e ) 审计信息:包括活动实例状态变化的审计数据;活动实例属性变化的审计数据;( 3 ) 工作项( w o r k i t e m ) 审计信息:包括工作项状态变化的审计数据;工作项分配和重新分配的审计数据;工作项属性变化的审计数据;( 4 ) 远程操作审计信息:包括开始和停止会话( s e s s i o n ) 的审计数据;远程创建过程实例和远程改变过程实例状态的审计数据;远程获取和设置过程实例属性的审计数据;会话管理的审计数据;( 5 ) 过程定义审计信息;( 6 ) 扩展的审计信息及专用的审计信息【3 】。这些审计数据在系统运行时刻由系统自动记录在数据库或文件中,可通过系统提供的a p i 进行统计和查询,或者通过系统工具导出到系统外部。另外,此接口还要提供系统管理与过程控制的功能,如:系统过程数据的备份和恢复,用户管理等。2 1 4 工作流过程建模1 工作流元数据模型为了提供一个访问和描述工作流定义的公共方法,引入工作流元数据模型( m e t a d a t am o d e l ) ,这个模型确定了过程定义中用到的一般的实体,这些实体都有不同的属性,不同厂商开发的工具可以根据公共的交换形式向工作流运行环境传送这些模型,传送可以通过a p i 实现,也可以通过批量( b a t c h ) 传送实现。因此工作流管理联盟为工作流过程定义定义了一个元模型,它使用一些对象描述工作流过程以及它们之间的关系,以后可以通过多种途径来扩展元模型的功能,譬如添加对象类型。工作流元数据模型( 如图2 3 所示) 提供了过程定义交换中用到的基本的实体及其属性,它们是工作流过程的组成部分,包括:工作流过程定义:包括工作流过程名字,版本号,过程开始和终止的条件以及安全级别、作者和其他工作流控制数据等属性。工作流过程活动:包括活动名称、活动类型( 原子级活动、子过程) 、活动的前后条件、调度约束参数等属性。转换条件:为过程实例的推进提供导航,主要分为工作流过程条件( n o wc o n d i t i o n s ) 和执行条件( e x e c u t i o nc o n d i t i o n s ) 。工作流相关数据:是工作流机执行任务推进的依据,包括数据名称、类型和值等属性。角色:是描述企业业务过程中参与操作的人员和组织单位,主要包括角色名称、能力和组织实体等属性。角色或组织实r 体决定了参与某个活动的人员或组织基于j 2 e e 体系结构的| t 作流管理系统的研究与开发单元。需要激活的应用程序:指完成企业业务过程所需要的工具或手段c 1 ,包括应用程序的类型、名称、路径以及运行参数等属性。图2 3 工作流元数据模型2 过程定义语言工作流过程定义输入输出接口的定义,将过程定义和运行执行环境分离【s 】。我们可以使用不同的工具进行工作流建模,定义,描述具体的业务过程。符合公共转换格式的过程定义可以被不同的工作流系统执行解释。工作流管理联盟于2 0 0 2 年1 0 月2 5 日发布了x p d l ( x m lp r o c e s sd e f i n i t i o nl a n g u a g e ) 1 0 ,通称为工作流过程定义语言,是工作流业内的第一个官方标准。w f m c 在总结了近几年的收获,并吸收o m g 在2 0 0 4 年发布的b p m l 的独具的概念,在2 0 0 5 年颁布了x p d l 2 o 。x p d l 是一个通用的框架,这也是x p d l 的一个重要特性,这个框架可以支持开发者的特殊使用目的,而对外表现形式却相同。开发者的实现和它的外部接口可以独立分开,因为不管你是如何实现的,采用什么图形描述( 状态图,活动图等) ,只要外部接口符合x p d l 规范,那么就可以保持相同的表示形式【】。目前已经开发出了基于x p d l 的可视化的过程定义工具,比较著名的有j a w e 。它可以图形化的定制业务过程,并有检错能力,生成x p d l 的文档可直接导入工作流机执行。另外,由于各个厂商都研究自己的工作流产品,所以他们各自开发自己的过程定义语言,譬如,b p m l ,w s c i ,b p e l 。2 1 5 状态转换w f m c 为过程实例和活动实例的状态转换制定了相应的标准。本节将详细介绍过程和活动实例的状态转换。硕士学位论文2 过程状态转换w 蹦c 制定的过程实例状态转换图如图2 4 所示:图2 4 过程实例状态转换初始( i n a c t i v e ) :一个过程实例已经产生,但不满足开始执行的条件。准备运行( a c t i v e ) :过程实例已经开始执行,但不满足执行第一个活动并生成第一个任务项的条件。运行中( r u n n i n g ) :一个或多个活动已经开始执行( 已经生成一个工作项并分配给合适的活动实例) 。挂起( s u s p e n d e d ) :过程实例正在运行,但处于静止状态,除非有一个“重启”命令使该过程实例回到准备运行状态,否则所有的活动都不会执行。结束( c o m p l e t e d ) :过程实例满足结束的条件,工作流管理系统将执行过程实例结束后的操作( 如统计) ,并删除该过程实例。,终止( t e r m i n a t e d ) :过程实例产生异常,被迫终止,工作流管理系统将执。行补救措施,并删除该过程实例。2 活动状态转换w 似c 制定的活动实例状态转换图如图2 5 所示:图2 5 活动实例状态转换图就绪( i n a c t i v e ) :活动实例已经生成,但没有执行。运行( a c t i v e ) :活动正在执行。挂起( s u s p e n d e d ) :活动实例在资源不满足的条件下,处于阻塞状态。完成( c o m p l e t e d ) :活动实例执行完毕,进入资源回收阶段。就绪( i n a c t i v e ) 挂起( s u s p e n d e d ) :刚建立的活动实例因资源得不到满足而被阻塞。人工活动中,因参与者没有选择该任务,活动就被阻塞;对于自动基于j 2 e e 体系结构的- t 作流管理系统的研究与开发类型的活动,外部应用程序没有响应也会使活动实例进入被阻塞状态。挂起( s u s p e n d e d ) 就绪( i n a c t i v e ) :活动需要的资源得到了响应,或者工作流参与者对该活动进行了选择,使之进入就绪状态。就绪( i n a c t i v e ) 运行( a c t i v e ) :活动正在执行中。运行( a c t i v e ) 就绪( i n a c t i v e ) :活动在执行中遇到异常,重新回到就绪状态。运行( a c t i v e ) 完成( c o m p l e t e d ) :活动顺利执行完成。2 2 开源工作流引擎s h a r k 介绍目前,市场上的工作流产品层出不穷,各具特色。作为学习的范例,各种开源工作流产品是首选,其中比较有名的有s h a r k 、j b p m 、o s w o r k n o w 、o p e n w f e 。而在如此多的开源工作流项目中,s h a r k 更以它独特的优势赢得广大研究人员的青睐。下面将介绍s h a r k 区别于其它工作流引擎的优点。首先,s h a r k 是业内唯一完全根据w 蹦c 和o m g 规范实施的,可扩展功能的工作流引擎,它使用x p d l 语言定义过程,拥有位于服务器端的用于活动节点执行的w f m c 工具代理a p i 【3 ,】。此工具代理a p i 可以服务于j a v a s c r i p t ,j d b ca c c e s s ,e j ba ;c c e s s ,p u r ej a v ac l a s s e s ,c o r b ac a l l s ,e m a i l ,w e b s e n ,i c e 的调用。其次,s h a r k 使用x p d l 语言描述业务过程,有比较成熟的图形化的过程定义工具j a w e 作为配套产品为过程定义提供支持。第三,过程的存储和活动的实例化通过一个可配置的持久层a p i 完成。s h a r k l o 将轻量级e n h y d r ad o d s0 rm a p p i n g作为标准持久层,同时支持j 2 e ee j b 持久层,实现了h i b e r n a t e 持久层。第四,s h a r k l o 中的每个组件例如持久层、事物管理器、脚本引擎和过程库,不但可以按照标准实施运行,而且可以被具体项目的模块扩展和替换。实施过程中,只需要修改配置文件中相应的参数即可。所以,s h a r k 又具有高度的可配置性。最后,s h a r k 的使用非常简单。它既可以被用作s e r v l e t 和s w i n g 程序的一个简单程序库,又可以运行在j 2 e e 容器当中,甚至可以当作w e b s e r v i c e 被访问。s h a r k 是基于j 2 e e 的工作流平台,因此能充分利用j 2 e e 平台所提供的所有优势和特点。通过将s h a r k 作为普通的“j a v al i b e r a r y ”或部署为c o r b a 服务来使用,可以非常简便的使用s h a r k 提供的服务,实现工作流的管理和监控,支持动态工作流的开发,并且适用于过程可变迁的工作流管理系统。s h a r k 工作流引擎是整个系统的核心部分,采用模块化设计,各模块彼此独立,通过客户端接口向用户提供服务。s h a r k 总体架构图如图2 7 所示。它详细描绘了s h a r k 的接口信息,包括了各个核心模块。硕士学位论文图2 6s h a r k 总体架构图w d f 接口完成过程定义的解析。首先将幸x p d l 文件读入工作流引擎,进行解析,在引擎中将解析后的对象通过持久层存储到数据库中。a d m i n i s t r a t i o na p i是s h a r k 为用户提供的接口,通过此接口,用户可以获得更多的管理接口,从而对工作流引擎进行更多的管理性操作。c o r b aa p i 是由o m g 提出的工作流定义接口,通过实现这些接口,s h a r k 可以部属到c o r b a 环境中,或者e j b 容器等服务器环境中,为远程登录用户提供流程调度和引擎控制等功能。k e m a l 是s h a r k的核心模块,s h a r k a p i 中的大部分接口在此单元中实现,实现主要分成两类i m p l e m e n t a t i o n 部分和w r a p p e r 部分,i m p l e m e n t a t i o n 为s h a r k 内部实现对象,用户可以重新实现这些引擎的内部类,通过在配置文件中的灵活配置,可以让引擎使用用户定义的接口实现,充分体现了s h a r k 引擎超强的灵活性和可扩展性。w r a p p e r 为客户( c l i e n t ) 端实现对象,遵循o m g 规范,两者之间使用a d a p t o r模式结合。t r a n s a c t i o na p i 是s h a r k 内部事务处理接口,s h a r k 的k e r n a l 依赖此接口创建一个与数据库交互的事务【,s 】。另外还包括一系列关于用户管理、过程实例审计信息处理、任务安排以及资源和应用匹配等方面的接口。通过这些接口,实现过程的运转、监控和维护。s h a r k 提供了s w i n gg u i ,实现对过程的监控和管理以及任务的分配。另外,还包括一个s w i n g 和一个j s f 的工作列表处理的例子。当然,这些例子过于简基于j 2 e e 体系结构的工作流管理系统的研究与开发单,还不能满足实际的需求,但它展示了一个使用s h a r k 的方法。通过一个工具代理接口( t 0 0 la g e n t sa p i ) 实现对外部应用程序的调用。目前,实现了六类工具代理,用户也可以开发自己的工具代理,只需要在配置文件中做相应的工具代理的配置即可使用。与数据库的交互通过可配置持久层。s h a r k 通过持久化工具包完成p o j o 到关系数据库的转换。s h a r k 提供了两类持久层实现,默认的是轻量级的d o d s 实现,此外还包括当前应用非常广泛的h i b e r n a t e 实现。s h a r k 支持一切0 r 关系数据库,包括d b 2 ,p o s t g r e s q l ,m y s q l ,o r a c l e ,s y b a s e ,m s q l ,默认配置的是h s q l 文件数据库,用户可以配置成自己需要的数据库类型。硕士学位论文3 1j 2 e e 的概念第3 章j 2e e 体系结构j 2 e e 是j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n 的简称。它是j a v a2 平台3 个颁布版本中的一个,此j a v a2 平台企业版适用于创建服务器应用程序和服务。美国s u n 公司在19 9 9 年推出j a v a 2 技术及相关j 2 e e 规范。该规范定义了一个多层企业信息系统的标准平台,旨在简化和规范企业应用系统的开发和部署。目前,j 2 e e 规范已更新至1 5 。j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。j 2 e e 技术的基础是核心j a v a 平台或j a v a2 平台的标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如“一次开发,多处运行的特性、方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安全模式等等,同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v as e n r l e t sa p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j 2 e e 降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。3 2j 2 e e 的优势s 吼公司推出j 2 e e 规范的目标是:提供平台无关的、可移植的、支持并发访问和安全的,完全基于j a v a 的开发服务器端中间件标准。使用j a v a 开发应用程序具有“一次开发,多处运行的特性,开发的应用程序可以配置到包括w i n d o w s 在内的任何服务器端运行环境中去。j 2 e e 规范下,应用程序的开发采用组件模式。如若将来系统需要扩展,原来的组件无须改变,可直接使用。基于组件的开发,可以使开发者专注于业务逻辑的实现,而其余复杂的功能( 如分布式事务处理、自动容错等) 则由厂商负责实现,降低了对开发者编程水平的要求,也减轻了他们的负担,同时缩短企业进入市场的时间。j 2 e e 优势包括如下几个方面:基于j 2 e e 体系结构的工作流管理系统的研究与开发1 高效的开发j 2 e e 允许公司把一些通用的、很繁琐的服务器端任务交给中间件供应商去完成。开发人员只需要将精力集中在如何创建商业逻辑上,缩短了开发时间。高级中间件供应商可提供以下复杂的中间件服务:( 1 ) 状态管理服务,使开发人员不用关心如何管理状态,减少了代码的编写量,缩短程序开发周期。( 2 ) 持续性服务,使开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧的、与数据库无关的、更易于开发与维护的应用程序。( 3 ) 分布式共享数据对象c a c h e 服务,可使开发人员编制高性能的系统,极大提高整体部署的伸缩性。2 保留现存的i t 资产由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的( 而不是激进的,全盘否定的) 方式建立在已有系统之上的服务器端平台机制是公司所需求的。j 2 e e架构可以充分利用用户原有的投资,如一些公司使用的b e at u x e d o 、i b mc i c s 、i b me n c i n a 、i n p r i s ev i s i b r o k e r 以及n e t s c a p ea p p l i c a t i o ns e r v e r 。这之所以成为可能是因为j 2 e e 拥有广泛的业界支持和一些重要的企业计算领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的j 2 e e领域的升级途径。由于基于j 2 e e 平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。3 可伸缩性企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于j 2 e e 平台的应用程序可被部署到各种操作系统上。例如可被部署到高端u n i x 与大型机系统,这种系统单机可支持6 4 至2 5 6 个处理器。( 这是n t 服务器所望尘莫及的) j 2 e e 领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度

温馨提示

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

最新文档

评论

0/150

提交评论