(计算机应用技术专业论文)基于j2ee的工作流管理系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的工作流管理系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的工作流管理系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的工作流管理系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的工作流管理系统的研究与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的工作流管理系统的研究与实现.pdf.pdf 免费下载

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

文档简介

独创性声明 本人声明所曼交的论文是我个人在导师指导下( 或我个人) 进 亍的研究 工作及取得的研究成粜。尽我所知,除了文中特别加以标注和致谢的地方外,论 文中币包含箕他人已经发表或撰写过的研究成果,也不包含为获得中国农业大学 犬学或其它教育机构的学垃或涯书两使用过的材辩,与我弼工作豹厨志对本研 究所傲的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名 礞专净 时间:0 护簪_ 2 月妒日 关于论文使用授权的说明 本人完金了解中国农业大学大学有关繇整、幢用学位论文的规定,即:学校 有权保蜜送交论文的复印降相磁盘,允许论:窆被套阉和借阅;学校可以用不间方 式在不同媒体上澄表、传播学位论文的全部或部分内容,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 f 保密的学位论文在解密岳癌遵守此孙议) 研究生签名: 臻龟髦 时间: 妒2 年,月五。口 导师签名: 时间:帅劳3 月土1 ,日 址梦 午 专固 硕士研究生论文 摘要 工作流管理技术是国际上新兴起的一项对工作流程进行控制和管理的技术,为此国际上成 立了专门的机构( w 埘c ) ,对工作流管理技术进行专门的研究。工作流管理系统( w f m s ) 就是利 用工作流管理技术对工作流程进行控制和管理的软件。 随着网络技术的发展,企业中计算机的应用已经从单纯的销售管理、财务管理、计划管理, 上升到计算机信息管理系统,甚至是还包括计算机辅助设计和计算机辅助生产的企业计算机应 用系统。s u n 公司提出了先进的j 2 e e ( j a v a2p 1 a t f 。r m e n t e r p r i s ee d i t i o n ) 使得企业中的各 个系统获得了统一的支持。 本文是在j 2 e e 平台上,开发出工作流管理系统的核心一上作流引擎。 关键字:j 2 旺、工作流管理系统,工作流,工作流引擎 a b s t r a c t w b r k f l o wm a j l a g e m e n tt e c h n o l o g yi sa n e w 伦c h n o l o g yt h a t c a nc o n t r 0 1t h e w o r k f l o wi nt h ew o r l da n dw 0 “ci st h e o r g a i z a t i o n t o s t u d y w o r k f l o w m a n a g e m e n tw o r k n o wm a n a g e m e ms y s t e mi st h es o r w a r et oc o n t r o la n dm a n a g ei h e w o r k f l o w w i t h 恤ed e v e l o p m e n to fc o m p u t e rn e t w o r k s ,t h ec o m p u t e r so ft h ee n t e r p n s eu s e dt od o s a l e s i r l a n a g e m e m ,f _ m a n c l a lm a n a g e m e m ,p l a nm a n a g e m e n n o wh a sd o n ew l t h c o m p u t e r m f b m a t l o nm a n a g e m e ma 1 1 dc o m p u t e r m t e 笋a t e dm a i 】曲c n 珊n gs y s t e m s a n ds oo ns u n m i c r o s y s t 咖i n ci st | l ep l a d l 0 兀no f e n t e r p r i s et od e v e l o p 如ya p p l l c a t l o n t h i sa n l c l e 、v i l ld e v e l o pt h ec o r eo fw b r k f l o wm a n a g e m e n ts y s t e m 一一w b r k n o w e n g i n eo nt h ep l a t f o mo f j 2 e e k e y 、v o r d :j 2 e e ,w o r k n o wm a n a g e m e n ts y s t e m ,w b r k f l ow w o r k f l o we n g i 玎e 2 硕士研究生论文 第一章绪论 1 1 工作流管理系统简介 1 1 1 工作流管理技术 第一章绪论 工作流技术是实现企业业务过程建模、业务过程仿真分析、业务过程优化、业务过程管理 与集成,从而最终实现业务过程的自动化的核心技术。对企业利用工作流方法进行业务过程的 建和深入分析不仅可以规范化企业的业务流程,笈现业务流程中不合理的环节,进而对企业和 业务过程进行优化重组,而且所建立的业务过程模型本身就是企业非常重要的知识库和规则库, 可以成为指导企业要施计算机管理信息系统的模型。在深入分析企业需求基础j 二建立的企业业 务模型可以在最大程度上提高企业实施e r p 或者其他管理信息系统的成功率。所以t 大力发展 并推广工作流技术对于促进我国企业管理规范化和信息化有重要的现实意义。 工作流管理技术作为一种过程建模和过程管理的核心技术,可以与其他应用系统有效地结 合生成符合企业需求的各种业务管理系统,如办公自动化系统、项目管理软件、p d 系统、 客户关系管理系统、供应链管理系统、e r p 系统等。这些采用工作流技术作为核心开发的业务 管理系统的最大特点,也是这些系统与普通的应用软件系统的最大差别,是它们具有高度的灵 活性,可以按照企业的具体需求,快速灵活地生成应用软件系统,并且在客户业务过程发生变 化时,迅速地进行重组来满足客户需求。 工作流管理技术的出现和迅速发展满足了企业组织结构重组与行进制造战略实施的客观需 求。它的出现也健进了企业的计算机应用水平上升到一个新的阶段,即从支持企业功能实现的 事务处理系统发展到支持企业实现经营目标的业务处理系统,所以,也有人将工作流管理系统 称为企业的业务操作系统( b o s ) 。 目前工作流技术的研究与应用在我国尚处于起步阶段,虽然已经有不少研究人员从不同 的角度开展了工作流管理及其相关技术的研究,但是,有关工作流管理技术研究和应用中的许 多关键技术问题还处于探索阶段。 1 1 2 工作流管理系统( w 州s ) 国内外研究发展历史 工作流的概念起源于生产组织和办公自动化领域。它是针对日常工作中具有固定程序的活 硕士研究生论文 第一章绪论 动而提出的一个概念。目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过 程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本、提高企业生产经营 管理水平和企业竞争力。 在企业应用实际中虽然工作流的概念相对于物料流、资金流、信息流等概念要抽象一些, 但是,工作流从更高的层次上提供了实现物料流、资金流、信息流及其涉及的相关过程与应用 的集成机制,从而使得企业能够实现业务过程集成、业务过程自动化( 不是物流自动化和信息 处理自动化) 与业务过程的管理。在工作流概念下实现业务过程集成与业务过程自动化的集成 机制是通过定义不同任务之间相互关系的工作流模型( 也称为过程模型) 来实现的。在工作流 模型中,无论是具体的物料转移动作、实际物理装置的操作动作,还是抽象的信息处理动作与 决策过程,都可以用工作流的基本组成元素一一任务( 也称为活动) 一一来统一地进行描述。 同样,反映不同任务之间的关系无论是具体的车间中零件加工顺序关系、办公自动化中的文 件批转,还是抽象的决策流之间的关系,都可以用工作流的基本组成元素一一连接弧一一来统 一地进行描述。连接弧反映了对企业业务经营过程的一种控制逻辑,它定义了活动之问的连接 关系和执行顺序。 8 0 年代中期,f i l e n e t 和v i e w s t a r 等公司率先开拓了工作流产品市场,成为最早的一批 工作流产品供应商。工作流从最初的诞生之日起就是作为一种面为过程的系统集成技术而出现 的,只不过限于当时的计算机发展水平它所集成的功能较为简单而己。 进入2 0 世纪9 0 年代随着计算机与网络技术的迅速发展特别是在i n t e r n e t 应用日益 普及的情况下,现代企业的信息系统的分布性、异构性和自治性的特征越来越显著在这种技 术背景下,工作流管理系统也由最初的创建无纸办公环境,转而成为同化企业复杂信息环境, 实现业务流程自动执行的必要工具。这样的一个转变,把工作流技术带入了一个崭新的发展阶 段,使得人们从更深的层次、更广的领域对工作流展开了研究。 1 9 9 3 年工作流管理联盟( w 。r k f l o - m a n a g e m e n tc o a l lt i o n ,w f m c ) 的成立标志着工作流 技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操作,w f m c 在工作流管理系 统的相关术语、体系结构及应用编程接口( w a p i ) 等方面制定了一系列标准。 目前,作为支持企业经营过程重组( 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 ) 的一种手段,工作流技术的研究应用日益受到 学术界与企业界的重视。在国际上,已有数百种商业产品,如:全球最大的中间件厂商b e a 的 - l p i ( w e b l o g i cp r o c e s si n t e g e r t o r ) 一对此,我们进行了较深入的研究:i 醐的m q s e r i e s ; j e t f o r m 的i n t e m p o 等等。 12j 2 e e 简介 现代企业需要扩展其领域,降低成本,通过对客户合作伙伴,雇员和供应商提供易于取 得的服务缩短反应时间。 i 于各种原因,这类服务一般设汁为多层的分前i 式的应用t 包括前端 的客户端,后端的数据资源,在此_ 二者之间的土要的应用开发的一个或更多的中间层。中间层 实现了使用业务功能与数据整合已有的e i s 新的服务。中问层使 j 了迅速成熟的1 1 1 t e m e t 技术 米的优点,最小化用户管理和培训,并且将客户层与企业复杂性分离。 h t m l 矧1 1j 2 e e 体系架构 j 2 e e 降低了开发多层服务的成木和复杂陛,并使企业面对竞争压力能够迅速部署和增强 服务。 一 9 f ) 年代早期,传统企业信谴系统提供商通过从两层,铎户端一服务器应用模型向灵活的三 层和多层应用模犁的迁移响应客户的需求。新模型将业务逻辑从系统服务和用r 1 界丽分离m 来- 将其作为中间层摆在这一:者之问。新的中问件服务,事务监控,面向消息巾问什对象请求代 理等_ 3 j 发展为这种新的絮构提供了推动力,这时的i n t e m e t 或i n t r a n e t 使朋的增k 夥露出原有 编程模型对生成易于分嘶j 的客广端的不足。 多层结构设计戏剧阵地简化了开发、布署和维护氽业直用。使应用开发苛可以沣干、止务 逻辑细符的编程依靠后端服务提供基本服务,客户端应用( 包括独立和w e b 浏览器包容) 提供 用、交q :,开发完成之后,业务逻辑根据实际的需要部署在服务器r 。然而,除了这些优点 硕士研究生论文 第一章绪论 模型制订了开发者的从标准化组件建立应用,在广泛的不同的平台上部署单个应用或简单地制 定应用规模来适应变化中的业务状况的能力。 这些努力都导向j 2 e e 技术的形成首先,j ms e r v k s 技术显示开发者热衷于生成运行 于任何支持j a v a 平台的w 曲服务器上的类似于c g i 的行为。第二,皿旧c 技术提供了将“一 次编写。到处运行“的j a v a 编程语言与已有的数据库管理系统结合的模型。最后,e n t c r p r i j a v a b c s 的成功显示了将一系列完整行为封装到易于配置,已有的可重用组件中是非常有用 的。这三点集中到一起,j m 语言编写的服务器端行为,连接已有的企业系统和模块的连接器, 易于部署的组件,最终结合形成j 2 e e 。 j 2 e e 被设计成为提供对顾客、雇员、供应商、合作伙伴和其他需求及组成企业服务内容 实现的应用支持。这些应用本就复杂,它可能涉及从不同的数据源获取数据并分发不同的应用 给不同的用户。 为更好控制及管理这类应用支持不同用户的业务功能被放在中问层实现。中间层表现为 企业信息技术部门整个控制的环境。中间层一般运行于专用的服务器硬件并拥有企业完整服务 的控制权。 j 2 e e 应用通常依靠e i s 层存储企业关键数据。管理它的数据和系统位于企业的内核中。 最初的两层模型,客户端一服务器应用模型承诺提高伸缩性及可操作性。但是,直接分发 e i s 服务到每个用户和由于在每个用户的机器上的业务逻辑的安装和维护导致的管理问题成为 了主要需要解决的难题。 将企业应用服务实现为多层应用可避开两层模型的限制。由多层应用提供企业各方面的需 求的控制,使大部分在两层模型上的开发转移到中间层软件的开发。 由于开发业务服务功能和获取数据库和其他企业资源的更复杂的底层代码的开发要求,使 得多层服务开发更加复杂。因为每个多层服务器产品拥有其自身的应用程序模型,很难雇用和 训练一个有经验的开发组。另外,随着服务量的增长常常需要改变整个多层模型的底层代码, 导致实现成本和时间的消耗。 j 2 e e 应用程序模型定义了为作为多层应用程序的服务实现的架构,避免了这些问题并交 付伸缩性、易访问性和可管理性。j 2 e e 应用程序模型件需要实现多层服务的工作划分为两个 部分:开发者实现的业务逻辑和表示逻辑。j 2 e e 提供的标准系统服务。开发者依靠平台提供 对开发中问层服务的硬件系统问题的解决。j 2 e e 应用程序模型为多层应用程序提供一次编写, 到处运行的便携性和伸缩性。 8 1 3 本课题的研究内容 本课题针对j 2 e e 平台,以w f m c 的论著为理论基础,在提取出我们自己的系统模型后, 进行如下工作: 1 完成w f m c 工作流管理系统的参考模型中的接口l : 2 以编译原理为理论基础,利用词法分析、语法分析工具( j a v a c c ) 及语法树生成工具 ( j i 仃e e ) ,实现工作流管理系统中的表达式求值器; 3 利用j a v a b e a n s ,脚_ b 组件技术,实现w f m c 工作流管理系统的参考模型中的核心 工作流引擎( w o 棚o we n 璺n e ) 。 1 4 本课题所采用的技术 1 x m l 及相关技术; 2 编译原理技术; 3 u m u u n m e dm o d e l m gl a n g u a g e ) 4 j a v a b e a n ,e m 组件技术。 1 、5 软硬件环境 1 硬件平台 p e n t l m i i i 微机,主频6 0 0 h z ,内存2 5 6 兆; 2 软件环境 开发环境为:操作系统:m s w i l d o w s 2 0 0 0 ,j 2 e e 平台:b e a w 曲l o g l c 61 ,关系型数据 库:o r 扯1 e 8 ,1 7 ,c a s e 工具:r a 士i o n a lr o s e ,j a v a 集成开发环境:岫u i l d e r 4 ,数据库设计 工具:p o w e r d e s i 髓e r 。 运行环境:操作系统:任意,j 2 e e 平台:b e a 、v e b l o g i c 61 关系型数据库;o r a c l e 81 7 或m ss q l s e r v e r 。 9 硕士研究生论文 第= 章理论基础 第二章理论基础 1 9 9 3 年成立的工作流管理联盟( o r k f l wm a n a g e m n tc o a n t i o n ,w f 躬) 先后发表了1 8 篇关于工作流管理系统的专著,这就是我的课题的理论来源,其中核心的一篇是工作流参考模 型( t h e - o r k f l o - r e f e r e n c em o d e l ) 。 2 1 工作流的基本概念 工作流管理联盟给出的工作流定义是:工作流是一类能够完全或者部分自动执行的经营过 程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之问进行传递与执行。 工作流是经营过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境。使用 工作流来作为经营过程的实现技术首先要求工作流系统能够反映经营过程的如下几个方面的问 题,即经营过程是什么( 由哪些活动、任务组成,也就是结构上的定义) 、怎么做( 活动问的执 行条件、规则以及所交互的信息,也就是控制流与信息流的定义) 、由谁来做( 人或者计算机应 用程序,也就是组织角色的定义) 、做得怎样( 通过工作流管理系统对执行过程进行监控。 工作流主要是用来描述经营过程的,因此一个工作流就可以看成是企业的一个具体的经 营过程的抽象或图示化的表示。用计算机可咀识别的方式建立企业经营过程模型,在工作流中 必须定义一系列的基本概念和术语来描述模型的组成,从而实现对企业经营过程的建模。首先 是工作流的定义,如我们在前面介绍的,工作流就是将一组任务组织起来完成某个经营过程。 所以,工作流整个模型就是为了说明经营过程的目的,或者说这个模型描述的经营过程鲍目标。 工作流中两个最基本的元素是活动和活动之问的连接关系。活动对应于经营过程中的任务,丰 要是反映经营过程中的执行动作或操作。活动之问的连接关系代表了经营过程的规则和业务流 程。一个工作流就是一个用一组连接关系组台起来的一组活动组成的一个反映企业业务过程的 模型。执行活动和活动之间的连接关系说明了如何完成企业的经营过程,包括完成经营过程需 要完成哪些任务和采用的步骤。 当然,一个企业的业务过程不是仅有活动和活动之问的连接关系就能够描述清楚的。一个 企业的经营过程还要涉及参与操作的人员、组织、所操作的数据、使用了哪些计算机应用程序 等。在工作流模型中通过定义活动的角色( 操作人员) 和组织单元( 组织结构、部门) 来描述 企业的经营过程是由谁完成的。另外,通过定义工作流应用程序来说明采用什么手段完成经营 过程。 硕士研究生论文第二章 理论基础 2 2 工作流管理系统的功能 在明确丁工作流基本概念的基础上,下面介绍工作流管理系统的定义。w f m c 给出的关于工 作流管理系统的定义是:工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按 照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。 从比较高的层次上来抽象地考察工作流管理系统,町以发现所有的工作流管理系统都提供 了3 种功能: 1 ) 建立阶段功能:主要考虑工作流过程和相关活动的定义和建模功能。 2 ) 运行阶段的控制功能:在一定的运行环境下,执行t 作流过程,并完成每个过程中活动 的排序和调度功能。 3 ) 运行阶段的人机交互功能:实现箨种活执行过程中用户与1 1 应用工具之间的交互。 如f 图2 1 给出的工作流管理系统i 个主要功能之间的关系。 l ;i hi i l r 。一1 1 i 、。、:、1 1 1 【、 、i - 】一凡ik :i i 、 f 奉 t ; 区三j 一, 卜 _ 一 - i 一 年一j e 。j 幽2 一l 其中工作流引擎软件是工作流管理系统的核心,t 作流引擎对使用工作流模犁描述的过程 进行初始化、调度和监控过程中每个活动的执行,在需要人工介入的场合完成计算机应用软件 与操作人员的交互。这样【作流引擎实现了在模型中定义的经营过程与现实l 什界中实际过程之 间的连接,这个连接通过工作流引擎与应用软件、操作人员的交日:来完成。实现这个连接的核 心功能是工作流管理软件,工作流管理软件又称为工作流引擎。 一 ;j 一 _ 一 一 i 川_ 主。一 硕士研究生论文 第二章理论基础 工作流引擎除了完成过程的创建、删除、活动的执行与控制外,它的另外一个重要的功能 是完成与应用软什及操作人员的交互。这是因为在实际企业应用中,应用软件和操作人员是完 成经营业务工作的主体,而工作流引擎通过过程定义和活动之间顺序控制实现这些独立的功能 实体间的集成,从而使整个企业经营活动成为一个协调运行的整体。 2 3 工作流管理系统体系结构和参考模型 t 口- 口 w 口- 一 罔2 2 w r m c 提出的工作流参考模型的体系结构图( 如上h22 所视) 。这个参考模型的体系结构 给出了抽象的工作流管理系统的功能组成部件和接厂| 中,它能够满足工作流管理系统和产品应 该具有的辛要功能特征,呵为实现工作流产品之间的互操作提供公其的基础。必须指,组成 工作流管理系统的每个功篚部什可以在不同的软硬件平台上采用不同的方法实现,同样接【二也 可以在不二j 的软硬件平台【:采用不同的设计技术和编程语言进行编程。一般说术,工作:史现不 同工作流产品之间的集成,它们会按照互操作和阱作的不同要求定层次上开放其接口。 从图:卜2 可以看出,工作流管理系统主要由三类构件组成: 1 ) 软件构件:完成工作流管理系统不同组成部分功能的实现 2 ) 系统控制数据:工作流管理系统中的一个或多个软件构件使用的数据 2 硕士研究生论文 第二章理论基础 3 ) 对于工作流管理系统来说,它们不是工作流管理系统的组成部分,而是属于外部系统和 数据,它们被工作流系统调用来完成整个和部分工作流管理的功能。 工作流参考模型中涉及的几种数据如下: 1 ) 工作流控制数据:工作流引擎通过内部的工作流控制数据来辨别每个过程或活动实例 的状态。这些数据由工作流引擎进行控制。用户、应用程序或其他的工作流引擎发消息 请求来获得工作流控制数据的内容。 2 ) 工作流相关数据【- o r k f l o _ r e l e v a n td a 妇) :工作流管理系统通过工作流相关数据 来确定过程实例状态转换的条件,并选择下一个将执行的活动。这些数据可以被工作流 应用程序访问并修改。因此,工作流管理软件需要在活动实例之问传遣工作流相关数据。 3 ) 工作流应用数据( w o r k f l o wa p p l i c a t i o nd a t a ) :这种数据是指那些由应用程序操作 的数据。它们是针对应用程序的是企业完成具体的业务功能所需要的数据,如产品结 构数据、定单数据、生产作业计划数据等。工作流管理系统无法也不需要对它们进行访 问。 2 4 工作流模型和建模工具 工作流模型包含了描述一个能够由工作0 鸸i 擎软件系统执行的过程所需要的所有信息。这 些信息包括过程的开始和完成条件、构成过程的活动以及进行活动间导航的规则、用户所需要 完成的任务、可能被调用的应用、工作流引擎的引用关系,以及所有与工作流相关数据的定义。 过程定义可能引用组织角色模型中关于组织结构、组织中的角色等信息。这样在进行过程巾活 动或信息对象的定义时,不仅可以指定某个特定的人是这个 活动或信息对象的参与者,而且可以将活动或信息对象与组织实体或角色功能进行关连。 过程定义指定完成某项活动的组织实体或角色而不是定义具体的人员。在工作流执行环境中, 工作流引擎负责将组织实体或角色功能与特定的参与者进行连接。这样做的好处是不仅可以增 加过程定义的方便性,而且还可以提高工作流引擎的灵活性。 过程建模工具以计算机能够处理的形式进行过程的定义,并且输出一个能被工作流引擎解 释并执行的过程定义。 颈士研究生论文 第二章 壤谂基础 图2 3 在工作流建模上,工作流管理联盟开餍了两个寿- 蕊的工依: 1 ) 定义了一个元模型:所谓元模型一般最据描述模型纳模型。这里的工作流模型的元模 型是用来描述工作流模型内在联系的模型。它用于描述工作流模鬻内部包含的各个对 象、越象之黼弱关蓉疑对象救辍性。送个元模型囊利于穗盏可以程多个王侔流产箍芝 问交换信息的模型。 2 ) 定义了一套霹鼓袭工 擘渡蕾壤系统之瓣、管瑾系绕与建模工是之涟变互过鞭模篓定义 , 的a p l ( 应用编程接翻中) 。 : 圈2 一:i 为工作流管理联魏定义的过程元模型。该筷型包含了以f 几个摹本实体: n 1 ) 工傺渡定义( 过程携溅) ;它一般包含谱如工作滚模型名拣、舨本弩、过理襄动彝终止 的条件、系统安全、监控和控制信息等系列纂本属性。这个过程模型反映了企业中 一个经营建稷鹣瑶懿,帮这个进程要窭壤熬嚣熬秘最终这捌懿嚣豁楚嚣么。 2 ) 活动:主要属性有活动名称、活动类型( 原子缀活动、子流程等) 、活动的前后条件、 诲震鳕索参数( 鲡最筏楚琵对澈、捧酞等待眩阂簿) 等。警工终濂运 亍窿分南静琢境 下时+ 在活动的属性中还应该包括执行该活动的工作瀛引擎的位鼹。活动梢应子企般 经营过程中的任务,主要反映完成企业缝营过程糯要执行哪些功自操作。 3 转换綦件:主要负责为过程宴捌的推进提供导靛依据,主饕参数包括工乎# 溅过程条髂 ( f l o ,c o n d i t i o n 髓程实例向前推进的条件,可以认为是前后条件的同义词) 、执 4 硕士研究生论文 第二章理论基础 行条件( e x e c u t i o nc o n d i t i o n ,执行某个活动的条件) 和通知条件( n o t i f i c a t i o n c o n d i t i o n ,通知不同用户的条件) 。转换条件对应于企业经营过程中的业务规则和操 作的顺序,如在定单处理完成后,执行生产计划制定。 4 ) 工作流相关数据:工作流根据工作流相关数据和转换条件进行推进。工作流相关数据的 属性包括数据名称、数据类型和数据值等。它是工作流引擎执行任务推进的依据如在 银行贷款申请表处理后,根据申请贷款的值( 如是否大于l o 万元) 决定下一个执行的 活动是什么经,比如,大于1 0 万元的申请交业务经理处理,小于l o 万元的申请交给业 务员处理。 5 ) 角色:角色属性主要包括角色的名称、组织实体( o r g a n iz a t i o n a le n t i t y ) 、角色的能 力等。角色或组织实体决定了参与某个活动的人员或组织单元。它主要描述企业经营过 程中参与操作的人员和组织单位。 6 ) 需要激活的应用程序:主要属性包括应用程序的类型、名称、路径及运行参数等。应用 主要描述用于完成企业经营过程所采用的工具或手段,如采用e r p 软件或决策支持软件 完成具体的企业业务功能。 2 5 工作流引擎 工作流引擎工作流管理系统的核心。实际上它是企业经营过程的任务调度器,在某种程度 一 一。 上还是企业资源分配器。在采用工作流管理嚎统支持经营过程运行的企业中,j 二作流执行服务 可以看成是企业的业务操作系统。企业的业务过程在它的管理、监控和调度下运行,因此,工 作流引擎的性能和可靠性就直接决定了企业经营过程的运行效率和安全性。它提供了过程实例 执行的运行环境,主要完成以下功能: ( 1 )实例化及执行过程模型:解释企业经营过程的过程定义,根据过程执行需要的初始 条件和执行参数生成过程实例,运行过程实例并管理其运行过程。这里需要指出的是,一个过 程模型实际是企业经营过程的一个模板,它可以被执行多次,也可以有多个有关这个过程模型 的实例在同时运行。如定单处理过程,每当来了一个新的定单时,它都启动一个新的工作流流 程,只不过每个流程处理的定单不同而已。因此,运行多个定单处理过程模型的实例意味着有 多个定单在被处理。 ( 2 ) 为过程和活动的执行进行导航过程定义和工作流相关数据,为过程实例的运行 碰士研究生论文 第二章理论基础 进行导航,如根据过程的进入和退出的条件启动和终止一个过程实例活动之间的关联和活动的 执行条件,决定并行或串行执行后续活动;给用户提供需要操作的工作流任务项信息;或者根 据所需激活的应用程序信息启动相应的应用程序等。 ( 3 ) 与外部资源交互完成各项活动:工作流执行服务通过两种途径完成与外部资源和用户 的交互在:客户应用接口和直接调用应用接口方式。对于客户应用方式,工作流引擎通过任务 项列表管理对应用的执行进行管理。任务项列表管理器提供任务项列袭供用户进行选择,并记 录监督工作项的完成情况。由用户完成从任务项列表管理器提供的任务项列表中选择相应的任 务项,并在需要的时候调用应用工具完成相应任务的执行。在任务执行完成后,用户需要修改 相关任务项的状态,如置完成标志,供任务项列表管理器使用。这些通过任务项列表管理器分 发并管理的,需要用户操作的活动,对应于工作流管理系统中用户手工完成的活动( 非自动化 活动) ,如在完成对一个产品招标标书的评审后,由业务员向供应商发出竟标成功的通知,并与 供应商签订供货合同。 对于直接由工作流引擎启动的活动,由工作流引擎直接调用相应的应用来完成,这些自动 执行的应用同样需要将合适的预先定义好的应用执行完成情况反馈给工作流引擎。工作流引擎 自动调用的应用主要是针对基于服务器的无需用户参与的应用,即自动化活动。如在某个设计 囤纸完成电子会签后,自动进行版本发布并将图纸归档。 ( 4 ) 维护工作流控制数据和工作流相关数据:工作流在执行过程中要维护不同过程和活 动实例的内部状态信息,以及用于胁调和恢复的各种检查数据和恢复重起信息,还包括用户传 递的必要的相关数据。 工作流引擎是一个为工作流实例的执行提供运行服务环境的软件。它是工作流执行服务的 核心,是执行企业企业经营过程的“业务操作系统气的内拔。从提供的功能上看它主要完成 以下任务: 1 ) 对过程定义进行解释。 2 ) 控制过程实例的创建、激活、挂起、终止等。 3 ) 控制活动实例问的转换,包括串行或并行的操作、工作流相关数据的解释等。 4 提供支持用户操作的接口。 5 ) 维护工作流控制数据和工作流相关数据,在应用或用户问传递工作流相关数据。 6 ) 提供用于激活外部应用程序和访问工作流相关数据的接口。 7 ) 提供控制、管理和监督工作流过程实例执行情况的功能。 1 6 硕士研究生论文 第二章理论基础 工作流引擎的一个重要功能就是控制过程实例和活动实例的状态转换。工作流管理联盟提 出的参考模型中对过程实例运行状态和活动实例状态进行了定义,并给出了状态转换的条件。 过程实例包括以下几种运行状态: 1 ) 起始( i 1 1 j t i a t e d ) :一个过程实例已经生成,但该过程实例目前还没有满足开始执行的条件; 2 ) 准备运行( n m n i n g ) :该过程实例已经可以执行,但是还不满足开始执行第一个活动并生成 一个任务项的条件; 3 ) 运行中( a c t i v e ) :一个或多个活动已经开始执行( 也就是已经生成一个或者多个任务项并 分配给了台适的活动实例) ; 4 ) 挂起( s u s d e n d e d ) :该过程实例正在运行,但处于静止状态,除非有一个“重启”的命令或 者外部事件促使该过程实例回到准备运行状态,否则所有的活动都不会执行; 5 ) 结束( c o m d l 吐c d ) :该过程实例执行已经完成,并且满足了结柬该实例的条件,工作流管理 系统将执行过程实例结束后的操作( 如统计) ,并删除该过程实例; 6 ) 终止( t e m 证a t e d ) :该过程实例在正常结束前被迫终止( 如出现错误或者异常情况) ,工作 流管理系统将执行补救措旆,并删除该过程实例。 活动实例的运行状态: 1 ) 未开始( 西a c h v e ) :一个活动实例已经生成,但还没有被激活( 例如,活动开始条件没有满 足) : 2 ) 运行中( a c t i v e ) :该活动实例已经被激活正在运行; 3 ) 挂起( s u s d e n d e d ) :由于出现异常情况或者错误,该活动实例被暂时挂起,活动处于静止状 态: 4 ) 结束( c o m d l c t e d ) :该活动已经执行完毕,工作流管理系统将进行活动结束后的导航工作 激活下一个符合启动条件的活动实例。 2 6 工作流客户端 工作流管理系统的客户端功能是指用户操作工作流管理系统分配的任务或者活动的功能。 它由工作流任务表管理器和用户操作共同完成。工作流任务表是指分配给一个特定用户( 或一 组用户) 处理的任务项组成的队列。工作流任务表管理器是一个软件模块,负责管理工作流任 务表,并完成与晟终用户的操作进行交互。工作流任务表管理器可以作为工作流管理系统的一 硕士研究生论文 第二章理论基础 部分提供给用户,也可以是用户自己编写的程序。 在工作流模型中,客户端应用与工作流引擎的交互通过定义良好的接口完成。这个接口就 是工作流任务表。在最简单的情况下,工作流引擎通过存取工作流任务表来完成特定任务到特 定用户的分发过程,而工作流任务管理器存取工作流任务表是为了获取任务项,将它们提供给 用户进行处理是,并得到处理结果。 2 7 系统管理和监控工具 系统管理与监控是复杂软件系统一个非常重要的功能。在实际应用尤其是在企业应用中, 系统在运行过程中不可避免地会出现许多意外情况,正确及时地处理这些意外情况对于保证应 用系统良好运行具有十分重要的意义。除了在系统设计实施中充分考虑各种情况,提高应用系 统的可靠性和健壮性外,提供良好的系统管理与监控工具对于提高系统的应变能力,充分发挥 用户处理复杂问题的聪明才智是一个有效的方法。 工作流系统管理与监控工具能够对工作流在整个组织内的流动状况进行监视并提供系 列的管理功能,实现安全性、过程控制和授权操作等方面的管理。它包括以下几个方面的功能: 1 ) 建立、设置和优化组成工作流管理系统的各个软件。 2 ) 对过程模型进行实例化。 3 ) 将过程模型中的角色实例化。 4 ) 将运行中的过程实例、活动实例和数据分发到各个工作流引擎中。 5 ) 启动、挂起、恢复和终止过程实例。 6 ) 管理正在执行的过程实例,并对正常结束或异常退出的过程实例的历史数据进行 统计和分析。 2 8 卧p i 与接口 w 棚是一组工作流应用编程接口函数及其相应的数据交换格式,调用这些接口函数可以 完成工作流联盟定义的5 类接口的功能。这5 类接口需要的操作函数包括一组a p t 调用函数和 一些数据交换函数。它们是: ( 1 ) a p i 调用:完成连接建立、过程控制、活动管理等功能包含以下类型的功能函数 供编制接口程序使用: 1 8 硕士研究生论文第二章理论基础 p t 1 ) 建立连接。 2 ) 操作工作流模型及其对象。 3 ) 控制过程。 4 ) 监控过程。 5 ) 检测过程状态。 6 ) 管理活动。 7 ) 操作数据处理。 8 ) 操作工作流任务表任务项处理。 9 ) 管理用户。 1 0 ) 管理角色。 1 1 ) 管理监控。 1 2 ) 控制资源。 ( 2 ) 数据交换函数:数据交换格式的定义与转换函数,能够满足过程数据传递和工作流 相关数据传递的需要。 a p i 调用通常可以以它们的逻辑功能、操作的数据类型( 调用参数) 及引用的数据结构等 参数项进行定义。这些a p i 定义需要与具体的程序实现语言进行绑定, w f m c 定义了5 类接口。 1 ) 接几1 :工作流服务和工作流建模工具间的接口,包括工作流模型的解释和读写操作: 2 ) 接n2 :工作流服务和客户,应用之间的接口,这是最主要的接口规范,它约定所有客 户方应用与工作流服务之间的功能操作方式: 3 ) 接口3 :工作流引擎和直接调用的应用之间的直接接口; 4 ) 接口4 :工作流管理系统之间的互操作接口: 5 ) 接口5 :工作流服务和工作流管理工具之间的接口。 1 9 硕士研究生论文第三章系统的组成和分析 3 1 系统组成 第三章系统的组成和分析 针对w f m c 提供的工作流管理系统的参考模型,我们提出了体系结构,如下图3 1 i “= i i jj jz ;爵 :j s 器;蓐:基:鲻筝茹i ;轷赢溽一:南- ;蔷:;,。j :;,。; 图3 】 我们的系统分成三大部分,简介如下: s t u d l o :工作流建模和管理工具 s m d l o 的功能包括: 1 工作流定义:通过图形化的界而定义丁作流程、每项任务的执行者、所执行的自动化操 作: 2 工作流监控:显示每个工作流的实例数目、运行情况,暂停或停止工作流的执行; 3 = 作流统计:统计任务的执行情况,可用于管理评估和过程改进的目的。 工作流定义中的要素包括: 1 开始( s t a r t ) :标志工作流的启动,完成上作流的初始化; 2 任务( 协k ) :用于定义具体的业务; 3 事件( e v e n t ) :用于与外部应用程序或其他工作流实例进行同步: 4 扶策( d e c i s i o n ) :根据条件表达式的值决定工作流向和采取的动作; 5 完成( d o n e ) :标识工作流完成; 硕士研究生论文 第三苹系统的组成和分析 6 分裂( s p 址) :启动并发的执行流程: 7 汇聚( j o i i l ) :进行并发任务的同步; 8 动作( a 撕a n ) :完成自动执行的一些任务,如发送邮件、执行业务方法等; 9 变量( v a n 曲k ) :工作流相关数据。 w b r k l i s t :待办工作列表 w j 越随是一个j s p 实现的工作单界面,功能是: 1 启动新的工作流实例: 2 执行某项任务; 3 修改任务的属性; 4 将任务代理给其他人员。 e n g i n e :工作流引擎是工作流系统的核心,它的功能包括: 1 根据模板库的定义将工作流实例化,并持久保存在实例库中: 2 按照工作流定义执行工作流中定义的活动; 3 通过w 打“s 与任务的执行者进行交互: 4 通过a p i 接收外部应用的调用; 5 通过a p i 调用外部应用程序; 6 与其他工作流实例的协同。 3 2 工作流管理系统分析 3 2 1b u i i d t i 赫状态的相关机制 本系统的工作流流程定义语言( 以下简称w p d l ) 主要参照恻c 的流程定义语言( 文档: ) o d l 0 1 0 0 5 2 ) 。w p d l 包含如下几个方面的内容: 1 工作流定义模板( t 踟l p l a t e ) ; 将工作流定义进行分类,是工作流具体定义的容器,某个模板下最多只有一个工作流定义 处于激活( 有效) 状态。 2 工作流流程( p r o c e s s ) : 一个工作流流程代表了一项自动的业务流程,可以通过子流程定义分级结构的流程,可以 通过事件等机制定义流程之问的相互协作。 流程定义的层次结构按) 函皿格式简要描述如下: 2 】 硕士研究生论文j 三章系统的组成和分析 ( i e l e m 匣n t 0 1 r p r o c c s s ( 流程标志及相关属性) , ( 传入或传出的参数) , ( 流程类别) ( 局部工作流变量) ( 流程的参与者) ( 工作流应用) ( 活动+ ) 其他自定义属性1 流程属性主要包含如下几个方面的特征: 标志属性( 畦n e ,v e r s i o n ) 生效,失效时间 启动模式 流程定义允许传入、传出参数。 3 活动( a c t i t y ) 工作流活动既可以是一项最简单化的业务操作也可以代表从属于复杂流程中的一项子流 程。 工作流活动用) 锄l 格式表示为如下的层次结构: 1 0 0 0 0 如果表达式为真则由总经理审批,否则由部分经历审批。在这里,订单金额是工作 流变量。 场景2 :定义工作流实例的l d 在工作流定义的时候,我们可以用表达式来定义每个- 哭即刚j u ,升仕垤仃叼水衙只但。例 如,该m 可以包括日期、时间、发票号、客户名称以及其他信息。这些信息使得每个工作流 实例可以互相区分开。也比单纯的流水号更易读。在w o 删i s th d l c f 中也可以更好地定位每个 工作流实例。 场景3 :定义可以启动工作流的组织 在工作流的属性中,通过表达式指定那个组织的成员可以启动该工作流。 场景4 :在工作流实例启动时初始化_ 些工作流变量 这些变量通常是在工作流启动的时候从外部传入的。如果是通过事件启动的,那么最好的 方式是传入一个如帆文档。然后使用】国儿表达式( 通过x p g 血函数) 给变量赋值。 场景5 :确定活动,任务的完成期限( d d a 忙) 每个任务可以指定应该完成的时问。该时间可以用表达式指定,并且在任务激活的时候进 行求值。 场景6 :指定工作流活动,任务的执行者( 人) 通过表达式( 返回字符串) 指定活动的执行者。由于表达式中可以使用工作流变量,这实 硬士研究生论文 第五章表达式求值嚣 际上提供了一种途径可以在运行时指定工作的执行者。例如,可以设置一个工作流变量a p p o v h ( 审批者) ,并把他指定给a p p o v e 任务活动。工作流应用可以用自己的算法确定任务的执行者 并将其通知工作漉管理系统。 场景7 :指定工作流活动,任务的执行者( 角色) 同上。 场景8 :使用路由表分派任务 任务的指派可以通过路由表来实现。在执行时通过扫描路由表,当满足路由表中的条件 的时候,就将该任务指派给某人或某角色。如下图所示: 场景9 :设置任务的描述文字( c o l n i n e l l t s ) 任务的描述文字可以动态生成,提供更强的可读性。见场景2 中的有关描述。 场景l o :设置工作流的描述文字( c m 临) 工作流的描述文字可以动态生成,提供更强的可读性。见场景2 中的有关描述。 场景l l :( 运行时) 给工作流变量赋值 在运行时赋给工作流变量一个表达式,并求得其值。 场景1 2 :调用应用程序时传递参数 在定义工作流相关应用或a 砸o n 的时候,需要传递参数。这些参数

温馨提示

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

评论

0/150

提交评论