(计算机应用技术专业论文)通用工作流平台的设计与实现.pdf_第1页
(计算机应用技术专业论文)通用工作流平台的设计与实现.pdf_第2页
(计算机应用技术专业论文)通用工作流平台的设计与实现.pdf_第3页
(计算机应用技术专业论文)通用工作流平台的设计与实现.pdf_第4页
(计算机应用技术专业论文)通用工作流平台的设计与实现.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

(计算机应用技术专业论文)通用工作流平台的设计与实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 本论文研究的是为四川省某商业集团建立一个企业应用系统的集成平 台,为该集团的各应用系统提供工作流服务。此集成平台称为工作流平台 ( w o r k f l o wp l a t f o r m ,w f p ) ,亦称工作流管理系统( w o r k f l o wm a n a g e m e n t s y s t e m ,岍m s ) 。本论文研究的w f p 参照了工作流管理联盟( w o r k f l o w m a n a g e m e n tc o a l i t i o n ,w f m c ) 的工作流参考模型,在满足客户需求的情况 下,简化了参考模型的部分功能并增加了一部分独特的功能。 本论文根据企业的实际业务情况,以工作流参考模型为理论依据,自主 开发了具有通用性特征的工作流平台。论文的研究过程主要按照软件的生产 过程来进行,主要的工作如下; ( 1 ) 首先从表单、流程、工作流引擎、工作列表处理器和流程监控各方 面分析客户对工作流平台提出的功能需求,然后通过对工作流参考模型的分 析和工作流平台的用例分析,确定了平台的总体框架和基本功能模块。 ( 2 ) 对工作流平台的功能进行了划分,将平台分成三个子系统:管理员 客户端、业务处理客户端和工作流引擎。着重阐述了管理员客户端的功能模 块设计,包括的功能模块有:基础数据管理、应用管理、自定义表单、流程 管理和日志管理。对业务处理客户端和工作流引擎的功能也作了一定的介绍。 另外,本文还设计了流程和自定义表单的数据库表结构。 ( 3 ) 用u 儿( u n i f i e d m o d e l i n g l a n g u a g e ) 语言设计了类图,描述了平台 各模块的实现,并以c 语言为主编写了各模块的组成单元( 类) 的代码。 ( 4 ) 最后制定了项目的实施方案和系统部署方案。 目前,该通用工作流平台已完成测试,能够正常运行,完全满足客户的 需求,达到了系统上线的要求。 关键词:w f m c ;w f p ;w f m s ;工作流引擎;u m l ;c 撑 西南交通大学硕士研究生学位论文第页 a b s t r a c t t kt h e s i sd e s i g n sa n di m p l e m e n t sa ne n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n p l a t f o r mf o r ac o m m e r c i a lc o r p o r a t i o ng r o u pi n $ i c h u a n ,c a l l e dw o r k f l o w p l a t f o r m ( w f p ) o rw o r k f l o wm a n a g e m e n ts y s t e m ( w f m s ) ,w h i c hp r o v i d e s w o r k f l o ws e r v i c e sf o ra p p l i c a t i o n sr u n n i n gi nt h i sg r o u p a c c o r d i n gt ot h ew f m c ( w o r l d l o wm a n a g e m e n tc o a l i t i o n ) s p e c i f i c a t i o n s ,t h ew f pi sd e v e l o p e di nt h i s t h e s i sb yr e f e r r i n gt ot h er e f e r e n c em o d e lo fw f m c ,s i m p l i f y i n gs o m ef u n c t i o n s o f ,f m cr e f e r e n c em o d e la n da d d i n ga p a r to f p a r t i c u l a rf u n c t i o n s a c c o r d i n gt ot h ee n t e p r i s e s a c t u a l b u s i n e s s ,t h e t h e s i s p r e s e n t s a g e n e r a l - p u r p o s ew o r k f l o wp l a t f o r mo n t h eb a s i so ft h ew o r k f l o wr e f e r e n c em o d e l t h e o r y t h em a i n w o r ko f t h et h e s i si sa sf o l l o w : f i r s t l y , t h i st h e s i sa n a l y s e st h ef u n c t i o nr e q u i r e m e n t so f t h et a b l ef o r m , f l o w , w o r k f l o we n g i n e ,w o r kl i s tp r o c e s s o ra n df l o wm o n i t o r , s t u d i e st h ew o r l d l o w r e f e r e n c em o d e la n dt h eu s ec a s eo f t h e 、f p a n dd e t e r m i n e st h em a i nf r a m e w o r k a n db a s i cf u n c t i o nm o d u l e so f t h ew f p s e c o n d l y , t h ew f p i sd i v i d e da st h r e es u b s y s t e m si nw h o l e ,i 。ea d m i n i s t r a t o r c l i e n t ,b u s i n e s sc l i e n ta n dw o r k f l o we n g i n e t h et h e s i sp a y sm o r ea t t e n t i o n so nt h e f u n c t i o nm o d u l ed e s i g no fa d m i n i s t r a t o rc l i e n t , i n c l u d i n gb a s i cd a t am a n a g e m e n t , a p p l i c a t i o nm a n a g e m e n t , u s e r - d e f i n e dt a b l ef o r m ,f l o wm a n a g e m e n ta n dl o g m a n a g e m e n t t h ef u n c t i o n a l i t i e so fb u s i n e s sc l i e n ta n dw o r k f l o we n g i n ea l ea l s o i n t r o d u c e db r i e f l y m o r e o v e r , t h et a b l es t r a c t u r e su s e di nt h ef l o wa n du s e r - d e f i n e d t a b l ef o r m & r ed e s i g n e d t h i r d l y , t h ec l a s sd m g r a m sa r ed e s i g n e dt od e s c r i b et h ei m p l e m e n t a t i o no f t h e w f p sm o d u l e sb yu s i n gu m l ( u n i f i e dm o d e l i n gl a n g u a g e ) e v e r yc l a s si s c o d e dm a i n l yi nt h el a n g u a g eo f c # f i n a l l y , ad o c u m e n to fi m p l e m e n t a t i o na n dd e p l o y m e mo ft h i sp r o j e c ti s m a d es oa st oi s s u et h ew f p p r o d u c t a tp r e s e n t ,t h eg e n e r a l - p u r p o s ew f p h 觞p a s s e d t h es o f t w a r et e s t ,a n dc a nr u n n o r m a l l y i naw o r d ,t h ew f p m e e t st h er e q u i r e m e n t so ft h eg r o u pc o m p a n y , a n d c a n b e p u t i n t o u s e 西南交通大学硕士研究生学位论文第页 k e yw o r d s :w f m c ;w f p ;w f m s ;w o r k f l o we n g i n e ;u m l ;c 撑 西南交通大学硕士研究生学位论文第1 页 1 1 论文的研究背景 第1 章绪论 企业的运作过程本质上是人、财、物等资源的优化和配置。形式上主要 体现为信息流、资金流、物流和价值流等合理的流动。随着社会分工的日益 具体化,合作已成为主题,合作的体现形式必然是一个完整而高效的工作流 程。有管理的企业的活动过程必然是有序的,这种有序性体现为合理的工作 流程。典型的工作流程发生在:机关内部的公文处理、项目审批、检验过程 和报告书的检定,企业范围内作业计划的下达、各种申请的批复和物流单据 的跟踪等等。可以看出,工作流是广泛存在的。 在最初,企业中的工作流都是采用手工进行处理,审批过程效率低下, 数据没有归档,没有处理过程的记录,处理时间、费用、效率等不容易度量, 具有很大的弊端。后来,由于计算机软件的盛行,工作流也逐渐走向了办公 自动化,但初级阶段的这些软件系统都是将企业的业务逻辑和软件系统的控 制逻辑捆绑在一起,使得一旦企业的业务逻辑发生交更,将全面影响到软件 系统的控制逻辑,因而必须修改大量源代码甚至重新开发。 如今,工作流技术正在快速发展,各种行业渐渐的采用这种技术。它的 主要特点是:过程的自动化处理,这些过程包含由人与机器为基础的活动相 结合,特别是对那些与i t 应用程序、工具交互的过程,进行自动化处理。目 前,工作流技术广泛应用于保险、银行、法院和行政管理,以及一些类型的 工业和制造业【l j 。 许多软件开发商都有w f 讲2 i ,】( w o r k f l o w m a n a g e m e n t ,- f 作流管理) 产品, 并且不断有新的f m 产品走入市场。市场上可选择的产品范围很大。因此每 个开发商只关注产品特殊功能,而用户可以采用不同的商品来满足不同的需 求。然而,没有统一的规范使得不同的w f m 产品协同工作,这是由于不兼容 的过程控制方式所导致。 w f m cc c q o r k f l o wm a n a g e m e n tc o a l i t i o n ,工作流管理联盟) 是由一些公司联 合在一起成立的组织,从事上述问题的研究。业界一直认为,所有的w f m 产 品都有一些相同的特性,这样对各种功能使用公共的标准,就可以实现不同 西南交通大学硕士研究生学位论文第2 页 产品间的协同工作。w f m c 的成立是为了确定那些功能范围,并且为w f m 产品 的实现制定适当的规范。希望这些规范能够使不同种类的w f m 产品协同工作, 并提高工作流应用程序与其他i t 服务( 例如,e m a i l 、文档管理等) 的集成 能力,以使工作流技术在i t 市场中被更有效地使用,开发商与用户共同受益 阁。 目前,四川某商业集团的财务信息系统总体框架及模块功能和接口关系 ( 2 0 0 5 财务2 9 号) 文件,提出了其财务辅助系统的功能需求,其中有一项明 确谈到的功能就是工作流平台。该集团内运营的应用系统的工作流程目前还 处在独自处理的状态,尚未有一个独立的工作流平台予以支撑,很多信息难 以共享。本文设计实现的w f p ( w o r k f l o wp l a t f o r m ,工作流平台) ,正是为 解决该集团的困难,同时也为其他中小型企业提供工作流的解决方案而产生。 按照l v 婵m c 的规范和客户的需求,此w f p 本着通用性和独特性的原则 而设计,慎重考虑其实用性和可扩展性,在满足客户需求的情况下,为今后 的功能深化与多样化做好坚实的基础,最终目标是为了满足绝大多数企业对 工作流需求,成为一个功能较为强大的通用性工作流平台。 1 2 论文主要研究内容 本论文主要研究一个通用性工作流平台的设计与实现,具体工作如下: ( 1 ) 分析了工作流平台的需求,包括耳标与功能需求,研究了工作流参 考模型,分析和构建了系统的用例,完成了工作流平台的总体解决方案; ( 2 ) 设计了工作流平台的功能模块和平台中流程与自定义表单的数据库 表结构; ( 3 ) 完成了该工作流平台较大部分的模块实现,包括:基础数据管理、 应用系统管理、自定义表单、流程管理、日志管理、业务处理客户端的部分 功能和工作流引擎的部分功能; ( 4 ) 讨论了系统的实施方案与部署过程。 1 3 论文结构安排 论文共分五章: 第一章,绪论,介绍了工作流平台课题的研究背景,所面临的问题和论 文主要研究的内容。 第二章,对工作流平台的需求进行分析,并对w f m c 的工作流参考模型 西南交通大学硕士研究生学位论文第3 页 进行研究,构建系统实现的总体设计方案。 第三章,对工作流平台的各具体功能模块进行分析和设计,介绍了系统 中流程和自定义表单的数据表结构。 第四章,对工作流平台的各功能模块的实现作介绍,笔者参与编码的部 分将详细讲述。 第五章,介绍了工作流平台的实施方案和部署,并着重讲述了系统的运 行效果。 西南交通大学硕士研究生学位论文第4 页 第2 章工作流平台需求分析与方案设计 2 1 系统目标需求 ( 1 ) 建立一个稳定可靠的管理平台,能够将财务流程审批、合同审批等 固化到i t 系统进行管控。 ( 2 ) 通过单据中的辅助字段,收集具有统计分析作用的管理信息。 ( 3 ) 隔离软件系统的控制逻辑和企业的业务逻辑,使得业务逻辑的变更 对于控制逻辑透明。 ( 4 ) 利用该引擎开发的业务信息系统可以根据具体业务需求量身定制个 性化的业务流程,而不用修改控制逻辑,甚至无需修改源代码。 ( 5 ) 提供灵活、丰富的标准开发接口,使得开发人员能采用自己习惯的 开发工具在该平台上定制和扩充模块。 ( 6 ) 采用多层分布式构件技术,力求技术先进性和应用的健壮性。 ( 7 ) 提供应用的负载均衡和容错能力。 ( 8 ) 工作流自动化和企业应用积木化。 ( 9 ) 实现产品化,满足中小企业流程i t 固化的市场需求。 2 2 功能需求 工作流平台应具有如下功能。 2 2 1 表单定义 ( 1 ) 基于各审批业务类型吼用户可自定义新的审批业务。 ( 2 ) 新审批业务对应的表单可在默认设置的基础上,增、减相应的字段。 ( 3 ) 能基于各审批点设置表单字段的“可见或不可见”,“可修改或不 可修改”,“必输或选输”。 ( 4 ) 能设置各审批点可查看哪些其他审批点的审批意见。 ( 5 ) 系统可针对审批业务类型设置表单模板,并为表单模板定制表单控 件。新增审批业务单据时,可调用预先定制好的表单模板及其表单控件。 西南交通大学硕士研究生学位论文第5 页 2 2 2 流程定义 ( 1 ) 系统支持定义审批类型,上级单位可以根据内控要求,统一设置不 同审批类型应包括的基本审批环节。 ( 2 ) 基于审批类型,用户可自定义新的审批流程,也可以在该审批类型 设置的基本审批点基础上增加更为细化的审批点。 ( 3 ) 表单字段权限设置,可设置流程调用的表单,支持不同环节填写、 查看表单的不同字段。 ( 4 ) 能设置每个审批点对应的审批部门、审批人,同时判断该部门和该 人员是否有权限进行该业务的审批。 ( 5 ) 多审批人设置 设置各审批点的审批人员时,可同时设置多个审批人,系统支持设置主 办、协办功能。 ( 6 ) 审批完成时间设置 能设置每个审批点的审批完成时间,实现审批效率考核、系统发出提醒 信息等功能。 ( 7 ) 设置流程流转方式 流程定义能设置多种流程流转方式,包括:顺序流转、并行分支流转、 条件分支流转和循环流转等。 2 2 3 工作流引擎 ( 1 ) 解析用户定义的流程配置信息 ( 2 ) 调用当前用户需操作的表单及表单中的字段 ( 3 ) 更新流程工作列表相应内容 ( 4 ) 扩展接口配置与其他应用系统的权限模块进行数据交互 ( 5 ) 能记录每个审批环节的关键字段的修改历史 ( 6 ) 具备电子签名功能 ( 7 ) 支持每一事项挂接多个审批表单 ( 8 ) 支持同一表单数据按条件分发。 例如,预算申报或者网上报账时,可根据表单不同行项目确定不同的归 口部门,并分发到不同的归口部门进行审批。 ( 9 ) 可设置常用审批摘要 西南交通大学硕士研究生学位论文第6 页 ( 1 0 ) 具备撤审、送审、退审、授权、挂起、恢复等基本流程功能 撤审:在流程发起的下一节点未做审批前,发起入可以撤消审批请求。 送审:在流程审批时,可能一些领导对某专业不太清楚,需将审批单送 相关专业领导审批,出具相关意见后再定夺是否给予审批通过。 退审:审核人对前面的审批有疑义,如预算金额过大,需要退回前面某 审批环节进行修改、重审。 授权:由于出差等原因,审批人暂时不能处理其审批事项,审批人可以 将其审批权限临时授权给某人代理审批。系统可以设置授权的起始时间和结 束时问。 挂起:领导想对审批内容作进一步了解后才填写审批意见,可先将该审 批流程挂起,表明其正在审批过程中。挂起的这段时间不纳入审批效率考核。 恢复:流程挂起后,领导了解、处理相应的事项后,可恢复审批流程, 填写其审批意见。 2 2 4 工作列表处理器 其功能需求如下: ( 1 ) 可根据工作流引擎解析出的流程审批状态生成用户的待办事项列 表。 ( 2 ) 用户可从待办事项列表界面中直接处理其待办事项。 ( 3 ) 待办事项处理完毕后,系统需刷新用户的待办事项列表。 2 2 5 流程监控管理 ( 1 ) 可查看各流程的状态和相关信息 用户可以通过流程管理工具查看工作流系统中的流程实例,了解实例个 数等信息。各种流程实例的状态应该如实反映在流程管理工具中,能通过图 形的方式查看流程实例中各活动的完成情况。 ( 2 ) 可挂起恢复跳转终止流转中的流程 挂起:业务发起人发现其填写的单据可能需要调整,可请求流程监控人 员先挂起该流程;待确认后,决定是恢复还是终止该流程。 恢复:针对挂起的流程,流程监控人员可根据相关请求,恢复该审批流 程。 西南交通大学硕士研究生学位论文第7 页 跳转:由于审批流程中某审批环节领导外出等原因,并且没有授权他人 代理审批,在口头征得该领导的同意后,可以请流程管理员将该审批环节跳 转过去。 终止:业务发起人发现其填写的单据有错或需要调整,可请求流程监控 人员终止该审批流程。 ( 3 ) 流程效率分析 具备流程效率分析功能,对每个环节的审批效率进行统计分析。 2 3 工作流参考模型 2 3 1 概述 工作流参考模型是对普遍工作流程序结构的概括,确定结构中的接口, 这些接口可以使用不同产品在不同的结构层次上协同工作。所有工作流系统 都包含一系列的公共组件,组件问采用一套被定义好的方法进行协作:不同 的产品在这些公共的组件中,会表现出不同的处理能力。为了实现不同工作 流产品间的协同工作,需要在这些组件间制定一套标准的接口和数据交换格 式。通过实现这些标准接口,可以达到产品间的协同工作嘲。 图2 1 描述了工作流体系结构中的主要组件与接口。 图2 - 1 工作流参考模型一一组件与接口 西南交通大学硕士研究生学位论文第8 页 2 3 2 参考模型中各组件描述 1 工作流执行服务器 工作流执行服务器是由一个或多个工作流引擎构成的软件服务器,用来 创建、管理和执行工作流实例,为流程实例和活动提供运行环境,负责解释 和激活流程定义,与流程所需的外部资源进行交互。 2 工作流引擎 工作流引擎,为工作流实例提供运行时期的执行环境的软件服务器或引 擎。其功能如下: 解释流程定义。 控制流程实例一创建、激活、挂起、终止等。 为流程的活动导航,可能要包括顺序或者平行的操作、最后时间期限、 对工作流相关数据进行解释。 参与者签名和退出。 确定任务项目,实现用户意图:提供接口,支持用户交互。 维护工作流控制数据和工作流相关数据,在应用程序间或者用户间传 递工作流相关数据。 提供调用外部程序的接口,连接所有工作流相关数据。 提供控制、管理和审查功能。 3 流程定义 设计活动和最后的流程模板输出,称为流程定义。在运行时期,流程定 义可以被工作流引擎解释。流程定义工具要有在一个组织结构中模拟流程的 能力,如果组织模型集成到了这些工具中,那么流程定义将包含组织相关对 象,例如角色。这些都是与系统相关的控制数据,可能会在流程执行期间被 引用。本文工作流平台的流程定义被设置在流程管理模块中,将在第四章介 绍。 4 工作流客户端 任务表处理器是在需要调用人力资源的活动中,用来与终端用户进行交 互的软件。任务表处理器可以作为工作流产品的部分提供给用户,也可以 由用户自己开发。在其他情况中,工作流可能要与普通的办公系统迸行集成, 例如e m a i l ,来为终端用户提供一个统一的任务管理系统。这就要求在工作流 西南交通大学硕士研究生学位论文第9 页 执行服务器与工作流客户端应用程序间有一个非常灵活的通信机制,来构建 各种可能遇到的运行系统。本文的工作流平台设置了一个业务处理客户端, 即w e bc l i e n t ,是用户与平台交互的一个i 具。 5 应用程序调用 w f m 产品所调用的应用程序一般存在于异种产品环境中,这就需要能够 处理在所有平台下和网络环境中进行调用的逻辑,并需要能使用公共格式和 编码进行应用数据或相关数据传递的方法。在应用程序调用的实现中,有些 使用了“应用程序代理( a p p l i c a t i o n a g e n t ) ”,把标准接口之后的各种调用方 法包含在工作流执行服务器中,也有些开发了“工作流使能( w o r k f l o w e n a b l e d ) ”应用工具,这种工具使用标准的a p i 集来与工作流执行服务器进行 通信,来接受应用程序数据、信号和响应活动事件等。这些a p i 可以被应用 工具直接调用;也可以被应用程序代理过程调用,作为与其他应用程序( 不 包括任何工作流技术的程序) 交互的前端。 6 工作流协同工作 w f m c 把焦点聚集到开发多种不同的协同工作框架,这些框架可以操作 一系列标准的协调工作,从简单的任务传递到整个工作流系统的协同工作( 包 括流程定义转换、工作流相关数据交换、通用的界面等) 。w f m c 协同工作最 初的定义是支持简单的协同工作,复杂的协同工作还需要进一步研究。 7 系统管理 w f m c 规范最后关注的是,为管理和监视功能开发公共的接口标准,这 样一个开发商的产品就可以用来管理其他工作流引擎的运行。通过公共的接 口,几个不同的工作流执行服务器可以共享管理和监视功能。系统管理应具 有以下功能: 用户管理操作 角色管理操作 审查管理操作 资源控制操作 流程管理功能 流程状态功能 西南交通大学硕士研究生学位论文第1 0 页 2 4 系统用例分析 2 4 1 人机交互用例 作为工作流平台的用户,有三种系统角色:超级系统管理员,系统管理 员和普通用户。其中超级系统管理员和系统管理员的操作权限为一交集,前 者主要在系统初始化状态下建立组织机构和用户时使用,它不在任何组织下, 不能用于业务操作。下面从系统管理员和普通用户的角度用u m i 0 l o l 语言建 立用例图,分析用户与系统的交互场景。 如图2 - 2 ,系统管理员与工作流平台的交互主要集中在管理员客户端。一 共分为五个用例,每个用例又有更小的划分,根据这五个用例,管理员客户 端划分成五大应用模块。 图2 - 2 管理员客户端用例圈 系统管理员角色是分等级使用的,等级的划分由组织机构的结构而定, 在维护基础数据时,管理员只可以管理本级和下级的单位和用户的信息,在 基础数据中,用户分属于组织机构下,拥有多个角色,角色又有拥有多个权 限,这些权限主要体现在普通用户的业务操作中,对用户的能处理业务范畴 西南交通大学硕士研究生学位论文第l l 页 进行限制。业务中的流程应由系统管理员来建设,管理员只负责建立流程模 板,在启用后由用户在业务处理中触发工作流引擎生成流程实例,管理员在 流程监控中可以查看由引擎生成的所有流程实例,并对它进行维护,包括中 止和挂起等。自定义表单模块是对工作流平台业务处理的一个扩充,定义表 单的过程也是定义业务的过程,管理员可以通过表单定义器制做各种样式的 表单模板,然后投入使用,还可以为表单设置使用权艰,及只允许能够发起 该业务的用户使用。在管理应用系统用例中,管理员将被调用的应用系统和 业务类型注册到工作流平台中来,这些信息是平台与应用系统交互过程中的 重要数据。管理日志用例范化为两个子用例:查询日志和删除日志,系统有 部分日志写在数据库中,有四种类型:登录、创建流程实例、流程活动转换 和数据设置,系统产生异常的日志写于l o g 文件中。 另一个系统角色是普通用户,它的任务主要是处理日常业务,包括提交 业务流程和审批流程活动,图2 3 是以普通用户为中心进行业务处理的用例 图。 图2 - 3 业务处理用例图 普通用户最主要的事情是进行业务处理,第一个用例是提交业务流程, 该用例范化为两个子用例:提交应用系统业务流程和提交自定义表单业务流 程。第一个子用例的业务来源于外部接口的应用系统,第二个子用例的业务 则为工作流平台中的自定义业务。在审批流程活动用例中,普通用户将处理 工作流引擎派送给他的审批任务,这些审批任务被列举在用户的日常工作项 中。另外,普通用户还关联的一个用例是查询提交的流程,该用例中,只能 西南交通大学硕士研究生学位论文第1 2 页 查询用户本人提交的业务流程,查询结果包括流程的图示,流程的状态和流 程的单据等。 2 4 2 工作流引擎用例 图2 _ 4 是工作流引擎的用例图,工作流引擎的任务主要是处理内部的工 作项单元,来驱动流程的运行。在此用例中,首先由工作流引擎外部组件的 添加工作项用例为引擎添加工作任务,这些外部组件还可以通过引擎获取流 程模板。分解工作项用例进一步细化工作任务,然后通过处理工作项用例来 处理,该用例范化为两个子用例:处理业务数据和发送邮件。处理业务数据 用例主要完成流程中数据的计算和存储,这部分会对流程的状态进行维护; 发送邮件用例则将引擎分配给用户的任务派送出去。另外,工作流引擎进程 通过记录日志用例,将其他用例过程中的异常错误或关键操作记录存档。 图2 - 4 工作流引擎用例图 2 4 3 系统对外接口用例 在工作流参考模型中,一共定义了五类接口,分别为流程定义接口、客 户端应用接口、调用应用系统接口、工作流引擎协同接口和监控管理接口。 但在这一章节中主要介绍的是参考模型中的调用应用系统接口,在工作流平 台中称为系统对外接口。工作流引擎除了不具有与其他工作流引擎进行协同 西南交通大学硕士研究生学位论文第1 3 页 工作的能力外,另外三类接口都已定义,但这些接口调用工具和软件都一并 予以了显现,这些部分和工作流引擎都合成了一个系统,即工作流系统,这 些接口也便成了系统对内接口。本系统中的接口采用w 曲s e r v i c e 和 r e m o t i n g _ 【两种方式提供,被调用应用系统只能通过w 曲s e r v i c e 提供的方法 与本系统进行通信。 下面讲述系统对外接口的内容。图2 - 5 是对外接口的用例图,它从总体 上说明了接口所能完成的功能。 圈2 - 5 系统对外接口用例图 图中调用接口方法用例范化为九个予用例,这些子用例中包含了一个或 多个接口方法,图中没有细化,当然这些接口方法也是可以被系统内部模块 调用的。在这些子用例中,应用系统最关心的是“创建流程实例”和“流程 活动处理”用例,它们分别联系到业务处理的两项工作:流程申请和活动处 理。登录方法可以让曾在被调用应用系统中登录的用户可直接登录到工作流 平台中来,它也是一种身份验证的方法。另外,其他子用例提供了业务处理 所需要的数据。 2 5 方案设计总体思路 本论文设计的工作流平台基本参照了w f m c 的工作流参考模型,通过需 西南交通大学硕士研究生学位论文第1 4 页 求分析,增减了工作流引擎的部分功能,具体情况如下: ( 1 ) 模型中的流程定义工具、管理与监控工具和工作流客户端程序都集 成于本系统中。 ( 2 ) 增加了表单定义工具,并集成于本系统中。 ( 3 ) 未设计工作流引擎协同功能,工作流执行服务器中只具有一个工作 流引擎。 ( 4 ) 具有应用程序调用功能,设计了一套该功能的接口,其他应用程序 开发商可以通过该接口规范与本系统实现集成,在本系统中设计流程模板, 使用本系统中的服务。 系统中的流程定义工具,管理与监控工具和表单定义工具集成在一个应 用程序中,该应用程序为一个w i n d o w s 桌面程序,称为管理员客户端,通过 工作流平台的w e b 客户端进行下载、安装和运行,也可在安装后从桌面上点 击运行,并能实现智能更新。 工作流引擎为一个w i n d o w s 服务程序,采用r e m o t i n g 技术,接受来自远 程的任务请求,同时维护系统的任务列表和流程实例的状态。工作流平台的 内部应用( 指表单应用) 和外部应用( 指被调用的外部应用系统) 通过工作 流平台提供的a _ p i ( 采用w 曲s e r v i c e 方式) 将任务提交给w e b 服务,w 曲服 务再通过r e m o t i n g 通信机制,将任务传递给工作流引擎。 业务处理客户端程序为一个w e b 程序,用户通过浏览器访问系统,登录 后进入自己的任务处理器。任务处理器和工作流引擎进行协调工作,处理用 户对任务的操作。 与工作流平台接1 2 1 的应用系统,必须通过管理员客户端注册它们的基本 信息,提供其模块的链接地址,这些链接地址会在业务处理客户端的任务处 理器中显示出来,用户可以通过点击这些链接进入应用系统的模块页面进行 业务处理。这些应用系统必须遵循工作流平台关于调用应用程序的接口规范, 和平台中的工作流引擎能实现有效通信。 2 6 基于m v c 的工作流平台体系设计 2 6 1 工作流平台架构 本工作流平台系统软件整体构架采用m v c ( m o d e l - v i e w - c o n t r o l l e r ) 模 式,如图2 - 6 所示。 西南交通大学硕士研究生学位论文第1 5 页 管理员客户业务处理应用系统客l o a 客户端 视囝层( v i e w ) 瑞 客户端 户端j 接口服务 控制层( c o n t r o l l e r , 工作流引擎 模型层( m o d e l ) 流程模型袭单模型其它数据结构 2 6 2 视图层 圈2 - 6 工作流平台的三层结构 管理员客户端是一个维护组织架构、注册应用系统、流程建模、表单建 模、监控流程和管理吕志的工具,它的主要用户为企业各单位设立的管理员, 同时也只有管理员身份的用户才能进入该系统。在管理员的工作中,组织架 构维护和日志管理并非日常工作,处理周期比较长,主要的工作集中在流程 建模、表单建模和流程监控上。另外,应用系统注册主要由其系统开发商或 由其协助来完成,因为应用系统和工作流平台接口的参数只有其系统开发商 才清楚。管理员客户端为一桌面程序,可以从工作流业务客户端( 网站) 上 下载或运行,管理员客户端在运行时会自动检测新版本并下载安装,己登录 业务处理客户端的管理员,通过网页运行管理员客户端时,无需再输入用户 名和密码。 业务处理客户端是处理企业内工作流业务的用户界面,它是一个w 曲系 统,用户通过浏览器登录系统后,可以为某业务发起申请,或者是审批来自 他人的申请。在此客户端内具有用户的任务列表处理器,管理用户未处理、 已处理和正在处理的任务。此外,该客户端同时还内嵌有注册于工作流平台 上的应用系统的链接,其链接的网页主要是其应用系统中与工作流处理相关 的模块。 应用系统客户端和o a ( o f f i c ea u t o m a t i o n ) 客户端作为工作流平台业务 西南交通大学硕士研究生学位论文第1 6 页 处理的扩展的u i ( u s e ri n t e r f a c e ,用户接口) ,不属于工作流平台,它们通过 接口的调用和中间数据库的方式与工作流引擎进行通信和协同工作,构成工 - 作流平台视图层的一部分。 2 6 3 控制层 控制层总体分为两部分:接口服务和工作流引擎。 接口服务采用w e bs e r v i c e 方式为视图层提供访问数据库和与工作流引擎 通信的能力。它汇集了各种各样的接口方法,发布在工作流平台的应用服务 器中,同时它也为工作流引擎提供相应的服务,另外工作流引擎某些事件的 驱动由w e bs e r v i c e 来激发,采用r e m o t i n g 技术的通信渠道启动这些事件服 务程序的运行。 工作流引擎主要用于管理流程实例和管理实例活动中的任务列表。它运 行于应用服务器中,是一个w i n d o w s 服务程序,和数据库服务器直接相连。 工作流引擎开启r e m o t i n g 服务,此服务的主要功能是提供对客户端通过w e b s e r v i c e 提交的任务进行处理,并实现部分数据的同步。工作流引擎开辟多个 线程,用于处理处于运行状态的流程实例。调入内存运行的流程实例个数具 有一定的限制,超过负荷的流程实例将被滞后处理。 2 6 4 模型层 模型层即为工作流平台的数据库层,它定义了本系统的数据结构和处理 数据的函数和存储过程。数据结构包含有两个主要的数据模型:流程模型和 表单模型。流程模型具有三类数据:流程模板数据、流程实例数据和工作项 列表数据。流程模板是流程实例的类型,流程实例是流程模板的特例,工作 项列表是流程实例运行中工作流引擎要处理的任务。表单模型具有两类数据: 表单模板和表单数据。表单数据是根据表单模板的格式生成的实际单据,具 有实际的数据。数据结构中还包含有其他综合性的数据模型,比如组织架构、 业务类型、应用系统数据和日志数据,它们与流程模型和表单模型有着直接 或间接的联系。另外,在与o a 系统接口方面,还设计了中间数据表,它们 的数据由本系统和o a 系统共同维护。 西南交通大学硕士研究生学位论文第1 7 页 3 1 设计目标 第3 章工作流平台的设计 本系统是为四川某商业集团所研制开发,它作为一个工作流管理系统, 为该集团提供强大的业务流程服务,它归类于该集团下软件系统中的财务辅 助系统,主要的服务业务是财务流程审批,它能与其他系统( 如o a 系统、 网上报账系统和合同管理系统等) 进行交互,与这些系统的某些数据进行同 步。 该工作流平台可以部署在多个服务器上,数据库、工作流引擎、接口程 序和w e b 客户端程序可分别安装在四个服务器上,也可以安装于同一个服务 器中。为保证工作流引擎的响应速度,最可靠的方案是将工作流引擎和数据 库运行在同一个服务器中,其他两个部分可灵活处理。客户端不需要特别的 部署,集团的所有员工只要通过网页浏览器就能登录系统,但管理员用户需 要从工作流平台网站上下载系统管理软件和管理员客户端,才能对工作流平 台做系统管理和维护。 实际上,对工作流的部署和升级只需在服务器端就能完成,非常方便, 工作量不大。对工作流引擎的升级需先卸载再安装,而对于接口程序和w e b 客户端程序只需用新版本将其替换即可。系统管理软件的升级是将新版本拷 贝到w e b 客户端的某个目录下,当管理员运行系统管理软件时,程序会自动 升级到最新版本。这项技术是微软的c l i e k o n c e 1 1 】无接触部署,可方便快捷地 实现桌面程序部署。 本工作流系统是一个统一的平台,是业务流程审批的集中地,提供的服 务面向系统内部业务和外部接口的应用系统,系统的基础数据必须与运营在 同一集团下的应用系统保持一致,才能在同一门户下进行协调工作。 3 2 功能模块的划分 在2 2 节对工作流系统功能需求分析的基础上,得到如图3 1 所示的整个 工作流平台的功能模块的详细划分。 西南交通大学硕士研究生学位论文第1 8 页 图3 - 1 工作流平台模块层次图 图中的应用系统本身不属于工作流平台,它们的某些模块注册到工作流 平台后,这些模块的页面就嵌入到了业务处理客户端,业务处理客户端就像 一个视窗,连接到各应用系统的内部。另外,这些模块调用了工作流平台提 供的接口,与平台进行通信,达到处理相关业务的目的。这里借助应用系统 的部分功能图,使工作流平台的其他功能图能够表示得更清楚。 图中中间部分是工作流引擎和w e bs e r v i c e 。工作流引擎分为五部分: r e m o t i n g 服务、工作项处理器、邮件发送器、数据库语句执行器和日志记录 器。这五个部分由众多线程完成,生命周期贯穿工作流引擎运行的始终。另 外,笔者参与了邮件发送器和日志记录器的部分工作,在后面的设计和实现 中,只对这两个部分侧重介绍。w 曲s e r v i c e 提供了各方面的接口,图中的应 用系统接口、业务处理客户端接口和系统管理接口是总体方面,这三方面的 接口都有交叉,比如用户登录接口贯穿了这三个方面。另外存在的接口有: 西南交通大学硕士研究生学位论文第1 9 页 基础数据管理接口、流程定义接口、自定义表单接口、流程实例接口等。 图中最下方是管理员客户端,它是提供给系统管理员操作的平台,如同 用例分析中所述,包含五个部分:应用管理、流程管理、基础数据管理、自 定义表单和日志管理。更详细的说明将在下面小节中阐述。 图中右边部分是业务处理客户端,也就是w e bc l i e n t ,是工作流平台的一 个子系统,笔者参与该部分的代码编写不多,后面的设计与实现只作简要介 绍。w 曲c l i e n t 除了可以进行流程申请发起、业务处理和审核流程查询外,它 还具有一个自定义表单解释器,一个流程页面绘制器。自定义表单解释器负 责将表单正确地显示在页面中,流程页面绘制器将系统中存在的流程实例在 网页中绘制出来。另外通过w e bc l i e n t 的“连接到管理员客户端”,还可以下 载、安装、启动和更新管理员客户端。 3 3 管理员客户端功能模块设计 管理员客户端是工作流平台的一个子系统,该子系统的功能主要是为平 台的业务操作建立原始数据,它划分为五大功能模块:基础数据管理、应用 管理、自定义表单、流程管理和日志管理。下面对各功能模块的设计作详细 的介绍。 3 3 1 基础数据管理 基础数据管理模块包括三个子模块,分别为组织机构管理、用户信息管 理以及角色和权限信息管理。下面分别对这三个子模块进行介绍。 3 3 1 1 组织机构管理 组织机构管理是对企业中单位信息的维护,通过该模块可以将单位信息 添加到系统中,另外还可以对已添加的单位信息进行查看、修改和删除等, 此处的查看被定义成查询和观看,在本节的后续小节中,查看的概念等同与 此,将不再说明。图3 2 描述了组织机构管理的进一步划分,图中未带箭头 的连接线表示模块的分类,带箭头的连接线表示模块间的调用。 西南交通大学硕士研究生学位论文第2 0 页 查看单 位信息 组织机构管理 添加单 位信息 修改单 位信息 删除单 位信息 下载单位数据ii 上传单位数据 圈3 - 2 组织机构管理结构图 图中的查看、添加、修改和删除是组织机构管理的四个基本子模块,它 们直接与用户交互,“查看单位信息”可以查询出存在于系统数据库中的单位 信息,它通过调用“下载单位数据”予模块实现数据的调出,然后将数据显 示在界面上。“添加单位信息”、“修改单位信息”和“删除单位信息”三个子 模块都是下载到本地的单位信息的数据集进行操作,该数据集是对系统数据 库中数据的拷贝,上述三个子模块通过调用“上传单位数据”子模块实现数 据的存档,即把本地数据保存到服务器中。 组织机构管理模块在基础信息管理模块中处于首要位置,它为用户信息 管理模块、角色和权限管理模块做好了数据准备。 3 3 1 2 用户信息管理 用户是建立在组织机构中的,所以当组织机构建立完毕后,用户信息管 理模块才能被调用。在用户信息管理中,除了查看、添加、修改和删除四个 基本子模块外,还有查看和修改用户的角色两个子模块,如图3 - 3 所示。 查看用 户信息 用户信息管理 查看用户 的角色 添加用li 修改用ff 删除用il 修改用户 户信息l 【户信息l 户信息il 的角色 i ! 整塑塑ii 圭堡塑塑i 图3 3 用户信息管理结构图 图中“查看用户信息”子模块用于查询用户的编号、名称和密码等信息, 它还将组织机构的部分数据调出来,用于将用户信息归类。把用户划分到组 织的结构中。“查看用户的角色”子模块调出了提供给用户的所有角色,角色 西南交通大学硕士研究生学位论文第2 l 页 以列表的形式显示。上述两个子模块都通过调用“下载数据”子模块从服务 器下载用户、单位和角色数据。“添加用户信息”、“修改用户信息”和“删除 用户信息”三个子模块对本地的用户数据进行维护,然后调用“上传数据” 子模块为用户数据存档。“修改用户的角色”子模块为用户选择角色,还可以 删除用户已有的角色

温馨提示

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

评论

0/150

提交评论