基于C_S和B_S结构的办公工作流管理系统的设计_第1页
基于C_S和B_S结构的办公工作流管理系统的设计_第2页
基于C_S和B_S结构的办公工作流管理系统的设计_第3页
全文预览已结束

下载本文档

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

文档简介

第 2 4卷第 3期 2 0 0 7年 3月 计算机应用与软件 Co mpu t e r Ap p l i c a t i o n s a n d S o f t wa r e Vo 1 2 4, No 3 Ma r 2 0 0 7 基于 C S和 B S结构的办公工作流管理系统的设计 壮子阳 朱巧明 ( 苏州大学计算机科学与技术学院江苏 苏州 2 1 5 0 0 6 ) ( 江苏省计算机信息处理技术重点实验室江苏 苏州 2 1 5 0 0 6 ) 摘要 在分析 了基于 L o t u s D o m i n o N o t e s办公工作流管理系统的现状和存在不足的基础上, 结合企业实际需要, 提出了一个基 于 C S和 B S双模式的办公工作流管理系统的设计思想, 着重对双模式下软件设计、 工作流建模和代码重用等问题进行 了详细的 讨论, 并给出了相应的实现方法。 关键词 O A工作流管理系统 双模式 代码重用 To DEs I GN AN oA W ORKF LoW NAGEMENT S YS T EM B AS E D oN B0TH C l S AND BS ARCHI TECTURE Z h u a n g Z i y a n g Z h u Q i a o m i n g ( S c h o o l o fC o m p u t e r S c i e n c e屉 T e c h n o l o g y , S o o c h o w U n i v e r s i t y , S u z h o u J i a n g s u 2 1 5 0 0 6 , C h i n a) ( K e y L a b o fC o m p ute r I n f o r m a t i o n P r o c e s s i n g T e c h nolog y o fJ i a n g s u P r o v i n c e , S u z h o u J i a n g s u 2 1 5 0 0 6, Chi na ) Ab s t r a c t T h e a r t i c l e i n t r o d u c e s t h e s t a t u s a n d t h e s h o r t c o m i n g o f c u r r e n t O A Wo r k fl o w Ma n a g e m e n t S y s t e m s ( Wf MS ) w h i c h b a s e d o n LO t u s D o mi n o No t e s fir s tl y T o me e t t h e r e q u i r e me n t s o f t h e e n t e r p r i s e s , i t p u t s f o r w a r d a n e w OA W f MS b a s e d o n b o t h C S a n d B S a r c h i t e c t u r e F u rth e r mo r e , i t d i s c u s s e s t h e s o f t wa r e t h e d e s i g n s c h e me , wo r k ( 1 o w mo d e l i n g a n d c o d e r e u s e i n d e t a i l A t l a s t , i t p r e s e n t s t h e i mp l e me n t a t i o n o f t h e s y s t e m Ke y wo r d s OA W o r k fl o w ma n ag e me n t s y s t e m Do u b l e mo d e l s Co d e r e u s e 1 引 言 当今, 企业面对的市场竞争更加激烈, 变化也更加莫测, 因 而也造成企业业务流程的变动越来越频繁。通常来说 , 一旦业 务流程发生变化, 那么相对应的信息系统也需要进行源代码级 别的修改, 这个过程费时费力。如果能够把业务流程的管理也 提取出来 , 将流程与应用程序分离 , 则能够加速信息系统的开发 和维护, 帮助企业发现业务流程的弊病, 改进不合理的业务流 程, 从而大大提高企业运行效率。这样工作流管理系统就应运 而生 了。 L o t u s D o mi n o N o t e s是 I B M公司的群件产品 D o mi n o服务 器、 N o t e s 客户端、 D o m i n o D e s i gne r和 D o m i n o A d m i n i s t r a t o r 的总 称。L o t u s D o mi n o N o t e s 本身的资料存储是基 于文档的数据库, 因此 , 它是天然的适用于文档类型的工作流系统。同时, L o t u s D o m i n o N o t e s 提供了工作流参考模型的大部分接 口要求 , 也提 供了与工作流管理系统密切相关的安全性设施、 网络通讯设施 、 目录服务以及邮件服务 , 因此, 它非常适合作为工作流管理系统 的基础平台。 在 I B M公司的大力推动下, 国内不少软件公司已经推出了 自己的基 于 L o t u s D o m i n o N o t e s的工作流 管理系统, 如朝华 O A S p h e r e系统的 C o w o r k fl o w , L i n k e y O A系统的 L i n k e y Wo r k fl o w 3 0 l 2 ,锐通 U n i v e r s a l O f f i c e的工作流管理系统 等等。同 时, I B M公 司也有 自己的 L o t u s Wo r k fl o w系统 。其 中 Lot u s Wo r k fl o w是具有代表性的, 其他工作流系统在结构上和功能上 都是以Lot u s Wo r k fl o w作为参照和模仿对象的。然而, 通过对上 述系统的考察 , 我们发现这些工作流管理系统在软件架构上还 存在以下两个方面的不足: 第一 , 上述系统大多采取 B S架构, 而在实际的企业应用当中, 尤其是部分外企中, Lot u s N o t e s 客户 端是必备的用户系统, 因此同时开启 N o t e s客户端和浏览器进 行工作, 对用户来说反而是一件繁琐的工作 ; 第二, 少数采用了 C S 架构的系统, 对需要提供 I T服务的I T移动用户带来了使用 上的麻烦, 因为客户端的维护和更新相对比较困难。同时, 这类 系统不利于集成到日渐重要的企业 P o rt a l 网站中。使用 N o t e s 客户端 , 对于不熟悉计算机但是熟悉上网的非专业用户来说, 也 有一定 的困难。 因此, 面向中小企业的办公 自动化需求 , 适应移动需要, 设计一套同时支持 C S和 B S架构的基于 Lot u s D o m i n o N o t e s 的工作流管理系统, 既可以保护企业用户的原有投资 , 满足老 用户的使用 习惯, 也 可以满足移动用户、 非专业用户的使用 需求 。 2 工作流管理系统 根据工作流管理联盟给工作流下的定义 : 工作流就是商 业过程部分或全部地计算机化或 自动化。换言之 , 工作流技 术就是业务流程的计算机化或 自动化, 它将过程逻辑从业务逻 辑中分离出来, 由工作流引擎专门完成对过程逻辑的计算, 从而 收稿 日期 : 2 0 0 40 22 2 。壮子 阳, 硕 士生 , 主研领域 : 信息处理。 维普资讯 1 0 O 计算机应用与软件 2 0 0 7卑 使开发人员将主要精力集中在业务逻辑的处理上。工作流管理 系统( Wf MS ) 就是支持工作流运行的系统环境, 它包括用来定 义、 设计工作流流程和使流程得以运行的环境的工具集、 以及工 作流运行涉及的用户和应用程序的接口。 工作流管理联盟还定义了工作流参考模型, 图 1 描述了该 模型的基本部件和基本接口。 接 口 1 : 流程定义工具 。定义一个 流程定义 、 建模 工具和工 作流引擎之间的标准接口; 接口2 : 工作流客户应用程序。定义客户应用程序 A P I向 工作流引擎请求服务; 接口3 : 激活应用程序。定义允许工作流引擎通过通用代 理软件 , 激活各种应用程序的A P I ; 接 口4 : 工作流协同工作。定义工作流协同工作模型和通 讯标准来支持互相工作; 接 口5 : 管理和监控工具。定义监视和控制功能。 赫 图 1 工作流参考模型 按照工作流模型设计的系统, 具有良好的稳定性、 开放性和 可扩充性。用户可以通过工作流管理系统建立自己的各种工作 流应用, 由工作流管理系统提供统一的信息访问接 口, 便于整合 到企业 P o r t a l 中。 在系统实现上, 采取 L o t u s D o mi n o N o t e s 设计中最新支持 的面向对象设计技术, 将常用的数据结构和功能封装成类和 函数模块 , 可提高代码的可重用性 、 降低系统修改 的风险和 代价。 3 系统总体设计 3 1 双模式访 问的设计思想 L o t u s D o m i n o 服务器对于 N o t e s 客户端和浏览器发起的访 问, 处理上是不同的, 这是同时支持 C S和 B S访 问的最大 困难 。 ( 1 )通过调用 A g e n t 实现双模式下的部分代码重 用 Lot u s 设计中, 很多功能是通过用户点击某个功能按钮来触 发的。而编写触发事件的代码通常使用 Lot u s S c ri p t , 但是这种 代码不能在浏览器中被执行, 因为浏览器不能识别解释 Lot u s Scri p t 代码。不过, Lot u s提供了另一种功能较为简单的代码 F o r m u l a , F o rmu l a可以被转化成 J a v a S e r i p t 调用 , 从而可以在浏 览器上触发执行。但是 F o rmu l a只能提供非常简单的功能, 并 且不支持循环、 复杂分支等设计手段 , 不适合编写比较复杂的系 统。但我们可以通过 F o rmu l a调用 Lot u s S c ri p t 写的A g e n t , A g e n t 是 L o t u s 中开发人员预先写好的代码模块, 可以被用户调用也 可以被系统 自动调用。这样实现 的代码在功能上仍然有一定 的 局限性 , 比如对用户 的输 入输 出的实现 因为客户 端 的不 同而不 能通用; 所有系统预定义的 N o t e s 客户端方面的类不能在浏览 器中调用等等。但是, 这样的变通做法已经可以用来实现我们 需要 的业 务流程了。 ( 2 )通过调用代码的运行权 限实现 双模式 下用户权 限管理 N o t e s 客户端被触发的代码将按照使用者在系统中的权限 在客户端运行。而浏览器触发的代码, 首先将检查代码设计者 是否有权限运行代码, 其次将根据设置, 按照设计者或触发者的 权限在服务器上运行该代码。也就是说 , 代码的实际运行场所 是不同的, 代码运行时所具备的权限也是不同的, 因而运行时取 得的本地环境变量、 服务器信息、 数据库信息都是不同的。因此 在处理相关信息时, 必须首先判断触发时的环境, 然后按照合适 的权限去获取适当的信息。 3 2基于 P e t r i - N e t 的工作流建模 P e t r i N e t 是描述具有分布、 并发和异步特征的有效工具。 在工作流管理系统中, P e t r i 网也被经常用作有效的建模工具。 对于一个工作流网、 说它是合理的, 并且仅当它符合下面3 项 要求 : 对应于库所 s t a r t 的每一个标记, 最终会有且只有一个标 记出现在库所 e n d中; 当库所 e n d出现标记时, 其他所有库所都是空的; 对每个变迁( 任务) , 从初始状态都能够到达该变迁就绪 的状态 。 通俗地说, 就是过程不包含不必要的任务, 每个提交的案例 必须能被完全完成, 完成后再没有对案例的引用。这样的流程 就是一个合理的流程。 根据以上条件, 要判断一个流程是否合理, 理论上是可行 的, 但是对于比较复杂的流程, 就显得比较难判断。对于通常是 结构简单但又同时是步骤繁琐的企业办公自动化的流程 , 我们 提出了一个简化的基于 P e t r i 网的建模方法。它只包含 5种基 本结构 , 如 图 2所示 。 C卜 = ) _ 1 1 I: 脓 【 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 一 I 3 OR ”i ( 扦 ) 一 目J r- 、 一 匝 n 、 、 一、 L r , 图 2 五种基本结构 对使用本系统进行流程设计的用户提出以下要求 : 只使用 上述简单结构或者简单结构的组合来设计流程。 下面以企业中最常见的请假流程为例 进行分析。请假流程包含 5个关键步骤: 填写申请、 主管审核 、 绩效部备案、 作废、 归 档 , 其中主管审核的结果决定流程进入绩 效部备案还是作废的步骤 , 流程图见 图3 。 这一简单流程按前述的设计规则可表示为 如图4所示的 P e t r i网模型。流程 由库所 图3 请假流程 一 二 蔓_ 维普资讯 第 3期 壮子阳等 : 基于 C S和 B S结构的办公工作流管理 系统的设计 1 0 1 P 0开始到库所 P 3结束 , 变迁 T i 各 自表示一个步骤的任务。易 见这个 P e t r i 网是 由基本结构 、 顺 序结构 和 O R分支结 构三种 简 单结构组合而成。 T 0 一 填写 申请 T l 一 主管审核1 2 一 绩效部备案 T 3 作废 T 4 一 归档 图 4 请假流程 的 P e t r i 网模型 3 3 工作流管理系统的设计思路 有了3 2所述的假定 , 下面就可以进行工作流管理系统的 设计。系统设计由流程定义、 组织信息、 工作流引擎三个模块组成。模块间关系 如图5所示。图中箭头所示为提供数据 的方向。 ( 1 )流程定义 每个流程具 有一 个流程 编号和 一个图5 流程定义 、组 织 版本号 , 一个流程允许有多个版本 , 但是 信息 、工作 流引擎三 个 同时只能有一个版本生效。流程中的每 模块间关系 个具体的操作步骤称为 A c t i v i t y , 在 A c t i v i t y中定义在该步流程中文档的读写权限, 权限定义可以使用 角色也可以直接使用用户名。A c t i v i t y之间的联系称为 R e l a t i o n 。R e l a t i o n 规定了在什么条件下可以从一个 A c t i v i t y跳转到 下一个 A c t i v i t y 每个 R e l a t io n 在起作用时会附带发出一些邮件 提醒, 这些 邮件提醒称为 Ma i l N o t i f y 。M a i l N o t i f y定 义 了收件 人、 邮件标题和邮件内容。一个 R e l a t i o n可以调用一个或多个 Ma i l N o t i f y , 一个 M a i l N o t i f y也可 以被一 个或 多个 R e l a t i o n所 调用 。 ( 2 )组织信息 由于现代企业组织结构千差万别, 不可能有统一的组织信 息定义的模式。但是至少可以作如下假定 : 每个员工至少属 于一个部门; 每个员工至少有一个直接主管; 每个员工的不 同的流程中可以指定不同的直接主管; 每个员工在不同的流 程中可以指定不同的代理人; 部门间除了上下级关系, 还可以 指定部门级别。基于上述假定的组织信息, 具有 比较普遍的实 用性 , 应该可以满足各种不同结构的企业的需要, 同时又提供了 流程管理所需要的足够的信息。 ( 3 )工作流引擎 引擎的主要功能是实现文档在指定流程下的流转。根据当 前文档的A c t i v i t y 状态, 在流程信息数据库中搜寻当前文档的流 程编号及版本号 , 并在该流程版本中逐一测试由该 A c t i v i t y出发 的R e l a t i o n的条件, 通过条件成立的 R e l a t i o n找到流程的下一个 A c t i v i t y , 对新 A c t i v i t y的读写权限定义到组织信息数据库中查询 合适的人员, 同时查询这些人员的代理人是否已经激活, 然后根 据这些信息对文档的读写权限进行更新 , 最后根据 R e l a t i o n关 联的 M a i l N o t i f y 定义对相关人员发出邮件提示。除此之外 , 引擎 还自动记录了流程各个步骤的操作者、 操作内容、 操作时间, 并 且根据这些信息提供初步的流程分析, 给管理者提供流程各个 步骤的平均用时统计等信息 , 以便管理人员适时对流程进行优 化重组 。 使用 A c t i o n R e l a t i o n Ma i l N o t i f y模式来描述流程, 可将一般 的流程描述为图6所示, 其 中B表示 B e g i n , E表示 E n d , A表示 A c t i v i t y , R表示 R e l a t i o n , M 表示 Ma i l N o t i f y 。 R5 M , 、 l E 图 6 A c t i o n Re l a t i o n Ma i l N o t if y 模式 的流程描述 3 4 代码重用的设计 第一 , 在数据库层面上。将工作流引擎设计为 L o t u s D o m i n o N o t e s 的模版数据库, 并且提供样本表单 、 样本视图及其它 设计元素。用户通过继承此模版 , 修改用于产生流程文档的 样本表单 , 即可生成 自己的工作流系统。开发人员为工作流 引擎开发新功能或是修正 b u g后 , 可 以通过更新模版, 然后由 L o t u s D o mi n o自动将所有更新传达到继承此模版的所有工作 流应用中。对于高级用户 自行开发和添加的额外功能不会受 到影 响 。 第二 , 在代码层面上。将频繁用到的员工信息、 部门信息封 装成类、 提供各种类属性和类方法来获取诸如员工所在部门、 员 工直属主管、 部门经理、 部门助理 、 上级部门、 下级部门、 员工代 理人等等信息。将当前 A c t i v i t y如何流转到下一个 A c t i v i t y等过 程模块化, 形成函数模块来调用。 通过以上设计方法, 将工作流的核心部分完全模块化, 处理 C S和 B S 访问时只需处理好权限控制和输入输出处理, 其他 部分的代码可以完全通用, 最大程度节省了开发成本, 并且提高 了系统的可升级性 。 4 结束语 本文对工作流管 理系统做 了概要 的描述 , 特别对 Lot u s D o m i n o N o t e s 平台对于面向中小企业的办公 自动化的优势, 以 及同时提供 C S和 B S用户界面的必要性和设计要点作 了阐 述, 并给出了基于Lot u s D o m i n o N o t e s 平台的工作流管理系统理 论依据和实现方法。 参考文献 1h t t p : w w w z a r v a s o f t c o n 2h t t p : w w w 1 i n k e y c a 3h t t p : w w w r t a s c o n 4S o r e n P e t e r N i e l s e n , C a r o l E a s t h o p e , P i e te r G o s s e l i n k , K a r l G u t s z e , J a n n o Ro e l e Us i n g Do mi n o W o r k l f o w , I BM Re d b o o k, 2 0 0 0 5 Ho l l i n g

温馨提示

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

评论

0/150

提交评论