1、基于工作流技术的高职院校数字化校园实现 答辩人: 指导老师: 答辩日期 课题研究背景 办公自动化系统是企业信息化建设的重要部分。办公自动化系统的管理方式是对现在企业执行制度和行政业务处理方式的反映。办公制度或行政业务处理方式的改变,势必会导致整个办公自动化软件的重新设计。对系统重新设计意味着对原来系统的放弃,重新开发新的系统,这将大大提高企业的运营成本;而且新开发的信息也未必在最初就能适合公司规章制度的变化。因此,如何可以设计一套能够灵活地随着办公方式和规章制度变换而变换的办公自动化系统是放在目前企事业单位面前的一个急需解决的问题。上海青年管理干部学院办公自动化系统正面临这样的困境。如何可以在
2、不对系统重新开发的基础上,开发一种随着上海青年管理干部学院规章制度改变而灵活改变的系统?工作流技术的出现为这一问题提出了一种解决的思路。 研究发现,利用工作流技术中的工作流引擎可以使整个办公自动化系统具有柔性,能够极大的降低系统重新开发的成本。在当前绝大部分工作流产品只适用于大型企事业单位的实际情况下,本文提出并研发一种基于关系数据库和 J2EE架构的轻量级工作流系统,及其如何在办公自动化系统中使用。 本文按照作者的工作背景出发,以期实现上海青年管理干部学院办公自动化平台的设计。 本文主要研究内容 本文按照作者的工作背景出发,以期实现上海青年管理干部学院办公自动化平台的设计。首先研究工作流的基
3、本概念和工作流管理系统的功能和体系结构,使用不同的工作流建模方法,对办公自动化系统进行总体分析,对其功能性需求和非功能性需求进行详细分析,然后对收文、发文等流程进行仔细研究,最后提出轻量级工作流引擎设计方案。 在系统设计中,将工作流模型在工作流管理联盟的元模型基础上扩展为四个部分,即过程模型、组织模型、资源模型以及工作流相关数据,并设计了组织模型、资源模型及基于活动网络的过程模型;在过程模型设计中,采用了基于 XML的过程定义语言,使其可较好地与其他工作流定义相融合;给出了对工作流语法验证和基于图论的结构验证方法;提出了引擎核心组件的系统结构及引擎的工作机制;引擎建立在 J2EE三层架构上,采
4、用 Message-driven Bean和 JMS结合的方式,并基于关系数据库来实现;文中详细介绍了引擎的核心,即流程管理器、活动管理器、流程导航器和任务管理器的实现;给出了工作流引擎的性能优化策略。 最后,将设计并实现的轻量级工作流引擎应用于上海青年干部管理学院办公自动化系统中。应用结果表明,引擎可支持灵活的流程定制,且配置部署简便。 论文的组织结构 第一章绪论,给出本文的研究背景、国内外研究现状、主要的研究内容与结构安排。 第二章为相关技术分析,讨论工作流管理系统的功能、体系结构以及应用领域,然后介绍目前工作流技术发展的现状、存在的问题和解决的思路,然后提出适合本文所研究系统的工作量引擎
5、系统,并结合 J2EE平台研究了本文的构架和体系结构。 第三章为基于工作流的数字化校园的分析,从 “ 上海青年管理干部学院数字化校园 ” 的三期系统中的办公应用平台的功能模块分析出发,以办公的发文、收文两个主要功能为核心,引出了工作流平台设计的功能要求, 然后分析了轻量级工作流系统的设计思想和轻量级工作流系统的总体设计方案,并从基于令牌有向图过程模型、组织角色模型等方面详细介绍了工作流模型的设计,给出轻量级工作流系统详细的数据库设计。 第四章为基于工作流的数字化校园的具体实现,介绍引擎架构及其采用技术,详细说明引擎核心的实现,分析应用调用适配器、 XML文档解析,给出日志和时间管理接口及资源分
6、配策略、引擎性能优化策略,介实现工作流引擎集成到 Web系统应用中的方法以及本引擎在上海青年干部管理学院办公应用系统项目中的应用。 第五章为结论与展望,对全文进行总结后给出课题以后研究的方向。 工作流技术与参考模型 工作流参考模型是指由工作流管理联盟( WFMC)在 1995年提出来的工作流管理系统的体系结构模型。它提出了构成工作流管理系统的一些基本构件以及这些基本部件之间的接口。其中基本部件包括:工作流引擎、流程定义工具、客户端和被调用的应用程序、管理监控工具、其他工作流执行服务。同时这些基本部件之间有 5个交互接口,从接口 1到接口 5。这个模型对工作流技术的讨论和发展产生了很大的影响,使
7、得不同产品间的互交换操作成为可能。 过 程 定 义生 成工 作 流 引 擎工 作 流 控 制数 据过 程 定 义 工 具组 织 / 角 色 模型 数 据任 务 表工 作 流 相 关数 据任 务 表 管 理器用 户 界 面应 用应 用被 解 释引 用引 用操 纵引 用工 作 流 执行 服 务更 新调 用使 用维 护工 作 流 应用 数 据交 互调 用管 理 员用 户监 控 管 理软 件 结 构系 统 控 制 数 据外 部 产 品 / 数 据适用于学校的工作流引擎 目前市场上虽然有名目繁多的工作流软件,但是专门针对中小企业的工作流产品始终较为匮乏。从功能上来看,目前市场上相对成熟的软件大都是为大中
8、型企业设计的。其系统模块的复杂度较高,对于业务流程相对简单、应用需求相对单一、专业技术人才缺乏的中小企业来说,不可能选择使用那些系统复杂度高、使用难度大的产品。另外,从价格上来看,动辄数百万甚至上千万的价格也实在令中小企业望而生畏。 中小企业需要的是适合自己应用特点的工作流产品:首先,中小企业相对简单而集中的业务,需要功能简单实用,勿需模块繁多功能复杂的软件;其次,随着中小企业的高速成长,业务内容或是操作流程变动也很大,这就要求工作流软件具有灵活的定义功能和扩展功能;还有,中小企业没有太多甚至根本没有专业的计算机技术人才,因此针对中小企业的工作流产品必须是便于使用的 “傻瓜式 “产品,便于工作
9、人员的操作; 因此有必要针对中小型企业的现实业务开发出功能简单适用,工作流流程定义易修改,界面易操作的轻型工作流引擎。 数字化校园总体框架设计 根据建设 “ 上海青年管理干部学院数字化校园 ” 的总体目标,在一期、二期系统建设的基础上,在三期中的建设内容主要是办公应用系统建设,包括日常办公、学院管理、教学管理、总务管理、学生管理、科研管理、培训管理、资源管理和系统管理等各类业务系统,重要通知类业务需要支持短信发送功能。 学院综合办公应用平台为上海青年管理干部学院的整个业务系统构建了一个统一的应用集成平台,通过应用管理功能使各个子系统作为整个应用系统的一部分整合在了一起,对外提供一个统一的应用访
10、问入口,使用户最终可以方便的访问各个应用子系统。 办 公 应 用 服 务 平 台学院管理子系统科研管理子系统教学管理子系统学生管理子系统办公自动化子系统系统管理子系统培训管理子系统共享资源子系统总务管理子系统应用接入子系统系统开发构架分析 在本系统中,选择 MVC( Model/View/Controller)作为整个系统的架构,Struts Web Framework技术作为表现层的解决方案, Enterprise Session Bean技术作为商业逻辑层的解决方案, Hibernate技术作为持久化层的解决方案。 客 户 层便 携 电 脑W e b 表 现 层S t r u t sA c
11、 t i o n商 业 逻 辑 层E J BS e s s i o n B e a n持 久 化 层工 作 站P D AH t t pR e s p o n s eH t t pR e q u e s tJ S PH i b e r n a t eP r e s e n t a t i o n T i e r B u s i n e s s T i e r P e r s i s t e n c e T i e rC l i e n t T i e r M i d d l e T i e rE n t e r p r i s e I n f o r m a t i o n S y s t e
12、m T i e r数 据 服 务层数 据 库文 件 系 统轻量级工作流引擎的分析 本文发现办公自动化系统中业务流程的审批是最核心的功能,这里有发文和收文功能的审批,公告、会议安排的审批。由于这些审批功能的实现需要上下级协助完成,所以这里使用工作流进行实现, 图 是基于工作流的办公自动化系统模型。从图中可以分析到 OA工作流管理环境是整个系统的核心,通过 OA工作流管理来进行发文和收文功能的审批以及公告、会议安排的审批的实现。除了核心的 OA工作流管理环境,系统管理和信息管理也是整个系统必须的。系统管理对整个系统中工作流方式和角色进行定义,信息管理则是来定义整个系统中公文的格式,并定义信息和统计
13、报表的格式和方式,最后所有的数据都是存储在后台数据库上面。 收 文 和 发 文会 议 安 排日 程 安 排等信 息 公 告统 计 报 表分 析 结 果公 文 办 理 事 务 管 理信 息 管 理系 统 管 理O A 工 作 流管 理 环 境数 据 库系 统 环 境计 算 机 网 络 系 统工作流引擎设计思想分析 为了满足中小企事业单位对于工作流系统的需求,本文提出一种基于关系数据库和 J2EE架构的轻量级工作流系统。 工作流管理系统的设计是一个复杂的过程,它需要考虑许多因素。首先,应用系统对 WFMS的需求是多变的,这种多变源自业务规则规模的变化,因此 WFMS应具有良好的可重用性和可扩展性。
14、其次,WFMS必须能方便地与企业内原有的应用集成,才能全面、有效地管理企业业务过程。另外,为了能适应快速的市场变化 WFMS在企业中的实施必须快速、方便、低成本的进行。过长的开发周期和过大的投资都将使企业放弃 WFMS的实施。 考虑到以上因素,本文选择 J2EE来架构 WFMS。引用一句话来概括J2EE,那就 J2EE是一个中间件基础架构,有了它,开发者只需要集中精力编写代码来表达企业应用的商业逻辑和表示逻辑,至于其他系统问题,如内存管理,多线程,资源分布和垃圾收集等,都将由J2EE自动完成。综合以上,可以看出采用 J2EE架构开发工作流管理系统存在着很多优势,可以很好的满足轻量级工作流系统的
15、要求。 轻量级工作流系统总体架构图 本文研究所建立的轻量级工作流系统主要参考 WfMC参考模型,实现上述五项功能。其中,过程定义由过程建模工具实现,过程的调度由工作流引擎实现,任务的分配由客户端应用实现,过程的管理与监控和组织机构的管理由系统的管理与监控工具实现。 系统共分三层:客户应用层、工作流逻辑层和数据服务层。图是系统的总体架构图。 过 程 建 模 工 具 管 理 与 监 控 工 具 客 户 端 应 用工 作 流 引 擎工 作 流 数 据 库企 业 业 务 数 据 库工 作 流 模 型 数 据 工 作 流 实 例 数 据 组 织 结 构 数 据工 作 流 逻 辑 层数 据 服 务 层管
16、理 员 界 面 普 通 用 户 界 面客 户 应 用 层轻量级工作流管理系统总体结构 本文中设计的轻量级工作流管理系统设计参考了 WfMC工作流参考模型,对其进行了一些简化,其总体结构如图所示。与WfMC工作流参考模型相比,本工作流管理系统,没有提供管理和监控工具等,重点实现了工作流引擎和过程定义工具。系统采用 B/S结构四层软件体系架构进行设计,即 :表现层、业务逻辑层、数据持久层和数据层。 表现层过 程 定 义 工 具业务逻辑层对 外 接 口 ( A P I )工 作 流 引 擎H T T P数据持久层数 据 访 问 对 象 D A O数 据 持 久 层数据层过 程 定 义 数 据 、流
17、程 控 制 数 据 等“轻量级”工作流引擎的具体开发 组织角色模型 本轻量级工作流系统采用了矩阵制组织结构作为其组织结构模型。对于矩阵制组织结构,其静态部门职能结构可以用传统的树形结构形式表示,而工作组一般都是动态组成的。因此,在本系统中,组织结构模型由四种实体组织,分别是 “ 人员 、 “ 职位 ” 、 “ 部门” 和 “ 工作组 ” 。 过程模型 本文的工作流系统就是以有向图为基础结合 Petri网模型的特点提出了基于令牌有向图的过程模型。 工作流引擎 本文所述及的工作流系统的活动调度策略采用的是基于令牌有向图的调度算法。 工作量引擎数据库设计 用 户属 于 部 门团 队属 于拥 有 职
18、位角 色授 权业 务 过 程过 程 模 版授 权授 权授 权节 点有 向 边包 含构 成构 成有 向 边进 入 条 件包 含节 点进 入 条 件节 点完 成 条 件包 含隶 属 于包 含过 程 实 例创 建包 括 包 括执 行节 点 实 例生 成有 向 边 实 例生 成分 配1MNMMNNN1NNN111N111111 1111N N1 1NNNNNN1NNNNN工作流引擎的实现 工作流引擎主类( WorkflowEngine)是一个消息驱动 Bean,在系统中建立 JMS消息队列,对于流程服务的调度通过往消息队列发送消息来实现,消息驱动的 EJB在接收到消息时候将调用其 onMessage(
19、)方法进行对于流程的管理和调度。通过利用消息驱动 EJB,由于 J2EE的 EJB容器可以控制 WorkflowEngine的生命周期,同时多个WorkflowEngine的实例可以并行处理来自于消息队列的消息,为用户提供引擎服务。用户要提交任务或者对流程进行管理时,可以直接通过 JMS,往消息队列发送相应的消息。接到消息后, EJB容器会从某个池中选择一个 Bean的实例,然后该 MDB实例调用自身的onMessage()方法来获取请求消息,并对其进行处理从而实现引擎对象的访问。消息队列由 JMS自动管理。 在工作流引擎中,为了提高可移植性和编程效率,采用了 iBATIS这个开源软件来封装对
20、数据库的操作。 工作流引擎的实现 工作流引擎的核心通过流程管理器、活动管理器、流程导航器和任务管理器协作进行流程的运行控制和状态转换及任务流转。流程管理器、活动管理器和任务管理器的实现均为无状态的会话 Bean。使用无状态的会话 Bean, EJB容器能够很容易的组合复用 Bean,使得多个 Bean可以服务于多个客户。 应用调用适配器 工作流引擎可能直接调用应用程序或其任务项的执行需要调用应用程序,应用程序可能有多种类型,如普通 Java函数、 exe, bsh, DLL, COM, CORBA, EJB等,因此需要提供一个应用调用适配器接口ToolAgent来封装不同的应用程序,实现类图如
21、图所示。 收文管理界面 收文登记 发文拟稿列表 系统测试 上海青年管理干部学院的办公自动化系统测试报告是针对系统的各种功能进行测试检查,它通过测试人员的每次查询输入和 WEB浏览器的具体查询结果输出,可验证系统是否符合设计功能要求,为方案评审及验收提供了事实依据。 根据上述的测试方法,对功能性和稳定性分别进行测试,下面是测试结果: ( 1)功能性 -按照测试步骤进行测试,系统各功能模块在各个测试步骤中均通过测试用例测试,审批系统系统中的基础信息管理、登陆管理、申报管理、审批管理、流程监控、流程定义管理、角色控制管理总共七个模块符合设计要求,功能表现良好,均通过测试。 ( 2)稳定性 -系统在整
22、个测试过程没有出现失控现象;没有出现软件故障与程序报错,系统数据与功能实现完全一致,破坏数据完整性现象没有出现;在测试过程中没有出现系统运行错误;输入错误时能提示报警。 ( 3)测试结论 -测试结果表明,软件功能及效率性、可靠及可维护性、易用性和可移植性达到了系统的预定设计目标。 全文总结 对工作流技术的理论基础做了深入的研究。通过阅读和分析了大量有关工作流技术的专业文献,对工作流技术的概念、工作流管理系统功能层次及系统基本结构、 WfMC制定的工作流标准和参考模型进行了详细的阐述与分析。 参考工作流管理联盟制定的规范,根据中小型企业业务对工作流软件的需求情况和工作流产品现状, 提出了一个基于
23、 J2EE和关系数据库的轻量级工作流系统的设计方案。设计了适合中小企业的组织角色模型和基于令牌有向图的过程模型,并详细设计了系统的总体结构和数据库。 详细设计和实现了轻量级工作流系统的过程建模工具、工作流引擎、客户端应用、管理与监控工具四大功能模块。采用表单建模结合图形化显示的方式设计和实现了过程建模工具。详细介绍了工作流引擎的功能设计,并对工作流运行状态、工作流引擎采用的基于令牌有向图的工作流调度算法和工作流引擎的条件分析、实例处理等模块的设计和实现作了详细说明。介绍了工作流系统的客户端应用及提供的客户端应用接口的设计和实现。最后,说明工作流系统的管理与监控工具是如何设计与实现的。 将工作流
24、系统应用于上海青年干部管理学院办公应用系统。应用结果验证了本文设计方案的有效性,系统支持灵活的流程定制,可扩展性强。 课题展望 由于多种因素与条件所限,本文所完成的轻量级工作流系统是建立中小企业业务应用工作流系统平台的初步探索,内容上还存在许多需要深入研究和改进完善的地方。针对本文的研究内容,在以下几个方面应予加强: 过程建模工具功能进一步加强。到目前为止,过程建模工具采用表单定义结合图形化显示的方式实现,下一步将采用 Java Script结合VML技术实现可拖拽的图形化过程建模工具。 在数据库访问方面还需补充,本工作流系统目前只实现了与 SQL SERVER 2000的数据库进行访问,还未给出基于其它数据库管理系统的具体实现。 工作流系统功能、性能优化。从系统的应用和测试结果来看,本文设计、实现的轻量级工作流系统具备了工作流管理的基本功能,运行性能也能满足业务系统的需求。但是,实际中的业务系统往往很复杂,对系统性能的要求也很高,这就要求进一步完善和扩展工作流系统的功能,同时,通过优化系统体系结构、数据库脚本等策略来实现系统性能的提升。 谢 谢!