基于Web的分布式工作流模型在办公自动化系统中的应用Word下载.doc
《基于Web的分布式工作流模型在办公自动化系统中的应用Word下载.doc》由会员分享,可在线阅读,更多相关《基于Web的分布式工作流模型在办公自动化系统中的应用Word下载.doc(10页珍藏版)》请在冰豆网上搜索。
它包括一组活动(activity)及其相互顺序关系,包括过程及活动的启动和终止条件,以及对每个活动的描述,如活动的执行者、相关应用程序、需要或产生的数据等。
简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。
我们可以将整个业务过程看作是一条河,其中流过的就是工作流。
工作流通过对结构化业务过程的分析,把业务过程分解成一系列有规定的状态、条件的任务集合,从而便于业务过程的执行,提高工作的效率,减少协作过程中的冲突和混乱。
2.2工作流管理系统
根据WfMC的定义,工作流管理系统(WorkflowManagementSystem,WFMS)通过软件定义、创建工作流并管理其执行。
它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者(包括人或软件)相互作用,并根据需要调用其他的IT工具或应用。
工作流管理是近年来在计算机应用领域中发展最为迅速的几项新技术之一,其主要特征是实现人与计算机交互事件结合过程中的自动化。
工作流的运行由工作流管理系统控制,工作流管理系统与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。
只把处理事件从某个地点传往另一个地点,并不能构成“工作流”。
工作流程必须具有“智能”,能按预先定义的规则和过程进行流动,并且这一流动过程能被跟踪和监控,能与应用相结合。
工作流管理系统的主要部件有:
过程定义工具、过程定义、工作流引擎、工作流相关数据、工作表、工作表管理器及监控工具等。
3、分布式工作流模型设计
工作流是针对工作中具有固定程序的常规活动而提出的一个概念,在计算机支持下可以实现整个或部分过程的自动化。
公文流转也是一个工作流程,它包括公文的全部处理过程,因而也可以采用工作流技术驱动办公自动化系统的收发文流程,实现公文业务自动流转。
3.1、办公自动化OA系统工作流程
公文流转业务主要包括公文的拟稿、审批、签发、驳回、编号、登记、注销、分发、归档、查询和浏览等基本工作的全部处理过程,对公文的审批流程进行跟踪、催办和统计,以便及时了解公文的处理进度等等,概括起来分为发文管理和收文管理两大核心功能:
3.1.1、发文管理:
可以完成单位内部各科室对公文的起草、审批、核稿、存档、查询等处理。
3.1.2、收文管理:
可以完成科室外来公文的登记、管理、拟办、批阅、主办、阅办,并可完成归档、查询等全过程处理。
办公自动化OA系统公文流转流程如图1所示:
科员
科长
办公室
委领导
档案管理员
流程结束
文件存档
其他科室
图1办公自动化OA系统公文流转流程
3.2、分布式工作流系统模型规划与设计
工作流系统模型中包含的三类对象:
文档对象,工作流对象,操作员对象。
这三种对象相互作用,共同完成工作流的运转。
⑴、文档对象(Document):
文档对象是物流信息系统中订货数据、配送路线等信息流转的载体。
主要由三个字段(属性):
ID号、文档名、文档内容。
ID号:
GUID字符串,作为系统中文档的唯一标识符。
通过ID号就可以存取文档。
文档名:
文档的中文标识,可以由用户任意来命名,是文档的说明。
文档内容:
采用XML文档定义文档,包含有具体的物流信息。
可对文档进行录入、浏览、打印三种操作。
⑵、操作员对象(User):
操作员对象是标识登录系统的每个客户端的对象。
操作员对象与权限设置密切相关。
操作员对象采用多级分组设置,即操作员分为两种类型:
个人用户操作员、小组用户操作员;
其中分组操作员用户中至少有一个缺省操作员,作为接收文档的个人用户操作员。
操作员采用树状结构管理;
分组级数没有限制;
在工作流中,操作员与部门是平等的关系,通称为操作员对象。
⑶、工作流对象(WorkFlow):
所谓工作流对象是指当前正在运转的工作流程。
这里的工作流对象是每一个具体的、实际的流程,而不是工作流的定义(模板)。
⑷、三种对象之间的交互关系:
利用工作流对象将文档对象与用户对象关联起来。
工作流定义中,结点就是用户对象;
数据载体就是文档对象;
整个系统的核心就是文档根据工作流的定义在用户之间不断的流动。
3.3、工作流流程设计
⑴、控制模型概念:
所谓控制模型是指系统究竟如何控制操纵工作流,如何推动工作流的运行,如何与操作员进行交互。
控制模型可以分为“工作流控制中心”、“流向控制中心”、“活动状态控制中心”、“文档派发中心”、“任务处理中心”、“文档提交中心”、“文档检测中心”7部分组成,如图2所示:
工作流控制中心
工作
流向
控制
中心
活动
状态
文档收发中心
文档处理中心
文档检测中心
文档移交中心
暂停
重启
强制
终止
启动工作流
终止工作流
图2.、工作流控制中心模型示意图
⑵、工作流控制中心:
工作流控制中心是整个工作流引擎的最外层控制部分,所有的正在运行中的工作流程都将处在该中心的控制之下。
控制中心具有管理所有工作流程的权利。
主要包括:
(1)启动、暂停、取消、终止工作流实例。
(2)查看工作流的当前状态、历史运行记录。
⑶、工作流向控制中心:
从起始点到终点的所有路径的控制都由控制中心解决,包括:
(1)判断活动的后续活动。
(2)判断活动的返工路线。
(3)记录文档的流转路线。
⑷、活动状态控制中心:
当一个工作流的实例启动之后,最初所有的活动都处于休眠状态。
随着工作流的不断进行,活动陆续被激活。
活动状态控制中心是该系统的独特之处,它充分的模拟现实中的工作场面,兼顾了智能性与实际工作流的复杂性和灵活性。
该控制中心主要用来:
(1)自动激活、完成某一活动。
(2)手动激活、完成某一活动。
(3)查看工作流中所有活动的状态。
(4)记录活动状态轨迹。
⑸、文档派发中心:
文档分发中心是当某一公文活动开启之后,负责管理将文档分配给某个人(组)的功能模块。
文档的分发依靠“文档派发规则”。
⑹、任务处理中心:
该中心并不具体执行业务,它只负责记录在当前活动的运行过程中用户的所有操作,以供查看之用。
所谓“任务处理”是指每个活动用户针对文档进行操作。
是一种前台操作,主要是录入、修改文档。
⑺、文档检测中心:
该中心的功能比较单一,而且比较直观,相当于一个自动审表人。
它负责检验文档是否合格。
检验方法由文档检验规则确定。
⑻、文档提交中心:
在某一公文活动中,参与人员完成文档操作之后就进行提交。
是否提交完成由提交规则确定。
文档提交中心负责暂时保管所有文档中已完成的部分。
当根据“提交规则”,所有必须提交的文档全部完成之后,提交中心就将文档全部发送给活动控制中,再发送给流向控制中心,然后再回来由文档派发中心分给其他活动中的人员。
4、分布式工作流系统实现
分布式工作流采用三层结构,分别对应客户端和服务器端。
4.1、服务器端设计与实现
服务器端包含两部分功能,一部分是各种具体服务;
另一部分是工作流引擎。
(1)具体服务包含各种服务,包括数据录入,查询检索等各种功能。
(2)工作流引擎是服务器端的核心工作组件,也是整个系统的核心运行组件。
整个工作引擎的结构可分为功能模块和数据模块两部分,如图3所示。
其中,图中左侧为功能模块,右侧为数据模块。
步骤管理cpu
文档
接收
分发
客户端缓冲区
工作流(步骤队列)
单个队列(接收人员列表,接收文档列表,待发送人员列表,待发送文档列表)
接收人员列表
待发送人员列表
客户端管理
图3工作流引擎的结构架构
⑴、功能模块结构划分为三个层次:
(1)步骤管理CPU:
专门管理和执行不同的步骤(Step),负责启动步骤、执行步骤、结束步骤等功能。
(2)文档提交代理:
在一个步骤处理的内部,根据文档的提交规则,判断什么时候文档提交完成,等全部的文档提交完成以后,该步骤完成,同时通知步骤管理CPU。
(3)文档发放代理:
在一个步骤内部,根据文档发放规则,将文档分发给指定的客户端。
⑵、数据模块结构:
保存每个步骤的运行过程中的数据,也对应着数据库中的数据表。
可以划分为以下几个层次:
(1)工作流(步骤队列):
对应着工作流实例数据表中的每个工作流实例。
其中保存着该工作流实例中的所有步骤;
(2)单个步骤:
对应着步骤数据表,该数据表中保存着全部的正在进行的所有步骤。
每一条记录对应着一个步骤。
其中保存着关键数据:
接收任务人员列表、任务中接收的文档列表、任务执行人指定下一步骤的执行人列表、下一步任务需要的文档列表。
步骤结束的标志:
任务分发给指定的人员,然后任务完成以后,完全全部的提交工作,此时标志着步骤的结束,也标志着下一个步骤的开始。
(3)客户端缓存:
代表着客户端正在编辑的文档,是一种中间结果,临时保存在服务端的缓冲区。
客户端发送提交指令时,文档提交代理才将这些文档检验后提交给步骤管理CPU。
4.2、客户端设计与实现
整个系统分为三个层次,分别为:
主窗体、子窗体、孙窗体;
调用关系:
主窗体调用子窗体,子窗体包含各个孙窗体,同时调用各个孙窗体。
(1)主窗体:
主窗体主要负责调用和管理各个子窗体,本身并不实现任何业务。
同时,它还负责设置各种参数。
(2)子窗体(模块):
每个子窗体对应一个功能模块,每个功能模块之间都是独立的,彼此间没有任何联系。
每个模块的初始参数都是从数据库中提取出来的。
每次打开一个窗体,都必须访问数据库,从数据库中读取所有的参数,将内容显示在窗体上。
(3)孙窗体(模块内部的功能):
孙窗体是每个模块内部的各项功能。
系统功能:
(1)任务管理:
客户端的主要模块,负责任务的接收、处理和任务相关信息的查询。
(2)短消息处理:
端消息接收,端消息发送,端消息浏览,管理。
(3)用户管理:
用户的录入,浏览和删除。
(4)文档浏览:
文档浏览和查看。
(5)工作流浏览:
工作流浏览和查看。
(6)文档模板管理:
文档模板的浏览查看和模板的录入。
(7)工作流模板管理:
工作流模板的浏览查看和模板的录入。
4.3、B/S结构体系相对C/S结构体系的优点
B/S结构体系与C/S结构体系相比,其优点如下:
1.不必开发专门的客户端软件,在用户终端不需要增加任何代码,用