(计算机软件与理论专业论文)基于工作流的协同办公系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于工作流的协同办公系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于工作流的协同办公系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于工作流的协同办公系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于工作流的协同办公系统的研究与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机软件与理论专业论文)基于工作流的协同办公系统的研究与实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第l 页 摘要 随着互联网技术的快速发展,办公自动化在企业级信息系统中的应用越来 越广泛。目前,协同办公系统己经在企业和事业单位得到了广泛的应用,如何 快速、高效的开发灵活、可扩展的企业级应用是一个难题。协同办公系统的开 发经过多年的发展已经积累了一定的基础,但是依据传统方法构建的系统正面 临着信息孤岛不断增加、需求不断变更等困难。 论文以工作流技术作为协同办公的实现基础,采用开放源代码的工作流引 擎o s w o r k f l o w 来设计工作流,采用j 2 e e 和) ( m l 提供的构件定义生成的业务对 象模型、业务应用模型和业务流程模型结合,把已有的协同业务构件平台部分 功能提供作为开发使用的后台管理平台并进行扩展,并在此基础上开发协同办 公系统。 论文以高新开发区科技局的企业协同办公系统的开发为背景,在介绍协同 业务构件平台,并研究工作流理论的基础上,通过对企业办公过程中协同办公 和文件处理业务需求的深入分析和研究,利用工作流模型和面向有技术背景用 户的o s w o r k f l o w 对协同办公的工作流进行了设计与实现,并对工作流引擎进 行了分析和设计,而且还分析了协同办公必须的权限管理:然后对系统的网络 体系结构、功能结构、系统体系结构和相关接口进行了设计,最终实现高新开 发区科技局的m y c o m 协同办公系统和m y c o m 协同构件平台。 关键词:工作流;协同办公;o s w o r k f l o w ;构件;业务流程 a b s t r a c t w i t ht h e r a p i dd e v e l o p m e n to fi n t e r n e tt e c h n o l o g y , o f f i c ea u t o m a t i o ni n e n t e r p r i s ei n f o r m a t i o ns y s t e mi sm o r ea n dm o r ee x t e n s i v e a tp r e s e n t ,c o l l a b o r a t i v e o f f i c es y s t e mh a sb e e nw i d e l yu s e di ne n t e r p r i s e sa n di n s t i t u t i o n s h o wf a s ta n d e f f i c i e n tt od e v e l o p ef e x i b l e ,s c a l a b l ee n t e r p r i s ea p p l i c a t i o n si sad i f f i c u l ti s s u e c o l l a b o r a t i v eo f f i c es y s t e ma f t e ry e a r so fd e v e l o p m e n th a v ea c c u m u l a t e das o l i d f o u n d a t i o n ,b u tb a s e do nt r a d i t i o n a lm e t h o d so fb u i l d i n gi n f o r m a t i o ns y s t e m sa r e f a c i n gs o m ep r o b l e ml i k ei n c r e a s i n gi s o l a t i o n ,n e e d sc o n s t a n t l yc h a n g i n g b a s e do nw o r k f l o wt e c h n o l o g ya sab a s i sf o rt h er e a l i z a t i o no fc o l l a b o r a t i v e o f f i c es y s t e m ,u s i n gt h eo p e n - s o u r c ew o r k f l o we n g i n eo s w o r k f l o wt od e s i g nt h e s y s t e m sw o r k f l o w , u s i n gj 2 e ea n dx m ld e f i n i t i o no ft h ec o m p o n e n t so fb u s i n e s s o m e c t sm o d e l ,b u s i n e s sa p p l i c a t i o n sm o d e la n db u s i n e s sp r o c e s sm o d e lt h a ti s i n t e g r a t e d ,u s i n ge x i s t e dc o l l a b o r a t i v eb u s i n e s sc o m p o n e n tp l a t f o r mt op r o v i d e s o m ef u n c t i o n sa sam a n a g e m e n tp l a t f o r ma n de x p a n di t ,a n do nt h e s eb a s i s a c o l l a b o r a t i v eo f f i c es y s t e mi sd e v e l o p e d i nt h i sp a p e r , w i t ht h eh i 曲一t e c hz o n e st e c h n o l o g yb u r e a u sc o l l a b o r a t i v eo f f i c e s y s t e mf o rt h eb a c k g r o u n d ,o nt h eb a s i so fr e s e a r c hc o l l a b o r a t i v eb u s i n e s s c o m p o n e n tp l a t f o r ma n dw o r k f l o wt h e o r e t i c a lk n o w l e d g e ,t h r o u g hi n d e p t ha n a l y s i s a n ds t u d yb u s i n e s sn e e d so ft h ec o l l a b o r a t i v eo f f i c ea n dd o c u m e n tp r o c e s s i n gi nt h e c o l l a b o r a t i v eo f f i c es y s t e m ,a n du s ew o r k f l o wm o d e la n do s w o r k f l o wt h a ti sf o r t e c h n i c a lb a c k g r o u n du s e r st oa n a l y z ea n dd e s i g nc o l l a b o r a t i v eo f f i c e sw o r k f l o w , a n d a n a l y z et h e w o r k f l o we n g i n e ,a n d a n a l y z et h ec o l l a b o r a t i v eo f f i c e sr o l e m a n a g e m e n ts y s t e m t h e nd e s i g nt h es y s t e m sn e t w o r ka r c h i t e c t u r e ,f u n c t i o n a l a r c h i t e c t u r e ,s y s t e m a r c h i t e c t u r ea n dr e l a t e di n t e r f a c e u l t i m a t er e a l i z et h e h i g h - t e c hz o n e st e c h n o l o g yb u r e a u sm y c o mc o l l a b o r a t i v eo f f i c es y s t e m sa n d m y c o mc o l l a b o r a t i v ec o m p o n e n t sp l a t f o r m k e yw o r d s :w o r k f l o w ;c o l l a b o r a t i v eo f f i c e ;o s w o r k f l o w ;c o m p o n e n t s ;b u s i n e s s p r o c e s s 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位 论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密i 使用本授权书。 ( 请在以上方框内打“4 ”) 学位论文作者签名:土嘲讯 指导老师签名: 日期:郦6 1 7 冈批 日期川c 7 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承 担。 本学位论文的主要创新点如下: 论文的协同办公系统是以工作流技术作为的理论技术基础,采用开放源 代码的工作流引擎o s w o r k f l o w 来设计系统的。采用j 2 e e 提供的构件和x m l 定义生成的业务对象模型、业务应用模型和业务流程模型结合,实现了以协 同业务构件平台为基础快速开发系统的协同构件平台,并在此基础上开发了 协同办公系统。论文的主要设计思想如下: 1 论文是以工作流技术为基础,通过基于统一的x m l 格式并采用w e b s e r v i c e 技术进行数据的传递,保证业务对象、业务应用和业务流程能够在 不同的机构人员之间得到有效流动、处理和反馈,并最终形成企业内部业务 协同工作机制: 2 运用把业务语言转化为技术主义的思想,运用系统的业务人员熟悉自 己行业的特定业务,而不一定对计算机语言有所了解,因此建立业务流程的 关键问题是用户业务语义向技术语义的转换; 3 充分利用了构件来实现系统,充分体现了敏捷开发、模型驱动的软件 工程新思路。 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 课题提出背景和意义 随着信息技术的迅速发展,并伴随着国家在经济信息化建设中投入比重 的不断加大,电子商务拉近了企业与企业、企业与客户之间的联系。其中协 同商务通过拉近虚拟空间上的距离,通过信息的电子化共享,大大提升了虚 拟位置上的优势。通过开展协同商务,企业可以增强自身的核心竞争力,可 以解决其信息、知识、技术和创新上的危机,可以提升其在客户心目中的信 任度n 。 但是目前行业的不同和软件提供商的众多,使得协同商务产品形成了各 自的差异,虽然技术在不断的进步,但差异并没有减少。如何屏蔽不同厂商 产品之间的差异,如何减少应用软件开发与工作的复杂性和重复性,是人们 不得不面对的现实问题口1 。现有信息系统的开发实施方式也已经不能满足用 户的需求,主要存在四大难题: 1 不断增加的信息孤岛。企业在长期的经营过程中,建立了许多不同 的应用系统,这些应用系统有着不同的数据格式和数据访问存储方式,彼此 之间无法进行有效的数据交换;经过长期积累后,产生了许多处于孤立状态 的、无法和其它数据统一关联使用的数据或者数据集合,可以称之为信息孤 岛。信息孤岛会导致重复建设、效率损耗、信息浪费等严重的后果h 1 。 2 捉摸不定的用户需求。随着时间的推移、外部条件的变化、业务规 则的改变等等,用户的业务都会发生相应的变化,这就要求为这些业务而服 务的软件也能够做出相应的变化嘲。 3 对协同应用的迫切需要。企业的整个生产和经营环节是连贯的,所 谓协同应用,就是将人员、知识、业务等在一个系统里连接起来,形成一个 完整的应用。让一个信息应用系统,能够贯穿于企业的各个环节;随着人们 生产力水平的提高,业务工作会越来越复杂,很多工作都需要很多人一起协 作才能够完成;于是,对协同应用的需要也就越来越迫切哺1 。 4 不可回避的信息化本质。对信息化本质的认识过程是从关注技术语 义到关注业务语义,从空谈决策支持到实践业务智能,从信息化的表象到信 西南交通大学硕士研究生学位论文第2 页 息化的实质都必须是一个渐进的过程口1 。 在此前提下提出了通过通用平台来构建信息系统的思想,以增强信息系 统开发的通用性。协同业务构件平台就是在这种背景下提出来的,如何在最 短时间内设计、实施、部署一直是信息化建设的瓶颈,而协同业务构件平台 是基于j e e e 和可扩展标记语言( t h ee x t e n s i b l em a r k u pl a n g u a g e ,) ( m l ) 的 中间件平台,通过平台自带的各种构件和模型设计器、管理器,用户可以快 速、准确地构建各类企业信息系统,并为企业保留充分的可扩展性。 通过协同业务构件平台来开发高新开发区科技局的m y c o m 协同办公系统 和m y c o m 协同构件平台。科技局是开发区环境保护的主管单位,随着改革开 放的不断深化,中小企业的不断增加,对环境保护管理的要求越来越高、管 理的环境越来越复杂、任务的协同性要求也越来越高;文件处理、档案管理 等工作量不断增加,传统的计算机办公只能帮助完成一些编辑、统计和文档 电子化等工作,这些工作仅仅是现代办公的一部分,大量工作集中在文件传 阅、审批和归档等管理中。为了提高工作效率、加快文件周转审批速度、降 低工作成本,科技局经过全面调研与论证,提出建立m y c o m 协同办公系统, 希望能以协同办公系统的实施为切入点,建立覆盖科技局内的计算机管理系 统,实现管理的规范化、办公的科学化和企业的现代化。 1 2 国内外研究现状 1 2 1 协同办公发展历史 协同概念在办公领域的兴起,源于办公自动化的发展。办公自动化旨在 利用计算机技术,以科技的手段改变人们传统的工作模式、改善办公手段、 提高工作效率、改善信息管理和加强信息综合利用。 办公自动化作为国内外信息化建设的主要内容,在过去的二十多年中, 得到了飞速的发展。纵观办公自动化发展的历史,大致可以将协同办公其分 为三个主要的阶段懵瑚。: 第一阶段协同办公以数据为核心。始于2 0 世纪8 0 年代,源于政府部门 和部分企事业单位对公文和档案管理的需求,基于单机工作模式,实现了文 档写作和档案管理的电子化,解决了文档处理和信息查询的基本问题,但是 群体协作能力低,信息共享不利。 西南交通大学硕士研究生学位论文第3 页 第二阶段协同办公以工作流程为核心。随着9 0 年代工作流技术的面世, 以及网络通讯技术的长足发展,工作流程自动化实现了收发文档从传统的手 工方式向工作流自动化方式转变的革命性飞跃n 训。 第三阶段协同办公以知识管理为核心,伴随着知识经济概念的提出孕育 而生。经合组织为其定义为“知识经济是建立在知识和信息的生产、分配和 应用之上的新型经济。这就预示着新一代的办公自动化系统,是融信息处 理、业务流程和知识管理于一体的应用系统。办公自动化也从以政府部门办 公领域应用为主,变成群体之间的协作、通讯和工作流自动化,更加适应于 企业,有着更广阔的应用前景n h 捌。 1 2 2 协同办公研究现状 从上世纪未协同办公出现,到协同办公的高级形态协同商务概念出现至 今,协同办公已经经历了从概念化到产品化、应用化的发展历程n 驯。位于美 国德克萨斯州的b u s i n e s si n t e g r a t i o nj o u r n a l 一直致力于业务流程与其所 依赖的底层技术的研究n 钔。 协同办公早就是国外各大软件厂商看好的市场领域,并纷纷推出各自重 量级的协同产品,其中,尤其以i b m 、微软和s a p 位居前列。 i b m 作为协同市场的领军人物,其产品l o t u sd o m i n o n o t e s 一直占据协 同市场的主要份额,2 0 0 2 年1 0 月l o t u sd o m i n o n o t e s6 的发布,提出情景 协作,将模块化的协作构件嵌入到应用的每一个领域,更是带来了协作技术 史上的又一次革命n 毛1 6 1 。 微软的m se x c h a n g es e r v e r 一直是i b ml o t u s 的主要竞争对手,而微 软又全面收购协同办公软件和服务提供商g r o o v en e t w o r k s ,将其协同办公 产品软件和解决方案纳入自己的o f f i c es y s t e m 产品线,显然协同办公己被 微软视为新一代产品中极其重要的特性n l1 8 3 。 s a p 公司是国际领先的e r p 软件提供商,2 0 0 4 年3 月,s a p 公司推出 n e t w e a v e r2 0 0 4 ,该产品初步构想就是将已有的s a p 产品和第三方产品集成, 意味着s a p 从比较单一的应用型产品提供商向平台提供商转化。2 0 0 5 年,s a p 公司紧接着推出n e t w e a v e r2 0 0 4 s ,在整个协同平台上引入w e b 服务的概念, 并提出企业服务架构,让协同商务更加灵活和开放n 引。 国内的协同办公软件大致可分为两类,基于i b ml o t u s 平台的应用软件 和自主研发具有独立知识产权的应用软件。前者在技术成熟度上具有不可比 西南交通大学硕士研究生学位论文第4 页 拟的优势,但后者由于更加切合国内应用的要求和特点,且性价比较高,也 获得了广大用户的认可。北京点击和复旦协达是最为成熟的两款协同办公产 品,此外合强、红帆、泛微、致远、领航等协同厂商,也逐步建立了自己的 区域市场优势啪2 。 1 3 论文研究的主要工作 论文的协同办公系统主要是基于工作流为核心,利用协同业务构件平台 的模块化协作构件技术为基础,并利用工作流引擎o s w o r k f l o w 来实现,因此 论文研究的主要内容及章节安排如下: 第一章绪论。主要介绍论文研究背景和意义,讨论国内外研究和应用 现状,提出论文研究的主要工作。 第二章系统开发基础。主要研究开发系统的协同业务构件平台的建模 体系和建模过程;并研究工作流的基本理论、工作流管理系统和工作流的基 本模型;还介绍了o s w o r k f l o w 的相关知识。 第三章协同办公系统的需求。对协同办公系统目标、组织机构和功能 需求等进行了较为详细的分析,并主要分析了与工作流相关的协同办公和文 件处理的业务流程。 第四章工作流的设计与实现。按照协同业务构件平台的建模过程和工 作流理论对m y c o m 协同办公系统中协同办公工作流进行详细的设计与实现, 对工作流涉及的权限管理和工作流引擎也进行了设计。 第五章协同办公系统的设计与实现。主要对系统的设计思想、网络体 系结构和功能结构等进行了设计与实现,并对系统的主要接口进行了实现, 最后设计了系统的安全性与可靠性。 最后是结论。对整个系统的实现方案进行总结以及展望。 西南交通大学硕士研究生学位论文第5 页 2 1 工作流理论 第2 章系统开发基础 2 1 1 工作流基本概念 工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有 固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务 或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高 工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。 尽管工作流从产生到现在已经取得了相当的成就,但对工作流的定义还 没有能够统一和明确,不同学者从不同角度对工作流做出了不同的定义晗刭: g e o r g a k o p o u l o s 给出的工作流定义晗3 1 是:工作流是将一组任务组织起来 以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由 一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多 个人与软件系统协作完成。 i b ma l m a d e nr e s e a r c hc e n t e r 将工作流定义阱1 为:工作流是经营过程 的一种计算机化的表示模式,定义了完成整个过程需要的所有参数;这些参 数包括对过程中每一个步骤的定义、步骤的执行顺序和条件、步骤由谁负责 以及每个活动所需要的应用程序等。 1 9 9 3 年工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a li t i o n ,w f m c ) 作为 工作流管理的标准化组织而成立,标志着工作流技术逐步走向成熟。w f m c 对 工作流给出定义为:工作流是一类能够完全或者自动执行的经营过程,根据 一系列过程规则、文档、信息或任务在不同的执行者之间进行传递与执行1 。 工作流从英文单词w o r k f l o w 而来,是工作w o r k 和流动f l o w 的组合, 是一种能够被计算机解释和执行的反映经营过程业务流动的计算机化模型。 2 1 2 工作流相关术语 使用工作流作为企业经营过程的实现技术,要求工作流模型不仅能够描 述活动及其相互之间的连接关系,而且需要定义许多其它信息,如组织、资 西南交通大学硕士研究生学位论文第6 页 源和数据等,这样才能被计算机解释和执行。图2 1 说明了工作流相关的一 些术语及其相互之间的关系。 图2 - 1 工作流相关术语之间的关系 1 业务过程。也称为经营过程,是指为了实现某个业务目标,在部分 或者全部组织机构和人员的参与下,利用企业资源在组织机构和参与者之间 进行文档、信息和任务的传递或处理而进行的一系列相互关联的活动。要描 述一个企业的业务过程,主要应该说明构成业务过程的活动和活动之间的连 接关系、活动的参与者和工作流应用程序等。 2 过程定义。是对业务过程的形式化表示,用来支持自动化操作。过 程可分解为一系列子过程和活动;过程定义包括活动及所涉及到的各种参数, 如起始和终止条件、活动调度规则和相关应用程序等。 3 活动。也称为步骤、任务,是工作流中的一个逻辑步骤,根据是否 需要人工参与可分为手工活动和自动活动;活动是过程执行中可被工作流引 擎调度的最小工作单元,要求有人或计算机的参与。 4 过程实例。是某个工作流过程的一次执行,是实际运行的一个过程。 5 活动实例。是实际运行中的一个活动,每个实例代表一个能独立控 制执行、具有内部状态的线程,可被外界通过标识进行存取。 西南交通大学硕士研究生学位论文第7 页 2 1 3 工作流管理系统 工作流管理系统( w 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 f m s 是具有一个或多个工作流 引擎的软件,这些工作流引擎可以对过程定义进行解释、与工作流的参与者 进行交互、并根据需要调用其它的应用推进工作流实例的执行、同时监控工 作流的运行状态。 w f m s 是以业务流程的自动化或半自动化执行为研究目标的软件系统,它 将现实世界中的业务流程转化为某种计算机化的形式表述,并在此形式表述 的驱动下完成工作流的执行和管理。虽然不同的工作流管理系统具有不同的 应用范围和不同的实施方式,但是它们还是具有许多共同的特性。从较高的 层次上抽象地考察工作流管理系统,一个完整的w f m s 中主要包括如下七个部 分的构件和数据口7 朋1 : 1 过程定义工具。过程定义工具用来创建计算机可处理的业务过程,可 以是形式化的过程定义语言或对象关系模型,也可以是简单的规定用户间信 息传输的一组路由命令。 2 过程定义。过程定义包含工作流引擎执行过程所需的所有详细信息, 包括过程的开始和结束条件、组成活动、在活动间进行导航的规则、可能会 被调用的应用程序、所有工作流相关数据的定义等等。过程定义可能会涉及 到一个组织角色模型,模型包含组织结构和组织中的角色等信息。 3 工作流执行子系统和工作流引擎。工作流执行子系统也称为过程执 行环境,包括一个或多个工作流引擎;工作流引擎是w f m s 的核心软件组元, 工作流执行子系统可以包括多个工作流引擎,不同工作流引擎通过协作共同 执行工作流。 4 工作流控制数据。指被工作流执行子系统和工作流引擎管理的工作 流数据,如工作流实例的状态信息、每一活动的状态信息等。 5 工作流相关数据。指与业务过程相关的数据。w f m s 使用这些数据确 定工作流实例的状态转移,如活动间的传输数据;工作流相关数据既可以被 工作流引擎使用,也可以被应用程序调用。 6 工作表和工作表处理程序。工作表列出了与业务过程的参与者相关 的一系列工作项,工作表处理程序则对用户和工作表之间的交互进行管理; 工作表处理程序完成的功能有:支持用户在工作表中选取一个工作项、重新 西南交通大学硕士研究生学位论文第8 页 分配工作项、通报工作项的完成、在工作项被处理过程中调用相应的应用等。 7 应用程序和应用数据。应用程序可以直接被w f m s 调用或通过应用程 序代理接口被间接调用;通过应用程序调用,w f m s 部分或完全自动地完成一 个活动,或者对业务参与者的工作提供支持:与工作流控制数据和相关数据 不同,应用数据对应用程序来讲是局部数据,对w f m s 的其它部件是不可见的。 从较高的层次上抽象地考察工作流管理系统,所有的w f m s 都提供了三 个主要的功能1 : 1 建立阶段的功能。主要是工作流过程和相关活动的定义和建模功能。 2 建立阶段的规则功能。在一定的运行环境下,执行工作流过程,并 完成每个过程中活动的排序和调度;在一定的运行环境下,负责创建、执行 和控制工作流实例,激活相应的资源和应用,并完成过程中从一个活动到另 一个活动的控制转移;规则功能是整个w f m s 的核心部分。 3 运行阶段的人机交互功能。实现各种活动执行过程中用户与应用工 具之间的交互,即在工作流实例的运行中,w f m s 与工作流参与者及外部应用 程序进行交互的功能。 2 1 4 工作流基本模型 为了实现w f m s 的互操作,w f m c 给出了一个工作流参考模型,这个模型 描述了其主要的构件和接口。工作流执行服务( 即w f m s 中的工作流执行子系 统) 通过这五个接口与其它构件进行交互。按照w f m c 提出的工作流参考模 型,一个工作流系统包括五个构件组成,如图2 - 2 所示。 磊墨鎏竿誓 i 堡竺 和管理工具l 工作流过程 定义工具 丽 工作流执行服务其它工作流执行服务 前俐甸 i 接u 2i 接h 3 萄阖 工作流客户li 工作流引擎| 应用程序 il 调用的引用i 西南交通大学硕士研究生学位论文第9 页 1 工作流参考模型的基本构件啪一: ( 1 ) 工作流执行服务( 工作流引擎) 。工作流执行服务由一个或多个工作 流引擎组成;工作流引擎控制、管理每一个工作流的定义、启动和执行等。 ( 2 ) 工作流过程定义工具。过程定义工具用来创建计算机可处理的业务 过程描述;过程定义包括定义过程的结构、活动与导航和角色与参与者等。 ( 3 ) 工作流客户应用程序( 即w f m s 中的工作流表处理程序) 。w f m s 为每 一个用户维护一个工作表,用来表示当前需要该用户处理的所有任务;工作 流参与者通过客户应用程序来察看、管理自己的工作表,同工作流执行服务 协同工作,处理过程实例中需要人工干预的任务。 ( 4 ) 工作流引擎调用的应用。这种情况适合于不需要人工参与的自动活 动;在一般情况下,过程定义为应用启动提供了应用程序的类型、地址等足 够的信息,工作流引擎通过定义的数据来激活应用程序。 ( 5 ) 工作流监督和管理工具。用来监督、管理工作流的执行及其状态, 提供用户管理、角色管理和过程监督等功能。 2 w f m c 定义的5 类接口阱1 : ( 1 ) 接口1 。工作流执行服务和工作流建模工具之间的接口,包括工作 流模型的解释和读写。 ( 2 ) 接口2 。工作流执行服务和客户应用程序之间接口,这是最主要的 接口规范,约定所有客户应用程序与工作流执行服务之间的功能操作方式。 ( 3 ) 接口3 。工作流引擎与调用的应用程序之间的接口,一般是无人参 与的自动应用。 ( 4 ) 接口4 。工作流执行服务和工作流管理工具之间的接口。 ( 5 ) 接口5 。工作流管理系统之间的互操作接口。 2 2 协同业务构件平台 2 2 1 建模体系 某软件公司通过多年的积累和发展,开发出了利用模块化的构件快速搭 建系统思想的协同业务构件平台,论文正是通过协同业务构件平台来构建协 同办公系统。协同业务构件平台以基于j 2 e e 和x m l 的建模构件为基础,全 面引入其敏捷开发、模型驱动的软件工程思想来构建随需而变的业务系统。 西南交通大学硕士研究生学位论文第10 页 要做到随需而变,建模是基础;所谓建模,就是把各种具体的、多种多样的 业务抽象出来找出共性,然后再把这些共性抽象成模型,这些模型可被计算 机演绎成更多种类的业务洲,。 协同业务构件平台完全建立在基于模型的构件基础之上,构件是图形界 面、业务模型和逻辑处理的或组合,所有构件都可被复用、定制和管理。构 件通过建模模型进行构件和构件间的组合、引用,并最终和可替换的视图结 合形成完全的应用;协同业务构件平台中一组构件是由众多相互关联的捌l 模型组合在一起形成的。模型可以脱离于构件存在,并按照自己的规则形成 简单的应用;但一般来说,复杂的应用肯定会或多或少的通过x m l 引用被封 装成构件并依此形成复杂应用。在协同业务构件平台中,构件可分为模型构 件、服务构件、表现构件、业务构件和功能构件等: 1 模型构件将那些经常被使用模型的相关建立规则和调用方式抽象成 了可被复用的构件,帮助业务人员在描述业务时灵活快速的将业务模型和模 型构件结合在一起使用,迅速建立复杂的业务应用。 2 服务构件通常用来简化特定的编程过程,将这些常用的程序片断和 程序代码封装成了服务,使用户无须编程直接通过服务描述来调用它们。 3 表现构件提供一系列不可再分且用于交互的构件,其它构件和模型 通过引用这些构件最终形成丰富的应用界面和应用功能提供给用户使用。 4 业务构件为系统设计提供封装好的行业功能集合。该集合抽象了绝 大部分企业应用中都必须使用的相关业务点,复用行业开发中常见的表设计 模式和逻辑处理方法,使行业软件开发商快速构建行业应用成为可能。 5 功能构件提供了相对稳定的功能封装。 协同业务构件平台提供的构件有自行开发的业务对象模型创建向导工 具( b u s i n e s so b j e c td e s i g n e re x p r e s s ,b o d e ) 、业务对象模型管理工具 ( b u s i n e s so b j e c tm a n a g e re x p r e s s ,b o m e ) 和反向建模工具( o b j e c tr e v e r s e a g e n t ,o r a ) 等。通过b o d e 定义业务过程所需要的对象,通过b o m e 来维护这 些对象;通过o r a 将历史遗留数据、异质系统数据生成业务对象,o r a 目前 已经支持多种数据格式,包括s o ls e r v e r 、s y b a s e 、o r a c l e 等大型数据库, m y s q l 、p o s t g r e s q l 、i n t e r b a s e 等小型数据库,m sa c c e s s 、e x c e l 、d b a s e 等文本型数据库。当然平台还提供了许多其它构件如j a s p e r r e p o r t 报表及图 表设计器和f c k e d i t o r 文本编辑器等。 西南交通大学硕士研究生学位论文第11 页 2 2 2 建模过程 在整个协同业务构件平台架构中业务语义可被分解成业务对象、业务应 用和业务流程,最终形成各种x m l 语义描述模型,提供给引擎解析,引擎将 解析后的模型返回给用户,最终形成一个完整的反映业务语义的计算机应用。 一个业务过程由多个业务对象组合而成,一个业务流程又由多个业务应用或 者业务对象组合而成,协同业务构件平台通过从简单业务对象到复杂业务对 象、从简单业务应用到复杂业务应用、再到业务流程的层层衍生最终为一个 业务语义建立其可被计算机解释执行的模型。 如果说对象模型和模型构件是整个设计的基础,那么应用描述和定义就 处在核心地位上,这些语义描述最终会反映成应用模型和流程模型,整个协 同业务构件平台的目标就是引导用户建立业务对象,然后引导用户建立业务 过程,最后引导用户生成完整的软件系统。 1 业务对象建模 构建业务系统时,业务系统的构件、流程和相应业务都构架在业务对象 的基础上,所以在定义业务应用、业务流程以前,必须先建立业务对象。 每个业务对象,都属于一种业务对象类型。建立业务对象类型的目的, 主要是为了方便对业务对象进行分类、检索和管理。所谓业务对象类型,实 质上就是把具有相同性质的业务对象归为一类。一种业务对象类型,可以包 含多个业务对象;业务对象类型可以有多个子类型,一种业务对象子类型, 只能有一个业务对象父类型,平台提供组合继承关系的管理。一般业务系统 中业务对象分为两大类: ( 1 ) 系统级业务对象。是提供给整个平台业务基础流程使用的,一般用 户不能查阅、修改、删除的业务对象,通常是服务器运行时需要的数据的扩 展和抽象。 ( 2 ) 自定义业务对象。是与具体的业务系统相关联,可以是用户自己定 义的,也可能是用户通过反向建模策略获取的,对其中的具体数据结构进行 抽象;在定义业务对象时也可以定义业务对象和其它业务对象之间的继承和 依赖关系,就像数据库中表和表之间的关系一样。 2 业务应用建模 业务应用建立在业务对象的基础之上,一般来说,一个业务应用会涉及 多个业务对象。业务对象反映的是业务过程中的物件,所涉及的是属性数据 西南交通大学硕士研究生学位论文第12 页 及其属性数据行为这个层面。要把业务对象表现出来,提供给各种用户使用, 主要途径就是通过业务应用,业务应用就是业务流程的最小功能操作,也就 是工作流中的步骤。一般业务系统中业务应用也分为系统级业务应用和自定 义业务应用。在理解业务应用时,还需要注意两个基本概念: ( 1 ) 业务应用定义实际上是对应用表现方式的描述,通过b o d e 以向导 方式,辅助用户向设定好的框架中填充相应的数据表现;这个表现可以是列 表,也可以是树状结构、目录结构,甚至甘特图、直方图等图表分析;业务 应用定义都会存储在相应的x m l 配置文档中。 ( 2 ) 业务应用是真正包含用户数据的表现载体,通常它由序列化结构和 数据组成,各个应用之间还能通过应用编号彼此连接,并且有五个基本的操 作:创建、更新、删除、详情和搜索。 3 业务流程建模 业务流程建在业务对象和业务应用的基础上。业务应用是为某一个人或 者某一类人所定义的应用,其数据操作和发布的范围都是有限的。而通过业 务流程可以把这些业务应用流动起来,在不同的人、不同类的人之间流动。 业务流程的实现主要依靠工作流程引擎,工作流程引擎是协同业务构件 平台的一个重要构件。它可以根据客户具体的业务逻辑,来定义工作流模型, 整个应用程序就根据所定义的流程来运行。把应用系统模块和工作流程分开, 当流程发生变化,只需修改流程模型,具体的应用程序无需修改。 2 3o s w o r k fio w 协同业务构件平台提供了可视化的工具b o d e 和b o m e 对工作流进行定义 和维护,这些工具能够很好的和大多数工作流引擎进行结合,因此工作流引 擎的选择就显得十分重要。相对l o t u sn o t e s 提供完善和复杂工作流管理引 擎、s h a r k 和j b p m 强迫使用它的用户模型、而且大多数工作流引擎都要求符 合w f m c 提供的基本模型,采用轻量级的、基于有限状态机嘲( f i n i t es t a t e m 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 可以和自定义的用户模型结合使用。 但是o s w o r k f lo w 不希望一个非技术用户修改工作流程,像通过b o m e 等 g u i 可视化工具改变工作流通常会破坏这些应用,通常进行工作流调整的最 佳人选是有技术背景的用户。o s w o r k f l o w 是完全用j a v a 语言编写的开放 西南交通大学硕士研究生学位论文第13 页 源代码的工作流引擎,具有显著的灵活性及完全面向有技术背景用户的特点, 用户可以根据自身的需求利用这个开源软件设计简单的或者复杂的工作流。 通过o s w o r k f l o w 用户可以把工作重心放在业务和规则的定义上,而不需要通 过硬编码的方式实现一个p e t r i 网或是一个有穷自动机,用户可以用最小的 代价把o s w o r k f l o w 整合到自己的应用中来。 2 3 1 基本概念 o s w o r k f l o w 几乎提供了所有用户可能在实际流程定义中需要用到的工 作流元素,如环节、条件和状态等等7 l : 1 环节,也叫步骤( s t e p ) :一个s t e p 描述的是工作流所处的位罱。可 能从一个s t e p 流转到另外一个s t e p ,或者也可以在同一个s t e p 内流转( s t e p 可以通s t a t u s 来细分,形成多个s t a t e ) ,一个流程里面可以多个s t e p 。 2 状态( s t a t u s ) :工作流s t a t u s 是用来描述工作流程中具体s t e p 状 态的字符串。o s w o r k f l o w 中有u n d e r w a y ( 进行中) 、q u e u e d ( 等候处理中) 和 f i n i s h e d ( 完成) 三种s t a t u s 。一个实际状态( s t a t e ) 真正由两部分组成:s t e p 和s t a t u s 。 3 流转( t r a n s t i o n ) :一个s t a t e 到另一个s t a t e 的转移。 4 动作( a c t i o n ) :a c t i o n 触发了发生在s t e p 内或s t e p 间的流转,或 者说是基于s t a t e 的t r a n s t i o n ,一个s t e p 里面可以有多个a c t i o n 。一个 a c t i o n 典型地由两部分组成:可以执行此a c t i o n 的条件,以及执行此动作 后的结果。 5 条件( c o n d i t i o n ) :类似于逻辑判断,可以是“a n d ”或者“0 r ”逻 辑,或者都包含“a n d 和“o r ,逻辑。 6 结果( r e s u lt ) :一个结果是一系列指令,这些指令将告诉o s w o r k f l o w 下一个任务要做什么,这包括使工作流从一个s t a t u s 切换到另一个s t a t u s 。 对于每一个a c t i o n ,必须存在一个无条件结果( u n c o n d i t i o n a lr e s u l t ) ,只 有条件为真时才使用该结果;有条件结果( c o n d i t i o n a lr e s u l t ) 是无条件结 果的个扩展,当条件不满足或没有条件时使用该结果。 7 分离连接( s p l i t j o i n ) :流程的切分和融合。s p l i t 可以提供多个 r e s u l t :j o i n 则判断多个当前s t e p 的s t a t u s 提供一个r e s u l t 。 在设计时需要的重要概念还有f u n c t i o n :用来定义并执行外部的逻辑和 服务,实现与外部具体的应用之间交互。f u n c t i o n 有两种类型:预处理函数 西南交通大学硕士研究生学位论文第14 页 ( p r ef u n c t i o n ) 和后处理函数( p o s tf u n c t i o n ) ,p r ef u n c t i o n 在工作流的 一个转变操作执行之前调用,p o s tf u n c t i o n 在工作流的一个转变操作执行 完之后调用。 2 3 2 关键包 o s w o r k f l o w 包括w o r k f l o w 包、b a s i c 包、c o n f i g 包、l o a d e r 包、q u e r y 包、s o a p 包、s p i 包等删: 1 c o m o p e n s y m p h o n y w o r k f l o w :该包为整个o s w o r k f l o w 引擎提供核 心服务,定义了最常用的接口、类和异常。如w o r k f l o w 是提供给外部的接口, 通过与它交互使用者几乎可以完全使用o s w o r k f l o w 的功能,包括工作流的使 用和查询、定义管理和设置配置信息等;实际开发中的大部分工作都是围绕 该接口展开的,该接口有b a s i c w o r k f l o w 、e j b w o r k f l o

温馨提示

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

评论

0/150

提交评论