基于工作流技术办公自动化系统的毕业设计.docx
- 文档编号:4226118
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:38
- 大小:411.58KB
基于工作流技术办公自动化系统的毕业设计.docx
《基于工作流技术办公自动化系统的毕业设计.docx》由会员分享,可在线阅读,更多相关《基于工作流技术办公自动化系统的毕业设计.docx(38页珍藏版)》请在冰豆网上搜索。
基于工作流技术办公自动化系统的毕业设计
基于工作流技术办公自动化系统的毕业设计
第1章绪论
1.1课题的来源
办公自动化(OfficeAutomation,简称OA)是70年代首先在经济发达国家兴起的一门技术科学。
它是适应信息社会化的需要,基于软科学的理论和计算技术、通信技术的普遍应用而发展起来的,在经济发达国家已进入实际应用阶段,成为信息社会最重要的标志之一。
我国的OA市场经过10年的发展,在政府部门的大力倡导下,已经进入了平稳进步和大范围的实施阶段,OA在各个行业的成功应用之外,更重要的是在电子政务方面的发展。
但这是一个巨大而低效的OA市场,具体表现为投资大、效果不明显;水平低、重复建设多;硬件投入多、软件投入少;模拟手工作业增加管理负担等。
尤其是软件模块复用性较差,直接影响了软件的柔性构造功能。
针对软件的模块复用性较差这个问题,本文提出利用关系结构的工作流技术来解决,在关系数据库中建立工作流引擎,使之成为工作流管理系统,也成为我课题的主要来源。
目前该套利用关系数据库技术和工作流技术开发的办公自动化系统已在哈尔滨市成功试运行,简称HOA系统(以后均用HOA简称出现),它既为政府无纸化办公奠定了基础,也为企事业部门办公节省了资金,带来了巨大的经济效益和社会效益。
1.2工作流技术研究与国内外工作流产品现状
1.2.1工作流技术的起源与发展
八十年代初期,纸张是各行各业进行日常业务活动所不可替代的载体,包括表单、信函、文件、技术资料等各类与企业密切相关的文档都是以纸张为载体在各部门进行传递的。
这种古老的载体在信息的处理、存储、传递、检索方面是低效的,使得人们花费很大的精力在资料的管理、检查上。
因此人们希望出现一种无纸化的、计算机使能的环境,利用计算机技术来实现人们对信息日益提高的具体要求。
八十年代中期,FileNet和ViewStar等公司率先开拓了办公自动化产品市场,成为最早的一批工作流产品供应商[1]。
他们把图象扫描、复合文档、结构化路由、实例跟踪、关键字索引等功能结合在一起,形成了一种全过程支持某些业务流程的集成化的软件,这是早期的工作流管理系统。
比较典型的是FileNet在1984年推出的WorkflowBusinessSystem,ViewStar在1988年推出ViewStar。
很显然,这两种增值性质的集成化软件系统为企业简化和重组自己的关键业务流程提供了一种非常合适的方案;而且,由此可以看出,工作流技术自从其诞生之日起就是一种面向对象的系统集成技术出现的,只是由于当时的技术水平,才使得系统实现的功能比较简单。
进入九十年代,随着计算机的普及以及面向技术的发展,机关和企业的信息逐渐出现一种分布、异构的趋势,因此对于办公软件提出了新的要求,并使得人们在更深的层次上对办公自动化进行更深的研究[2~4]。
1993年,国际工作流管理联盟(WorkflowManagementCoalition,WfMC)在欧洲成立,它标志着工作流技术开始进入相对成熟的阶段。
为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。
工作流联盟给出的工作流定义是:
工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化[5]。
工作流管理系统(WorkflowManagementSystem,WfMS)指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者交互,推进工作流实例的执行,并监控工作流的运行状态。
1.2.2国外工作流产品现状及应用技术研究
目前国外市场上工作流产品十分活跃,它们在功能、规模和应用范围上各有特色,本节将介绍国外比较有影响和具有代表性的工作流产品的实现方案。
这些实现方案分别出自于不同的研究项目,所以在一定程度上代表了工作流技术几个不同的研究发展方向。
(1)ORBWork:
基于CORBA的分布式工作流系统
ORBWork是美国Georgia大学计算机系METEOR(ManagementEnd-To-EndOpeRations)研究项目所开发出的一套工作流管理原型系统,它是基于CORBA的完全分布的工作流执行系统,以CORBA产品Orbix作为底层的通讯支持,并使用CORBA来实现系统的互操作和数据源的封装。
在ORBWork中,系统的所有组成部分,包括任务管理器、任务、监控单元和恢复机制都是CORBA对象,它们之间通过CORBA的IDL调用进行协作。
同时,ORBWork还为用户提供了Web界面以及Web与CORBA之间的接口。
以CORBA作为工作流系统实现的底层基础有许多优点,比如对象请求代理(ORB)机制、标准的接口定义语言(IDL)、面向对象等等。
这些优点都将使CORBA成为用户实现企业级工作流解决方案的一种可能的选择[6]。
(2)WebWork:
基于Web的工作流系统
WebWork与ORBWork一样,也是METEOR项目中的一部分。
与ORBWork不同的是,WebWork是完全基于Web技术实现的工作流系统。
METEOR的研究人员考虑到企业可能处于价格等原因不愿意去购买CORBA产品,但是大多数企业都有自己的Web服务器,或者可以连接到某个Web服务器上,因此开发了一套基于Web的工作流管理系统。
Web浏览器为用户提供了一个通用、友好的界面,而且它可以很容易不附加任何多余代价地布置在多个计算平台上[7]。
(3)Exotica/FMQM:
基于永久消息队列的分布式工作流系统
IBMAlmaden研究中心所进行的研究项目Exotica在工作流分布执行方面提出了一种能够完全分布的执行模型,它通过永久消息(PersistentMessages)的方式来保存工作流相关执行信息,使得每一个执行节点都是相互独立的,工作流过程的执行不以某一个节点为中心,完全实现了分布。
这种方式大大地提高了系统的可靠性、可扩展性以及柔性。
Exotica的这种设计方案是建立在底层的消息传递系统之上的,类似的产品有DEC的MessageQ、Novell的Tuxedo/Q、IBM的MQSeries。
这些消息系统为上层的应用隐藏了复杂的通讯实现代码并且屏蔽了操作平台、网络协议的异构性,通过提供API函数来提供各项消息服务。
这些产品的特点是很适合于用来连接分布式应用,实现工作流管理的功能[8]。
(4)EVE:
事件驱动下的分布式工作流执行系统
瑞士苏黎士大学计算机系的研究人员提出了一种基于事件的工作流执行服务中间件平台体系结构,称为EVE(EventEngine),用以集成工作流执行过程中松散耦合的分布式功能组件。
在EVE体系结构中,工作流的执行是由分布在网络上的代理(Broker)通过响应由EVE服务器检测到的事件来完成的;同时,代理在提供服务的过程中又会产生新的事件[9]。
每一个代理代表了一种活动任务的处理实体,它的行为也是由ECA规则来定义的;不同的代理分别用于提供用户接口、组织管理、外部应用集成以及系统组件等功能。
EVE服务器是整个EVE体系核心,等同于工作流参考模型中的工作流机[10]。
EVE服务器能够直接同本地的代理及远程的EVE服务器相互通讯,而代理则只能通过EVE适配器(EVE-adapter)与本地的EVE服务器通讯。
因此,不同的代理之间的交互是通过把事件发送给本地EVE服务器,进而由本地服务器再发送给本地的相应代理或者再通过远程EVE服务器发送给远程的代理来完成的。
从EVE系统的设计思路来看,它也属于一种完全分布的执行方式,因而很容易地克服了服务方完全集中于一点而带来的诸多不利,如系统吞吐量的瓶颈、系统的可靠性问题等。
(5)DartFlow:
基于可移动代理的工作流管理系统
DartFlow是达特茅斯大学计算机系设计开发的一种基于可移动代理的工作流系统,可移动代理是指一段可以在自身的控制下由异构网络系统中的一台机器转移到另外一台机器上运行的程序,也就是说,可移动代理能够在执行到某一点时挂起自身程序,将代码传递到另外的网络节点上去继续运行。
可移动代理具有许多优点,比如在一定条件下能够减少网络流量、适合于移动用户、有利于数据集成、具有并行机制等,因此很适用于工作流管理系统的构建,企业的每一个经营过程的实例可以由一个移动代理来处理,代理在预先定义好的步骤下在分布的网络节点上执行,当代理移动时,它携带着过程所需的执行代码与数据,无需每一步都通过中央的数据库服务器来交换数据。
在DartFlow中,它的系统组件结构与工作流管理联盟所提出的参考模型基本一致,能够相互对应,其中比较有特色的几个部分是过程代理、多种类型的代理服务器、用户界面与工作表服务器[11]。
1.2.3国内工作流产品现状及应用技术研究
通过对目前国内市场上成型的工作流系统的研究[12~16],本文认为根据应用工作流技术开发侧重点的不同,国内工作流系统开发模式分为以下几种类型:
(1)基于群件技术的工作流系统
这种模式将工作流技术与群件技术相融合[17~20],在协同合作中体现工作流技术。
群件是一种计算机软件系统,它的含义和覆盖范围相当广泛,所有能够支持工作组内成员协同工作的软件都可以叫做群件,同样所有支持工作组协同工作的技术都可以称为群件技术[21]。
典型的群件技术有CSCW(计算机支持的协同工作)技术[22]。
典型的群件产品如IBM的LotusNotes,MicrosoftExchange等。
工作流管理在一部分技术上继承于群件,而群件也融合了一些工作流的概念,提供了工作流的能力。
典型用例如北京冠群联想有限公司的问鼎协同办公系统,它就是利用LotusNotes实现了公文流转的工作流系统。
(2)基于组件或中间件的工作流系统
这种模式将工作流技术融合于组件或中间件中[23,24],便于工作流技术与其他应用开发环境的融合。
流行的开发工具提供了极强的应用开发手段,但是这些开发工具往往不具备对工作流机制的支持,因此,提供一个工作流模型的定义、执行和控制的组件或中间件平台,将为各种开发工具开发工作流管理系统提供新的途径[25]。
由上海东兰科技发展有限公司开发设计的工作流系统,其核心的工作流引擎就是以组件形式封装,用户可以调用其中的接口,自行开发用户界面或内嵌到其他软件系统。
(3)基于关系数据库的工作流系统
这种模式将工作流技术完全体现在关系数据库中[26,27],通过关系数据库和应用开发环境的紧密结合实现工作流管理系统。
在工作流参考模型中,工作流引擎是工作流管理系统的核心,它是为工作流管理系统在定义时提供支持、同时在运行时提供解释和执行服务的一组数据模型和软件。
工作流引擎在关系数据库中分为三种模型[28]:
机构模型、信息模型和控制模型,前两者合称为工作流引擎的数据模型。
基于关系结构的工作流引擎,是在传统的关系数据库基础之上定义工作流数据模型;利用DBMS内嵌的编程语言来实现工作流引擎的控制逻辑;提供一系列比较完备的API,应用的开发者可以将这些API嵌入到自己的应用系统中从而实现具有工作流性质的信息系统。
国家智能计算机研究开发中心开发的国家商标局的工作流系统,就是在传统的关系数据库的基础上,实现了基于关系结构的工作流引擎的设计。
1.2.4基于关系结构工作流技术的优点
基于关系的工作流引擎是指工作流引擎中的数据模型(即机构模型和信息模型)全部通过关系结构来表达;控制工作流引擎运作的各种程序逻辑(即控制模型)也是通过常规关系数据库管理系统中所提供的存储过程、包以及触发器等机制来实现;同时,事务的并发控制也通过数据库系统所提供的机制来实现[28,29]。
从技术角度来说,使用关系结构来表达工作流引擎中的数据模型可以降低工作流引擎开发过程中的技术难度和工作量。
具体表现在:
(1)与工作流引擎相关的各种控制数据可以存储在数据库系统中;
(2)与此相关的数据的完整性可以由数据库管理系统来维护;(3)利用关系结构可以方便地定义工作流引擎中的各种数据格式和数据结构;(4)可以方便地利用数据库管理系统提供的各种DML语句来操纵工作流引擎所需的各种数据。
从开发应用系统的角度来看,在同一数据库环境下为开发者提供一个基于关系结构的工作流引擎,并且如果这个工作流引擎所提供的功能可以方便地嵌入到应用的开发环境中,则可以降低开发应用的难度。
这是因为:
(1)针对关键业务的应用系统通常会采用一个常规关系数据库系统作为后台支撑;
(2)应用系统的开发者往往会采用一种他们所熟悉的并且适合此数据库系统的前端开发工具来开发具体应用,这些前端开发工具一个显著特征是开发功能强大,但一般不具备工作流机制。
因此,采用基于关系结构的工作流引擎很容易与应用的开发环境做到无缝集成。
1.3研究的目的及意义
OA系统就是利用网络通讯技术及先进的应用平台,建设一个安全、可靠、开放、高效的信息管理化系统。
它为管理部门提供现代化的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事务处理自动化,以提高办公效率和管理水平,实现企业各部门日常业务工作的规范化、标准化,增强档案部门文书档案、人事档案、科技档案、财务档案等档案的可管理性,实现信息的在线查询、借阅,最终实现“无纸”办公[30,31]。
实施OA系统对办公管理的意义在于规范企业运营,提升整体管理水平;实现信息共享,增强办公效率;实现知识积累,增加企业的无形资产;规范企业资源,防止资源滥用与丢失;加强内部沟通,提高团队作战能力;更好的非量化信息,增强对信息的分析能力,提高企业对市场做出敏锐的反应能力、和及时调整不良运营规则;运用多手段通讯,加快信息流转,降低通讯费用;实现远程办公,降低异地经营的企业运营成本;增加企业运营的透明度,为企业迈上一个新的台阶做准备[32]。
1.4软件平台的选择
软件平台可以组合成很多种方案,但不管采用那种,所有应用采用B/S模式实现和典型的三层结构,分离客户端、应用端和数据库服务器端,减少相互间的耦合性,增加系统的可重用性、伸缩性、可维护性和安全性。
目前比较流行的两种组合如下:
(1)基于Windows平台的.NET架构
服务器端操作系统采用Windows2000Server,数据库系统采用SQLServer2000,表现层采用ASP.NET,中间业务逻辑应用层采用MSIIS,中间层组件采用.NET管理的组件。
该方案具有界面友好、开发容易等特点,适用于中小用户或非核心领域,缺点是基于ASP技术只能在微软的平台上使用,通用性较差。
(2)基于UNIX/LINUX平台的J2EE架构
服务器操作系统采用UNIX/LINUX,数据库系统采用Oracle,中间层采用JSP/Servlet/JavaBeans来构造,开发语言采用Java,Web采用Apache或JWS,中间层组件采用EJB。
该方案具有通用性好、实现跨平台运行、稳定性与可靠性高等优点,适用大中型用户或核心业务;缺点是开发工具易用性较差,对开发人员的要求较高。
通过对HOA系统进行多方面需求分析,鉴于该套办公系统工作流程比较简单、开发时间周期短等特点,HOA系统采用基于Windows平台的.NET架构,选用SQLServer2000关系数据库实现其工作流程,开发关系结构工作流引擎来实现公文流转过程。
综上,HOA系统运用B/S模式和典型的三层结构理论,在WindowsServer2000,SQLServer2000平台上协同操作,以.NET框架结构下的C#.NET为编程语言来完成整套办公系统的解决方案。
1.5本文研究的主要内容
本文以工作流技术为研究方向,介绍了工作流的发展、主要技术理论、实现的核心技术等方面的内容。
以哈尔滨市行政教育办公系统为主要依托,利用工作流技术的一些重要理论,重点研究以下几方面的内容:
(1)HOA系统的总体架构。
这里包括系统的网络拓扑图,系统逻辑结构和物理部署结构,系统实现的主要功能及软件系统的安全性等。
(2)以关系结构工作流技术为理论出发点,结合关系数据库,搭建出系统基于关系结构工作流引擎的应用框架,给出与工作流程相适应的数据模型和控制模型,实现对HOA系统工作流程的自定义及应用。
(3)介绍基于随机Petri网工作流系统的顺序、并行、选择、循环四种基本数学模型,并以HOA系统中一个具体流程为实例,给出如何建立相应的随机Petri网模型以及如何利用这些性能等价公式来定量的计算工作流的性能参数。
(4)结合关系数据库相关理论,研究HOA系统软件的优化,主要以SQL语句性能优化为目标,探讨SQL语句不同写法对数据库执行效率的影响。
第2章工作流技术基本理论
2.1工作流技术相关概念
如图2-1显示了工作流技术相关的基本概念及其联系,分别说明如下:
图2-1工作流基本概念间的相互关系
Fig.2-1RelationshipintheconceptsofWorkflow
业务流程(BusinessProcess):
在功能确定的组织结构中,能够实现业务目标和策略的相互连接的过程和活动集。
例如,公文处理过程、投保过程及项目开发过程等。
过程定义(ProcessDefinition):
业务过程的计算机形式表示。
它定义的是过程运行中涉及到的各种参数,如业务过程的开始和终止条件、各个工作环节及相互之间的控制流动与数据流动关系等。
不同的WfMS所实现的工作流模型是各不相同的。
在早期具有工作流管理功能的系统中,这种表示是通过“硬编码”的方式完成的,因此导致修改工作流程上的困难。
在后来的WfMS中,逐渐出现了使用有向图、条件化有向图、Petri网、对象模型、语言动作理论、基于约束条件的形式语言文法表示以及基于目标的知识表示等[33]。
这些系统一般都提供有一个可视化的业务过程建模工具,以使用户能够以比较直观的方式对实际的业务过程模型进行建模,并得到相应的形式化表示。
不同的过程模型各有其不同的特点,一个好的模型应该有比较强的描述能力,易于使用、易于修改以便能够适应不断变化的工作环境的要求。
活动(Activity):
指的是工作流中的一个逻辑步骤或称环节。
它包含的信息有:
开始和结束条件;可参与到此环节中的用户;完成此活动所需的应用程序或数据;以及关于此活动应如何完成的一些限制条件(如时间上的限制等)。
工作流管理系统(WfMS):
一种能定义、创建和管理工作流执行的系统,就是将现实世界中的业务过程转化为某种计算机所能识别的形式表示,并在此形式表示的驱动下完成工作流的执行和管理[34]。
使用它可以充分利用企业资源,有效地跟踪工作过程,提高工作过程定制的速度与质量。
过程/活动实例(Process/ActivityInstances):
指的是某个工作流过程的一次执行。
在实例的执行过程中,WfMS将解释相应的过程定义,生成有关的活动并根据过程定义中的控制规则协调这些活动实例之间的顺序关系,同时根据数据流动关系的定义完成活动实例之间的数据传送。
一般情况下,每一个活动实例都将表现为一个工作项,它将由某个或某组用户负责完成。
因此从用户的角度来说实例的执行实际上是由用户调用相应的应用程序对他所涉及的那个环节有关的数据进行处理,处理完之后由WfMS根据相应的结果决定激活后续的那个环节并生成相应的工作项,同时通知与此有关的那些用户对之进行处理。
由此依次反复,进行直至整个过程的完成。
2.2工作流管理系统
工作流管理系统的核心技术就是工作流技术。
按照WfMC的定义,一个WfMS就是能完整地定义和管理工作流,并按计算机表示的工作流逻辑规定的次序,以执行软件的方式执行工作流。
它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者相互作用,并根据需要调用其他的IT工具或应用。
工作流管理系统是应用于分布式环境之中的,实现工作任务进程间协调及协作式处理的软件系统[35~37]。
在最高层上,WfMS应能提供以下3个方面的功能支持:
建造功能,对工作流过程及其组成活动定义和建模;运行控制功能,在运行环境中管理工作流过程,对工作流过程中的活动进行调度;运行交互功能,指在工作流运行中,与用户及外部应用程序工具交互的功能。
WfMC提出了一个适用于大多数产品的通用的工作流管理系统参考模型如图2-2所示。
图2-2工作流管理系统的通用结构模型
Fig.2-2ThecommonmoduleofWorkflowmanagesystem
系统中主要部件和数据的作用如下:
过程定义工具:
被用来创建计算机可以处理的业务过程描述,它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。
过程定义:
包含了用管理工具建立的提供给工作流引擎解释执行的工作流程模型定义。
工作流管理环境和工作流引擎:
工作流管理环境,包括—个或多个工作流引擎;工作流引擎是工作流管理系统的核心软件组元,用于解释过程定义、创建过程实例并依据流程控制数据及其执行,按照调度规则对任务进行调度,生成工作表。
工作流控制数据:
指被工作流执行服务和工作流引擎管理的系统数据。
工作流相关数据:
指与业务过程流相关的数据。
WfMS使用这些数据确定工作流实例的状态转移,例如过程调度决策数据、活动间的传输数据等,工作流相关数据既可以被工作流引擎使用,也可以被应用程序调用。
组织/角色模型数据:
通过过程定义工具或从工作流管理引擎提取的信息。
2.3基于随机Petri网的工作流系统模型性能等价分析理论
2.3.1基于随机Petri网的工作流系统模型及前提假定
模型的性能评价是工作流系统研究和应用的主要理论基础和支撑技术,对模型的性能分析是工作流的一个重要研究内容。
目前有很多文献讨论了工作流系统模型的性能[38~47],但都是针对工作流某一方面的特性来分析或改进工作流的性能,如根据客户服务器这种工作流模型来对工作流的性能进行分析[45,46];根据具有时间限制这种工作流模型来对工作流性能进行分析[47,48]。
本节将根据基于随机Petri网的工作流模型的顺序、并行、选择、循环四种基本结构,给出由任意多个变迁组成的串联、并联、选择和循环结构的性能等价公式[49],在后续章节中将根据这些性能等价公式给出定量分析工作流系统性能的通用方法。
这一技术除了可以应用在工作流系统中以外,还可以广泛应用在诸如多媒体系统、计算机网络等模型的性能分析中。
本节工作流模型的描述是基于随机Petri网的,且通常都假设工作流模型的变迁延时是服从指数分布函数的[50],因为这种假定本身是与现实多数系统实际相符合的。
工作流主要由四种基本模型组成,即串联模型、并联模型、选择模型、循环模型。
2.3.2工作流四种基本随机Petri网模型及其性能等价公式
2.3.2.1工作流的串联随机Petri网模型及其性能等价公式串联随机Petri网模型用来定义工作流中一系列按固定顺序执行的活动,如图2-3左端所示,其中t1,t2,…,tn是n个串行执行的时间变迁。
为了简化模型的复杂性,可将n个变迁进行性能等价化简,化简后的模型如图2-3右端所示。
图2-3基于随机Petri网的工作流的串联模型及其性能等价模型
Fig.2-3ThesequentmodelbasedonstochasticPetrinetsanditsperformanceequivalentmodel
下面给出由n个变迁串联组成的系统的性能等价公式。
定理1由n个变迁串联组成一个系统B,设这n个串联变迁的延时时间为n个相互独立的随机变量,且分别服从参数为
…,
的指数分布函数,即n个变迁的平均延时时间分别为
…,
,则这n个变迁总的等价延时时间为
=
(2-1)
2.3.2.2工作流的并联随机Petri网模型及其性能等价公式并联随机Petri网模型用来定义工作流中没有严格执行顺序、可同时进行的分支活动。
其模型如图2-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 工作流 技术 办公自动化 系统 毕业设计