(计算机应用技术专业论文)基于ejb构件技术的发电厂工作流平台的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于ejb构件技术的发电厂工作流平台的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于ejb构件技术的发电厂工作流平台的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于ejb构件技术的发电厂工作流平台的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于ejb构件技术的发电厂工作流平台的设计与实现.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

摘要 f i i iirlri i iii iii l li ii ii 17 9 616 2 工作流技术广泛应用于发电企业信息化建设中,然而许多现存的工作流系统存 在业务流程与具体程序紧密耦合的特点。为了消除这个缺点,方便系统的管理维护, 本文提出了基于e j b 构件技术的工作流平台。本文首先从工作流原理、工作流参考 模型和工作流运转模型等方面对工作流技术进行了深入研究。其二结合发电企业业 务特点,从功能结构和系统结构层次两个方面,对系统进行了整体设计。其三,根 据工作流平台整体设计方案,详细阐述了工作流平台的两个重要组成模块即流程建 模模块和流程引擎模块的设计思路和核心算法。其四,采用e j b 构件技术,对系统 进行了开发实现。最后,用一个实际的应用流程对系统进行了测试,从而验证了系 统的可用性和高效性。 关键词:e j b 构件,工作流建模,工作流引擎 a b s t r a c t w o r k n o wt e c l u l 0 1 0 9 yi sw i d e l yu s e di n t h ei n f o r m a t i o nc o n s t r u c t i o no fp o w e r g e n e r a t i o ne n t e r p r i s e h o w e v e r , m a n ye x i s t i n g w o r k f l o ws y s t e m sh a v et h ec l o s e c o u p l i n gp r o b l e m sb e t w e e nt h eb u s i n e s sp r o c e s s e sa n ds p e c i f i cp r o c e d u r e s i n o f d e rt o s 0 1 v et h i sp r o b l e ma n dp r o v i d ec o n v e n i e n c ef o rs y s t e m sm a n a g e m e n ta n d m a i n t e l l a i l c e , t h i sp a p e rp r e s e n t saw o r k f l o wp l a t f o r mb a s e do ne j bc o m p o n e n tt e c h n o l o g y t h i sp a p e r h a sm a d eat h o r o u g hs t u d yo nt h ew o r k f l o wt e c h n o l o g yf r o mt h ew o r k f l o wp r i n c i p l e s , r e f e r e n c em o d e l ,o p e r a t i o nm o d e la n do t h e ra s p e c t so nt h eb e g i n n i n g t h e n ,c o m b i n i n g t h ep o w e re n t e r p r i s e s b u s i n e s sf e a t u r e s ,a no v e r a l ld e s i g no fw o r k f l o ws y s t e m w a sm a d e f r o mt h ef u n c t i o ns t r u c t u r ea n ds y s t e ml e v e la s p e c t s a c c o r d i n gt ot h ed e m a n da n d t h e o v e r a l ld e s i g np l a n ,t h ed e s i g ni d e a sa n dt h ec o r ea l g o r i t h m o ft h et w o 蛐p o r t a n t m o d u l e si nw o r k f l o wp l a t f o r m ,t h e f l o wm o d e l i n gm o d u l ea n dt h ew o r k f l o we n 9 1 n e m o d u l e a r eg i v e nad e t a i l e dd e s c r i p t i o n f i n a l l y ,t h es y s t e mi si m p l e m e n t e du s m gt h e e j bc o m p o n e n tt e c h n o l o g ya n dar e a lf l o wi su s e dt ot e s tt h es y s t e mt o m a k es u r et h e s y s t e m sa v a i l a b i l i t ya n dp r o c e s sd e v e l o p m e n t sh i g he f f i c i e n c y f e n gs u x i n ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yp r o f w uk e h e k e yw o r d s :e j bc o m p o n e n t ,w o r k f l o wm o d e l i n g ,w o r k f l o we n g i n e 华北电力大学硕士学位论文 目录 摘罩量 a b s t r a c t 第一章引言 1 1 课题研究背景及意义 1 1 1 课题研究背景二 1 1 2 课题研究意义。 1 2 国内外研究动态:3 1 2 1 国外研究动态3 1 2 2 国内研究动态3 1 3 论文内容及组织结构4 第二章工作流技术研究5 2 1 工作流基本原理和概念。5 2 2 工作流参考模型6 2 3 工作流引擎技术一8 2 3 1 工作流引擎设计思想8 2 3 2 工作流运转模型9 2 5 本章小结1 l 第三章工作流平台的分析与设计1 2 3 1 需求分析1 2 3 2 总体设计1 2 3 2 1 功能结构设计1 2 3 2 2 系统层次设计1 4 3 3 模块详细设计1 5 3 3 1 流程建模模块的详细设计1 5 3 3 2 流程引擎模块的详细设计1 8 3 3 2 1 工作流引擎主要功能一18 3 3 2 2 工作流引擎结构设计18 3 3 2 3 工作流引擎核心技术一2 0 3 4 数据库设计2 2 3 5 本章小结2 7 第四章工作流平台的实现2 8 4 1 系统实现总体方案2 8 华北电力大学硕士学位论文 4 2w e b 层实现 4 3 业务层实现 4 3 1 会话b e a n 的实现31 4 3 2 实体b e a n 的实现3 2 4 4 本章小结3 3 第五章系统实例验证3 4 第六章总结与展望3 8 6 1 论文完成的主要工作3 8 6 2 未来展望3 8 参考文献3 9 至j 【谢4 l 在学期间发表论文和参加科研情况4 2 华北电力大学 1 1 课题研究背景及意义 第一章 1 1 1 课题研究背景 随着现代计算机技术和互联网技术的 息时代给人们的生活带来了翻天覆地的变化,同时也使企业的经营管理受到了极大 的挑战。从上个世纪9 0 年代开始,各大企业陆续开始了企业信息化建设的工作, 建立了许多业务系统,为企业带来了巨大的经济效益。但随着信息化建设的不断开 展,企业可能又会面临另外一个问题:即企业内部存在多套业务系统并存且相对独 立,彼此间不能进行有效信息交换的状况,产生了“信息孤岛 的现象。【1 】为了消 除“信息孤岛,产生了许多新的技术和方法,例如面向服务的体系结构 ( s e r v i c e o r i e n t e da r c h i t e c t u r e 。简称s o a ) 2 1 、企业应用集成( e n t e r p r i s ea p p l i c a t i o n i n t e g r a t i o n ,简称e a i ) 3 】等。而在众多技术中,工作流技术凭借自己特点,也一直受 到众多人的青睐。 工作流就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任 务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相 互衔接、自动进行的业务活动或任务。 在企业的信息化建设方案中,工作流技术已成为必不可少的内容之一。从简单 的办公自动化( o f f i c ea c t i o n 。简称o a ) 系统的研发,到企业e r p 系统的实施,再到 为提高企业效率而出现的企业业务流程重组( 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 ) 【4 】及业务流程管理( b u s i n e s sp r o c e s sm a n a g e m e n t ,简称b p m ) 5 】软件,工作流 技术都发挥着相当重要的作用。 有人说“当数据管理从应用中分离出来的时候,形成了数据库管理系统,程序 员在编写程序的时候,就不需要再来考虑数据的管理;当过程管理从应用程序中分 离出来的时候,形成工作流管理系统,此时,程序在编写应用程序的时候,就不需 要再来考虑业务过程的管理。 【6 】甚至有人预言,在下一个5 0 年,依托于工作流技 术的业务管理软件将会和数据库管理系统一样,成为商用软件市场的核心应用。 鉴于工作流技术在企业信息化建设中的突出作用,国内外各大厂商和研究人 员,也都纷纷投入大量时间与资金开发相关的工作流管理系统和工作流开发平台。 工作流平台主要为基于流程整合应用的企业信息化软件提供强大的底层支撑平台, 例如客户关系管理、企业资源计划等涉及到工作流的企业应用的实现,企业内网的 办公自动化或审批流程应用等。 华北电力大学硕士学位论文 1 1 2 课题研究意义 在电力行业实行“厂网分开,竞价上网的政策后,发电企业作为一个独立的 主体,参与市场的竞争。【7 】为了增强企业的管理水平和竞争力,各大发电企业都进 行了信息化建设。而在这期间,工作流技术广泛应用到采购、人力资源、设备检修 等业务处理过程中,特别是涉及到申请、审批处理的过程。例如,在物料管理系统 中,从物料的需求计划到物料采购,再到最后的库存和库房管理,都是依靠工作流 技术,才使相关的数据和文档在系统中得到传递,使相应的工作任务落实到具体的 岗位。在设备管理系统中,机组设备的管理和维护工作,例如维护通知单和维护订 单同样是依靠工作流,使其流转到具体的责任人。而在办公自动化系统中,工作文 件的下发和传递,更是离不开工作流技术。 采用工作流技术,可以确保业务处理按照预定的工作步骤进行正确的次序触 发,自动将任务或通知送达相关责任人,实现了系统中业务数据、流程和系统用户 之间的无缝连接。此外,工作流的监查和控制功能,还可以记录任务处理的相关情 况,例如处理责任人的处理时间、处理意见等相关信息,这为企业日后对员工的绩 效考核提供了有力的数据。 然而,工作流技术给企业信息化建设带来利益,给员工工作带来便捷的同时, 也使一些人产生了一个疑问:既然物料管理系统、设备管理系统、o a 系统等,都 采用工作流技术,那为什么不能把它们集成在一个统一的平台里,而是要分别开发, 独自管理,形成不同的管理系统呢? 其实,在传统的工作流管理系统的开发过程中,系统开发人员往往将业务处理 过程直接写到程序中,即业务与程序紧密耦合,所以,尽管采用了相同的技术,可 是不同业务还是要对应不同系统。这样,不但加长了系统的开发时间,增加了企业 的开发成本,还加大了企业管理的工作量。而且,这种业务与具体程序的高耦合度, 也为系统的后期维护工作增加了难度。一旦业务中某个模块发生变化或流程的参与 岗位发生变化,企业就不得不再次请原来的系统开发人员对系统进行升级甚至是重 新开发。 而工作流平台,正是为了解决以上问题而设计开发的。在工作流平台上,一个 新业务流程的建立,不再需要系统开发人员手工编写大量代码,而是只需要在平台 上完成两个步骤:第一,根据业务流程进行建模;第二,对模型中的各个节点进行 相关配置,例如设定流程参与者、流程跳转条件等。然后,新的业务流程就可以应 用到实际的生产环境中。如果流程的业务发生变化,相关人员也只需对流程配置进 行更新即可。这样,不仅减少了新系统的开发时间和成本,也降低了业务与程序的 耦合度,方便了企业相关人员对系统的后期维护管理。而且,在工作流平台上,可 以对各个业务流程的执行情况进行统一监控,方便了管理。 2 华北电力大学硕士学位论文 1 2 国内外研究动态 1 2 1 国外研究动态 鉴于工作流技术在企业信息化建设中的突出作用,国内外各大厂商和 员,也都投入大量时间与资金开发相关的管理系统和平台。 在国外,基于工作流的相关产品比较丰富,工作流技术也从早期主要应用于办 公自动化领域扩展到了其他各个领域。尤其是近些年来,随着新技术的发展,出现 了许多基于s o a 、基于w e b 的分布式的工作流管理系统。而且,随着企业全球化 或产品全球化的发展,许多厂商也把自己的产品从单纯的工作流( w o r k f l o w ) 层次 升级到了业务流程管理( b p m ) 层次,使得系统不仅涵盖了传统“工作流一的流程 传递、流程监控的范畴,还为企业业务流程管理和优化提供了强有力工具。 目前,市场上比较著名的产品有l o t u s 公司的d o m i n o n o t e s 办公自动化系列 软件,i b m 的w e b s p h e r em q 产品线( 即以前的m q s e r i e s ) 和f i l e n e tb p m ,s a p 的n e t w e a v e r 及o r a c l e 公司的相关产品等。除了上述商用软件外,还有大量开源的 产品,例如基于j 2 e e 框架下的j b p m 、o s w o r k f l o w 、o p e n w f e 等,基于n e t 框 架的n e t b p m 、w o r k f l o w n e t 等。i s h 9 1 相比之下工作流技术在研究方面进展要落后于商业应用。目前,国外许多科研 机构和学校开展了相关的研究工作,也取得了不少研究成果。比较著名的有i b m 公 司a m la d e n 研究中心研究开发的分布式工作流管理系统e x o t i c a f mq m t m 】,美国佐 治亚大学计算机系研究开发的具有自适应性的工作流管理系统m e t e o r 儿】,欧洲多机 构合作开发的基于分布式主动数据库技术的w i d e 工作流系统【1 2 1 ,瑞士联邦银行和 萨尔兰大学共同研究的基于状态和活动图的m e n t o r 工作流系统【l3 1 ,惠普实验室的 o p e n p m 工作流系统,德国埃朗根大学的m o b l e 工作流系统等。 1 2 2 国内研究动态 相比国外,国内对工作流的理论研究起步较晚,当前在这方面研究比较多的国 内学者主要有清华大学的范玉顺、史美林等。此外,中科院、北京航空航天大学、 浙江大学等高校及研究所也对工作流技术展开了相应的研究。 在相关产品方面,近几年来也涌现出一批优秀的软件产品。例如普元s o a 业务 流程平台套件、炎黄盈动公司的a w sb p m 业务流程管理开发平台、上海东兰科技 的l i v e f l o w 系统、西安协同时光软件公司的s y n c h r o f l o w 工作流平台等。相比国 外产品,它们更符合国内企业的特点,并已被广泛应用于金融领域、电信领域、大 型企业及政府等核心业务系统中。 3 华北电力大学硕士学位论文 1 3 论文内容及组织结构 本论文的主要研究任务是采用e j b 构件技术,完成发电厂工作流平台的设计与 实现。因此,本课题需要研究的内容有以下几方面:首先深入学习了工作流的基本 原理以及相关模型,然后。根据发电厂自身业务特点,详细设计工作流平台。最后, 采用e j b 构件技术,实现工作流平台,并对其进行验证。 本文由六部分组成: 第一章是绪论。阐述了论文的研究背景和意义,并介绍了国内外学者和厂商对 工作流技术的研究动态及相关产品。 第二章是工作流技术研究。本章重点介绍了工作流基本原理和相关概念,以及 工作流参考模型和工作流引擎技术等。 第三章是工作流平台的分析与设计。首先根据发电厂自身业务及已存在工作流 系统的特点,对工作流平台进行了需求分析,其次分别从功能和层次上,阐述了系 统的整体设计。接着重点介绍了工作流建模模块和工作流执行引擎模块的设计。最 后,介绍了系统的数据库设计方案。 第四章是工作流平台的实现。在需求分析和平台设计的基础上,利用e j b 构件 技术,实现了工作流平台。 第五章是系统实例验证。这里将以一个实际的例子“督查督办 流程,来展示 流程从建模到执行的全过程。 第六章是总结与展望,总结了本文完成的主要工作,并对进一步工作进行了展 望。 4 华北电力大学硕士学位论文 第二章工作流技术研究 2 1 工作流基本原理和概念 ( 1 ) 工作流定义 工作流的英文名称是w o r k f l o w ,由w o r k 和f l o w 两部分组成,其中w o r k 可以 理解为企业中的工作或者任务( t a s k ) ,也称为活动( a c t i v i t y ) ;f l o w 意为流动,也 可表示流程,在企业的经营管理和生产组织中可以代表物料传输过程的物料流、资 金流动的资金流,信息处理和传递过程的信息流等。【1 4 1 工作流管理联盟对工作流的定义是自动运作的业务过程部分或整体,表现为参 与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说, 工作流就是一系列相互衔接、自动进行的业务活动或任务。【 】 ( 2 ) 工作流中的相关名词 工作流管理联盟对工作流中相关名词定义如下: 工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e m ) 是利用软件定义工作流、创 建工作流和管理工作流执行的系统,运行在一个或多个工作流引擎上,工作流引擎 能够解释工作流的定义、和工作流参与者交互并能在需要时触发l t 工具和应用系 统。它应该包括以下特性: 定义工作流并建模,包括具体的活动、规则等,这些定义可同时被人以及系 统所理解; 遵循定义,创建和运行实际的工作流实例; 监察、控制、管理运行中的业务,例如任务的进度、工作量统计等。 业务过程( b u s i n e s sp r o c e s s ) 即活动的集合,这些活动均关联于特定的委托事 项,为过程的产出增值。对于工作流,我们应该从更深一层理解其含义,及专指基 于信息技术规划、运作、管理的业务过程。 流程定义( p r o c e s sd e f i n i t i o n ) :业务流程的形式化表示,例如根据业务情况进 行流行建模。流程的描述是由活动和活动之间的关系、指明流程开始和结束的规则、 单个活动的信息( 例如参与者) 、相关的i t 应用程序和数据等组成的。 活动( a c t i v i t y ) :完成流程中一个逻辑步骤的工作的描述一个活动可以是手 工活动或者自动活动。对于手工活动,流程执行到此活动时会暂停等待,直到相关 人员操作激活后,才能继续执行。而自动活动是计算机自动运行,不需要人工干预。 例如常见的审批任务属于手工活动,需要相关人员选择“通过 或“不通过后, 流程才能按照流程定义继续执行。又例如在一个资金申请流程中,如果金额大于某 华北电力大学硕士学位论文 个界限时,需由总经理批准,当小于这个界限时,部门经理批准即可,此时判断金 额的活动就是自动活动,是由计算机自动进行,不需要人工干预。 实例( i n s t a n c e ) :一个流程、活动及其相关数据的单个执行表示。每个实例表 示流程或活动执行的一个独立线程,实例之间互不相干,有自己的内部状态和外部 可视的标示符。实例分为两种,即流程实例( p r o c e s si n s t a n c e ) 和活动实例( a c t i v i t y i n s t a n c e ) 。流程实例是流程定义的单个执行的表示;活动实例是一个流程实例中一 个活动的表示。 路由( r o u t i n g ) :流程实例中活动实例之间的关系,基本的路由关系有:顺序、 选择、派生、合并、同步等。 ( 3 ) 工作流的特征 自动( a u t o m a t e ) 是工作流的一个主要特征,主要是指它自动进行的特征。工 作流实际是一个“人机 协调处理的混合过程,在一个实际的工作流中,通常总有 些步骤是人完成的。协调是工作流管理的一个目标或者特征,这包括了人与人、人 与电脑,电脑( 软件) 之间等多种层面的含义。 监察( m o n i t o r i n g ) 与控制( c o n t r 0 1 ) 是也工作流系统重要功能与特征。其中 不仅包括了现在发生的业务过程,还包括它的定义和改变。 2 2 工作流参考模型 工作流模型包括了描述一个能够由工作流执行服务软件系统执行的过程所需 要的所有信息。这些信息包括过程的开始和完成条件、构成过程的活动以及进行活 动间导航的规则、用户所需要完成的任务、可能被调用的应用、工作流机的引用关 系,以及所有参与工作流相关数据的定义。1 1 6 工作流管理联盟给出的工作流参考模型如图2 1 所示: 6 图2 1i 作流参考模型 ( 1 ) 流程定义工具 流程定义工具以计算机能够处理的形式进行流程定义,例如可能通过图形方式 把复杂的流程定义显示出来并加以操作。流程定义工具应输出一个能被工作流引擎 解释并执行的流程定义。流程定义时,可定义以下内容: 工作流定义:它一般包括诸如工作流模型名称、版本号、流程启动或终止条件、 监控和控制信息等一系列基本属性。流程定义反映了企业中一个经营过程的目的, 即这个流程要实现的目的和最终达到的目标是什么。 活动定义:主要包括活动的名称、活动类型( 手工活动、自动活动、子流程等) 、 约束参数等。活动对应企业经常过程中的任务,主要反映完成企业经营过程需要执 行哪些功能操作。 路由关系定义:主要负责为流程实例的推进提供导航依据,主要参数包括工作 流过程条件( 流程实例向前推进的条件) 、执行条件( 执行某个活动的条件) 和通 知条件( 通知不同用户的条件) 。路由关系对应于企业进程过程中的业务规则和操 作顺序。 工作流相关数据:工作流引擎根据工作流相关数据和转换条件进行推进。工作 流相关数据的属性包括数据名称、类型和数据值等。它是工作流引擎执行任务推进 的依据。如在一个资金申请流程中,申请的金额值决定了下一个执行活动是什么, 比如大于某个界限时,需由总经理处理,当小于这个界限时,部门经理处理即可。 角色定义:角色属性主要包括角色的名称、权限等。角色决定了参与某个活动 7 华北电力大学硕士学位论文 的人员或者组织单元。它主要描述企业经常活动中参与操作的人员和组织单位。 ( 2 ) 工作流执行服务与工作流引擎 工作流执行服务是工作流管理系统的核心,它可以看成是企业的业务操作系 统。企业的业务过程在它的管理、监控和调度下运行。工作流执行服务由一个或多 个工作流引擎组成,它的主要功能包括:实例化及执行流程模型;为过程和活动的 执行进行导航;与外部资源交互完成各项活动;维护工作流控制数据和工作流相关 数据。 ( 3 ) 客户端应用 客户端应用是通过请求的方式同工作流执行服务交互的应用,也就是说是客户 端应用调用工作流执行服务;客户端应同工作流执行服务交互。例如当用户登录系 统后,可以看到自己处理过的工作列表和需要处理的工作列表,并且用户可以查看、 办理需要处理的工作。 ( 4 ) 调用应用 调用应用是被工作流引擎在执行服务时调用的应用,调用应用同工作流执行服 务交互。 ( 5 ) 系统管理和监控工具 系统的管理和监控工具能够对工作流在整个组织内的流动状况进行监视,并提 供一系列的管理功能,实现安全性、过程控制和授权操作等方面的管理。而且,它 还可以记录流程实例的执行情况,为日后员工的绩效考核提供相关数据。 2 3 工作流引擎技术 2 3 1 工作流引擎设计思想 工作流引擎是为流程实例提供运行环境并解释执行流程实例的软件部件。它是 工作流执行服务的核心,是执行企业经营过程的“业务操作系统 的内核。 目前市场上存在许多工作流产品,但由于不同产品采用了不同的工作流模型, 所以引擎的设计思想也不相同,这里只对几种流行的设计思想进行分析。 ( 1 ) 基于有限状态机理论的工作流引擎 有限状态机( f i n i t es t a t em a c h i n e ,简称f s m ) 是表示有限个状态以及这些状 态之间的转移和动作等行为的数学模型。采用此理论为基础的典型产品是 o s w o r k f l o w 。 o s w o r k f l o w 是p e n s y m p h o n y 组织基于j a v a 语言编写的一套开源工作流引擎。 它最基本的f s m 包含三部分:s t a t e s ,s t a r ts t a t e ,t r a n s i t i o n a c t i o n s 。其中s t a t e s 是 指流程执行中的一系列状态,t r a n s i t i o n 是指一个状态( s t a t e ) 到另一个状态的( s t a t e ) 8 华北电力大学硕士学位论文 的变迁,a c t i o n s 则是驱动变迁发生的动作。【1 7 】 o s w o r k f l o w 的基本思想是执行某一个动作( a c t i o n ) ,并将状态由状态a 变成状 态b 。对于状态的改变,可能是由一个步骤变迁到另一个步骤,例如由“填写表单 变迁为“领导审核,也可能是当前步骤的状态发生变化,例如当前步骤由“执行” 变成“挂起等待 。状态的变迁,随着也会触发一些相应的处理。 ( 2 ) 基于令牌驱动的工作流引擎 采用令牌驱动的工作流引擎的基本思想是:当产生一个流程实例时,会同时为 此流程实例分配一个令牌。此后,令牌会随着流程的运行在不同的流程节点间传递, 只有拥有令牌的流程节点,才有执行的权利。同时,令牌在流程中的位置,也可以 显示出流程实例目前的执行状况。采用这种思想的典型产品是j b p m 3 。 j b p m 3 也是一套开源产品。它的令牌( t o k e n ) 记录了当前的状态,即哪些节 点拥有执行权。当令牌发出信令( s i g n a l ) 后,当前状态接收信令,并把令牌传给 该信令指定的变迁( t r a n s i t i o n ) 。变迁收到令牌后,马上将其传给下一个状态。根 据令牌的位置,流程的状态已经发生了改变。【1 8 】 ( 3 ) 基于事件驱动的工作流引擎 事件驱动的过程链( e v e n t d r i v e mp r o c e s sc h a i n ,简称e p c ) 模型最早由k e l l e r 提出,是一种用来描述企业事件和经营过程的方法。它主要元素是功能和事件,其 中,事件描述了状态的发生,同时又扮演着触发器的角色,而功能描述了一个任务 的执行,代表了一个开始事件和结束事件的转换过程。【1 9 l 目前采用此种思想的工作流引擎产品还相对较少,比较具有代表性的产品是 s a pr 3 。不过由于此产品不是开源产品,所以使用者还相对较少,但是这种思想正 在吸引越多越多的人关注。 2 3 2 工作流运转模型 工作流引擎通过流程中活动之间的路由规则,来驱动流程运转。a a l s t 等人在 w o r k f l o wp a t t e r n 中提出了2 2 种常见的工作流模式,这里我们只介绍常见的六种: 顺序、并发分支、选择分支、互斥分支、并发汇合、选择汇合。 2 0 1 ( 1 ) 顺序 顺序模式是工作流运转模型中最基本的模式。它按照流程定义,一个节点接一 个节点的执行,除了开始和结束节点外,每个节点只有一个前驱节点和后续节点。 如果前一个节点未完成,则后续节点也不能执行。如图2 2 所示,任务2 只有在任 务l 完成后才能继续执行,而任务3 要等到任务2 完成后才能执行。 华北电力大学硕士学位论文 图2 2 顺序模式 ( 2 ) 并发分支 并发分叉是指在一个节点运行完成后,后续有两个或者更多个节点,并且它们 同时开始执行,此模式又叫“与模式。如图2 3 所示,任务1 完成后,任务2 和任 务3 同时开始执行,任务2 和任务3 之间是并发关系。 图2 3 并发分支模式 ( 3 ) 选择分支 选择分叉是指在一个节点运行完成后,后续的节点会根据条件来选择执行情 况,此模式又叫“或模式 。如图2 4 所示,任务1 完成后,引擎会根据条件,会选 择任务2 或任务3 单独执行,或者任务2 和任务3 同时执行。 图2 - 4 选择分支模式 ( 4 ) 互斥分支 互斥分又是指在一个节点运行完成后,后续有两个或者更多个节点,但是它们 之间只能有一个节点被执行,此模式又叫“异或模式。如图2 5 所示,任务l 完成 后,如果任务2 执行,则任务3 不执行,如果任务3 执行,则任务2 不执行,任务 2 和任务3 之间是异或关系 1 0 华北电力大学硕士学位论文 图2 5 互斥分支模式 ( 5 ) 并发汇合 通常情况下,有一个并发分叉则必有一个并发汇合与之对应,它们之间是成对 出现的。并发汇合节点前往往有多个前驱节点,只有它们都执行完,并发汇合节点 才能被执行。如图2 - 6 所示。只有任务l 和任务2 全部执行完,任务3 才能执行。 图2 6 并发汇合模式 ( 6 ) 选择汇合 选择汇合节点前也有多个前驱节点,但是只要先驱节点中的一个执行完成,选 择汇合节点就可以被执行。如图2 7 所示,任务l 和任务2 中,只要有一个节点执 行完,任务3 就能执行。 2 5 本章小结 图2 7 选择汇合模式 本章对工作流技术进行了研究,共分3 个部分。第一部分讲述了工作流的基本 原理和概念,第二部分对工作流管理联盟给出的工作流参考模型进行了详细分析。 第三部重点研究了工作流引擎技术,并着重分析了引擎设计思想和工作流中常见的 六种运转模型。 华北电力大学硕士学位论文 3 1 需求分析 第三章工作流平台的分析与设计 虽然工作流技术广泛使用在发电厂的各类管理系统中,例如设备管理系统、物 资管理系统、办公自动化管理系统等,但它们之间彼此相对孤立,不便于统一维护 和管理,而且由于业务流程与程序紧密结合,导致业务发生变化或企业组织结构发 生变化时,系统的程序需要重新编写,这就加大了管理和维护的难度。因此,我们 开发的工作流平台应该包括: ( 1 ) 统一的流程建模功能。该功能可以使我们在统一的平台下,进行业务流 程的定义、活动的定义、活动间路由关系的定义、活动的参与角色定义等操作。 ( 2 ) 通用的工作流引擎,即通过工作流平台进行建模的所有流程,其实例都 可以直接运行在工作流引擎上,不需要额外的开发工作。 ( 3 ) 任务管理和用户界面,即用户登录以后,可以根据所具有的权限,开启 相关流程实例,并且也可以执行需要自己办理的任务。 ( 4 ) 监控统计功能。该功能可以监控工作流实例的执行情况,操作人员的操 作信息,并进行汇总,为企业今后的绩效考核提供依据。 ( 5 ) 角色定义功能。在流程实例中,每个手工活动实例都应该对应相关的人 员,但是为了系统的维护,活动实例并不是直接映射到具体的人,而是映射到角色, 再通过角色,映射到具体的人。这样,即是今后企业的组织结构发生了变化,也只 需调整角色与人员对应关系,无需变动流程。 3 2 总体设计 3 2 1 功能结构设计 开发工作流平台的目的,是为了方便业务流程的定义和管理,因此,通过需求 分析,此平台的功能模块构成如图3 1 所示: 1 2 华北电力大学硕士学位论文 业务流程建模 任务管理和用户 界面 监控与统计 系统管理 业务流程定义 活动定义 活动问路由关系定义 流程实例开启 待办任务列表 已办任务列表 流程实例监控 流程实例操作统计 工作汇总统计 系统模块管理 部门人员管理 角色设置管理 数据字典管理 图3 - 1 功能结构图 ( i ) 业务流程建模模块 业务流程建模用于定义业务流程活动,因此该模块功能包括: 业务流程定义,包括业务流程的添加、修改、删除操作,其属性包括流程名 称、版本号、流程的开始时间和结束时间、业务流程负责人等信息。 活动的定义,包括活动的添加、修改、删除,其属性包括活动的名称、活动 的开始时间和结束时间、是否需要审核、是否允许传阅、是否并发执行、该活动的 参与者、商业逻辑等信息。 活动问路由关系定义,即确定流程在不同活动间以何种规则进行流转等。 ( 2 ) 任务管理和用户界面 任务管理和用户界面方便用户根据业务的需要,完成自己的工作任务,该模块 包括: 流程实例的开启,即具有相关权限的用户,可以开启流程实例,开始一系列 业务活动。 待办任务列表,即用户近期的需要处理的工作列表,点击进入某一个任务, 还可以看到任务的相关信息及处理情况。 已办任务列表,即用户近期处理过的工作列表,点击进入某一个任务,可以 看到流程的运行情况和处理意见等信息。 ( 3 ) 监控与统计模块 监控与统计模块用于监控流程实例的运行情况,并对用户的操作进行记录统 计,该模块功能包括: 流程实例监控,即具有相关权限的用户,进入此页面,可以查看流程实例的 运行情况,并可以强制挂起或停止流程实例。 1 3 工作流管理平台 华北电力大学硕士学位论文 流程实例操作统计,即对每个用户对流程实例的操作都进行详细记录,并生 产日志文件,方便日后的维护。 工作汇总统计,即对用户的操作信息进行汇总,如用户在什么时候完成了什 么工作等,这些内容为企业月末或年末对员工的考核提供了依据。 ( 4 ) 系统管理模块 该模块是系统的基本模块,用于设置管理整个系统,包括: 系统管理模块,系统的基础设置模块,例如可以修改系统的显示图标、移动 模块在系统中的显示位置等。 角色设置管理,可以添加、修改、删除角色。 部门人员管理,用于添加、修改、删除部f - j * n 人员,同时还可以设置部门与 人员的关系、人员和角色之间的对应关系等。 数据字典管理,用于定义系统中常用的基础数据。 3 2 2 系统层次设计 本系统采用j 2 e e 典型的4 层结构进行设计,如图3 2 所示,即运行在客户端计 算机上的客户层组件、运行在j a v ae e 服务器上的w e b 层组件、业务层组件和运行 在e i s 服务器上的企业信息系统( e i s ) 层软件。【2 1 】 图3 2 系统架构设计 ( 1 ) 客户端层 只要客户端计算机装有w e b 测览器,甩户有合法的甩户名秘密码,就可以登陆 到系统中。系统会根据用户的权限,相应显示出不同的内容。 1 4 理周期,每一个j s f 请求都要通过f a c e s s e r v l e t ,然后再到其他阶段去。 而j s f 后台b e a n 一方面与w e b 层中页面中的各种组件的属性直接绑定,另一 方面又可以帮助w e b 层调用e j b 容器中的e j b 组件。 ( 3 ) 业务层 业务层主要完成系统中数据的处理和传输。该层主要由e j b 容器内的会话b e a n ( s e s s i o nb e a n ) 、消息驱动b e a n ( m e s s a g eb e a n ) 和实体b e a n ( e n t i t yb e a n ) 构成。 会话b e a n 用来实现商业逻辑,并且和实体b e a n 交互执行具体操作。此外,对 外它还提供业务接口,供w e b 层调用。消息驱动b e a n 与会话b e a n 相比,功能相对 简单,主要用于异步处理消息。通常,每个实体b e a n 都与数据库中的一个表对应, 实体的持久性状态是通过持久性字段或持久性属性来表示的。这些字段或属性使用 对象关系映射注释( a n n o t a t i o n ) 来将实体关系映射到底层数据库中的关系数据。 ( 4 ) 企业信息系统( e i s ) 层 企业信息系统层表示企业的信息资源,为业务逻辑提供数据服务,本系统中, 我们采用o r a c l e1 0 9 数据库来为该系统提供数据服务。 3 3 模块详细设计 3 3 1 流程建模模块的详细设计 流程建模模块的作用是用来定义一个具体的业务流程,其具体包括流程定义、 活动定义等。为了方便用户的配置,我们采用有向图方式来表现一个具体的业务流 程,有向图由节点和有向线来表示,节点表示一个具体的业务活动,有向线则表示 活动之间的执行顺序。简单示意图如图3 3 所示: 1 5 华北电力大学硕士学位论文 图3 3 业务流程定义示意图 ( 1 ) 流程定义 每一个业务都需要定义一个流程,例如物资管理业务需要定义物资管理流程、 设备管理业务需要定义设备管理流程。流程定义包括流程的添加、修改、删除操作, 其属性包括流程名称、版本号、流程的开始时间和结束时间、业务流程负责人、是 否支持强制终止操作等信息。 ( 2 ) 活动定义 每一个业务流程中,都含有若干活动,而在流程图中,每个活动对应一个节点。 根据业务需要,我们将节点的类型分为了八类,分别是t a s k 类型节点、n o d e 类型、 f o r k 类型节点、j o i n 类型节点、d e c i s i o n 类型节点、s u b p r o c e s s 类型节点、开始类 型和结束类型节点。对于不同类型的节点,我们也应该对其进行不同的设置。 t a s k 类型节点 t a s k 类型节点属于手工活动类型,是流程中最重要的节点类型。流程流转到此 类型节点的时候,流程就会自动暂停,等待参与者的干预。只有参与者触发了使流 程继续流转的操作时,流程才会自动继续执行。对于此类型的节点,根据业务需求, 我们还应该进行如下设置: 节点路由设置:目的是配置流程的流转方向。例如,在流程中,经常遇到需要 领导批示或审核的步骤。这时,流程会有多个流转方向,如一同意一、“不同意等, 此时,就需要相应的配置多个流程方向。 审核跳转设置:作用是根据用户输入的审核意见,使流程跳转到相应的节点上。 例如,在领导审核步骤中,当领导选择“同意”时,我们可以将流程跳转绑定到在 1 6 华北电力大学硕士学位论文 “流程跳转设置 中的“同意跳转上;当领导选择“不同意时,我们可以将流 程跳转绑定到“流程跳转设置 中的“不同意跳转上。这样,就会根据用户的输 入,自动进行相应的处理。 除了流程跳转设置和审核跳转设置外,对于任务类型的节点,还需要对“参与 者方案进行配置,即此任务应该由谁执行。我们预定义了如下方案: 指定固定用户:即在配置时,就指明该任务由谁执行; 按角色寻找:即属于该角色的用户,均能看到该任务并执行; 按部门执行:即属于该部门的用户,均能看到该任务并执行; 由上一步办理者指定:即本任务由谁办理,是在流程的上一个任务中,由办 理者指定的; 按某节点表单内容指定:即本任务的办理人,是根据其他某节点中,所填写 的业务表单中的某个字段来决定的。 n o d e 类型节点 n o d e 类型节点属于自动活动类型,当业务程序实例执行到这个节点,不会像 t a s k 类型的节点一样,停止下来等待参与者的干预,而是继续向下执行,一些由计 算机处理的业务过程大都放在此类型节点

温馨提示

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

评论

0/150

提交评论