基于JAVAEE的工作流引擎的设计
基于J2EE的工作流引擎技术的研究

1JE 体系组成 2E
JE 2 E系统 平 台 实 际 上是 一 个 分 布式 的 应 用 程 序 一 一 服 务 器 环 境 , 提 供 了 一 组 它 用 于 建立 应用 程 序的 J VA扩 展 AP , A I 还提 供 了用 于 驻 留和 管 理 应 用 程 序 的 实 时 基 础 设 施 。J E 2 E规 范 定 义 了 以下 种 类 的 组 件 : 客 户应 用组 件 ( p ia in Ap lc t o c i n le t c m o e t) n e p i J v B a o p n n s 、E tr rs a a e n组 件 e (nepi a a en cmp nns、 eve E trr e Jv B a o oe t S rl s ) t 及 Jv evrP g 组件 ( rlta d Jv a aS re a e e s ve n a a Sre a e cmp nns、A pe【 evrP g o o et) p lt】 2 a我们 使用 JE 2 E的 主 要 原 因是 它 在 建 立 多 层 结 构 中 的 成 功 应 用 。 传 统 的 两 层 结 构 难 于 维 护, 稳定 性 极 差 , 面 代 码 和 数 据 库 代码 混 界 淆 在 一 起 , 中 间件 技 术 日益 迅 速 的发 展 在 之 下 , 样 的 两 层 结 构 在 企 业 级 中 的应 用 这 必 将 会 被 淘 汰 , 而 代 之 的 是 三 层 乃 至 多 取 层的体 系结构 。
某 一 条 特 定 的 工 作 流 流 程 的 时 候 , 作 流 工 引擎 首 先 要 找 到 此 条 工 作 流 流 程 的 定 义 模 板 , 后 根据 定 义 模 板生 成 工作 流 实 例 , 然 之 后 将 这 条 实 例 持 久 化 到 数 据 库 里 面 。 应 用 工 作 流 引 擎 技 术 的 关 键 类 来 创 建 一 条 工作 流 实 例 的 流 程 是 :1客 户 端 向工 作 流 引 擎 () 入 口( ok lwE gn ) 出创 建流 程实 例 W r Fo n ie发 的 指 令 fo o 即调 用 f wGo 法 )并 且 lwG ( l o 方 , 传 人 相 关 的 工 作 流 信 息 。 (2) Wo k l wE g n 进 行 调度 进 行 一 系列 的 r Fo n ie 操作 。3调 用 b i e 方 法 , () ul r d 传入 工 作流 模块 的 名 称 和 版 本 号 , 为 工 作 流 模 板 的唯 一 做 表 示 , 对 模 板 进行 加 栽 和 解 析 。 并 3 2 过 程驱 动算法 . 在 工 作 流 引 擎 中 , 程 驱 动 的 实 现 是 过 引 擎 的核 心 任 务 。 在 一 个 活 动 完 成 以后 , 由引 擎 的 过 程 驱 动 决 定 流程 的走 向 。 过 程 驱 动 的 基 本 原 理 就 是 根据 当 前 实 例 实时 活
基于JAVAEE的工作流引擎的设计

计算机与现代化 2008年第7期J I S UANJ I Y U X I A NDA I HUA总第155期文章编号:100622475(2008)0720046204收稿日期:2008205215作者简介:陈艳(19792),女,湖北石首人,三峡大学电气信息学院助教,硕士,研究方向:计算机技术与应用。
基于JAVAEE 的工作流引擎的设计陈 艳(三峡大学电气信息学院,湖北宜昌443002)摘要:提出了一种基于JAVAEE 的工作流引擎设计方案。
详细介绍了工作流数据存储以及流程运转各个环节的实现原理。
关键词:工作流;引擎;JAVAEE中图分类号:TP311 文献标识码:AD esi gn of W orkflow Eng i n e Ba sed on JAVAEECHE N Yan(College of Electrical Engineering and I nfor mati on Technol ogy,Three Gorges University,Yichang 443002,China )Abstract:This paper p resents the design scheme of workfl ow engine based on JAVAEE and the realizati on p rinci p le of workfl ow data st orage and fl ow running on every link .Key words:workfl ow;engine;JAVAEE0 引 言近些年来,有很多成熟的软件来满足企业的信息化需求,如办公自动化软件(OA )。
认真地剖析办公自动化软件得以成功的原因,除了计算机网络设备的普及外,根本原因就是办公自动化软件的核心系统的设计理念。
工作流系统是办公自动化软件系统的核心部件,它的功能是实现业务数据在由网络连接起来的企业计算机系统中运行。
基于JAVA的集成型工作流引擎的设计

基于JAVA的集成型工作流引擎的设计
蔡明彦;邱桂明
【期刊名称】《汕头大学学报(自然科学版)》
【年(卷),期】2004(019)003
【摘要】针对中小型项目的工作流应用,设计了一个基于JAVA的集成型工作流引擎,该工作流引擎由工作流元模型、工作流执行引擎以及客户端接口三部分组成.文中给出了工作流引擎各部分设计,并做了详细的说明.在该设计的基础上,已经开发出了一套工作流引擎软件,并应用在多个项目中,证实其具有高效性和可扩展性.使用该引擎可以容易地整合业务逻辑和业务流程,降低项目的开发成本.
【总页数】6页(P58-63)
【作者】蔡明彦;邱桂明
【作者单位】华南理工大学软件学院,广州,510640;汕头大学物理系,汕头,515063【正文语种】中文
【中图分类】TP311.52
【相关文献】
1.JAVA工作流引擎的开发和设计 [J], 梁后健;李孝天;胡贺军
2.基于JAVAEE的工作流引擎的设计 [J], 陈艳
3.基于JAVAEE的工作流引擎设计的探究 [J], 田杰
4.轻量级Java客户端分布式服务的模块化工作流引擎方法 [J], 车鹏飞;马宗保
5.基于WFMC规范的工作流引擎——Java对象模型转换为DB数据模型接口的解决方案 [J], 张晖
因版权原因,仅展示原文概要,查看原文内容请购买。
基于Java的工作流管理系统设计与实现的开题报告

基于Java的工作流管理系统设计与实现的开题报告一、研究背景随着信息化时代的到来,企业在业务处理方面遇到了越来越多的挑战,由此推动了企业对于工作流管理系统的需求。
工作流管理系统可以将企业的业务流程标准化、自动化、系统化,以提高工作效率、优化业务流程,增强组织管理能力。
在这样的背景下,基于Java的工作流管理系统得到了广泛应用。
二、研究目的本研究的目的是基于Java技术设计和实现一个高效、灵活、可扩展的工作流管理系统,满足企业对于业务流程管理的需求。
具体目标如下:1. 掌握Java中的工作流处理技术和相关的软件平台,了解各种常见工作流引擎的特点和优缺点。
2. 设计并实现基于Java的工作流管理系统,包括流程定义、流程实例控制、流程监控等主要功能。
3. 实现对工作流程的全面控制,包括对任务的分配、审核、修改等操作。
4. 采用较为先进的框架和技术,在系统开发过程中实现高效率、易维护、易扩展等特点。
三、研究内容本研究主要涉及以下研究内容:1. 工作流技术的介绍:介绍工作流技术的原理和发展历程,以及相关领域的研究现状和应用。
2. 工作流引擎的选型:介绍常见的工作流引擎,比较其特点和优劣,并选择合适的工作流引擎。
3. 系统需求分析:对于工作流管理系统的功能、性能和可用性等方面进行需求分析和规划。
4. 系统架构设计:设计基于Java的工作流管理系统的系统架构,包括业务流程的定义、流程实例的控制、流程监控等核心功能。
5. 详细设计及实现:根据系统架构设计,详细设计系统各模块,根据需求编写代码并进行系统实现。
6. 系统测试与评估:对系统进行测试和评估,通过各种测试方法验证系统的正确性、鲁棒性和可用性。
7. 总结和展望:对工作流管理系统的研究进行总结,评价系统的优缺点,并展望未来的研究方向。
四、预期成果本研究的预期成果如下:1. 设计并实现一个基于Java的工作流管理系统,满足企业对于业务流程管理的需求。
2. 掌握Java中的工作流处理技术和相关的软件平台,了解各种常见工作流引擎的特点和优缺点。
JAVA工作流引擎的开发和设计

J AVA工 T 隹琉 f 擎 的 开 炭 和 设 计
国网安徽省 电力公 司 淮北供 电公 司 梁后 健 李孝天 胡贺 军
【 摘 要 】工作 流在 业务 开发 中占据 了重 要 的地 位 ,而 工 作流 系统 的核 心 部件 就 是 工作 流 引 擎,直 接影 响 着 系统质 量 。信 息技 术在 不断 的发
展 ,在 企 业工 作 中 ,办公 自动化 系统 应 用越 来, gf - 泛 ,这也 是 企业现 代化 水 平的 重要衡 量标 : 位。工作 流技 术在 应 用中较 为深入 ,出现 了很 多
工作流产品的变更,但是缺 少灵活性和适应性,因此这一问题不可忽视 。本文从技术背景入手,- g . - 9 g  ̄述J A V A 工作流引擎的开发和设计 ,
一
4 J AV A' I " 作流引擎的关键技术及实现
从工 作流 引擎 的定义 来看,能为 工作流提供 必要的运 行环 境和服 务 ,在 其中提供 了必要的工作流 定义和相关活动 ,针对J A 、 , A工作流引 擎 的各种功能 ,具体 阐述J A V A工作流引擎关键技 术的实现。 4 . 1 典 型路 由控制 算法 J A 、 , A 工 作流 引擎 在关键 算法 和技 术要 点都集 中在算 法设 计上 , 工 作流系统 本 身很 可能 出现业 务流程规 则上 的问题 ,而业 务流转就可 以借助路 由算法来 实现 。工 作流系统 可以按照预 先设定好 的业务流程 规 则进行 自动流转 ,而根据路 由算法 的不同进行 不同的判 断,路 由算 法 的功能和 路 由其这 一硬件 设备基本 相同 ,其 质量直接决 定这工作流 系 统的运 转情 况 。工 作流 模式 较 多 ,而对 于不 同 的建模 语 言进 行处 理 , 很难 具体 确 定哪一 种模 式 。根据 事 务执 行模式 的 不 同,可 以选 择 不 同的工 作流 模式 ,常 见 的工作 流模 式如表 1 所 示。
《2024年基于工作流核心引擎调度服务模型的研究与设计》范文

《基于工作流核心引擎调度服务模型的研究与设计》篇一一、引言随着企业信息化程度的不断提高,工作流技术已经成为企业业务流程管理和优化的重要手段。
工作流核心引擎作为工作流技术的核心组成部分,其调度服务模型的设计与实现对于提高企业业务流程的运行效率和管理水平具有重要意义。
本文旨在研究并设计一种基于工作流核心引擎的调度服务模型,以实现企业业务流程的高效、稳定和可靠运行。
二、背景及意义当前,企业面临着日益复杂的业务流程和不断变化的市场环境,传统的业务流程管理方式已经无法满足企业的需求。
工作流技术通过将业务流程进行抽象化、模型化和自动化,实现了对企业业务流程的高效管理和优化。
而工作流核心引擎作为工作流技术的核心组成部分,其调度服务模型的设计与实现对于提高企业业务流程的运行效率和管理水平具有重要意义。
三、相关工作工作流核心引擎调度服务模型的研究已经取得了一定的成果。
目前,国内外学者主要从工作流模型的构建、调度算法的优化、服务质量的提升等方面进行了研究。
然而,现有的研究仍存在一些问题,如模型复杂度高、调度算法不够智能、服务质量不稳定等。
因此,本研究旨在设计一种基于工作流核心引擎的调度服务模型,以解决上述问题。
四、模型设计本研究设计的基于工作流核心引擎的调度服务模型主要包括以下几个部分:1. 工作流模型构建:采用面向对象的方法,将企业业务流程进行抽象化、模型化,构建出符合企业实际需求的工作流模型。
2. 调度算法设计:采用智能调度算法,根据工作流模型的运行状态和资源情况,动态调整任务的调度策略,以实现任务的高效、稳定和可靠运行。
3. 服务质量提升:通过引入服务质量评估机制,对任务的运行过程进行实时监控和评估,及时发现并处理问题,以保证服务质量的稳定和提升。
4. 引擎实现:采用分布式架构,将工作流核心引擎部署在多个节点上,实现负载均衡和高可用性。
同时,通过引入缓存机制和消息队列等技术,提高系统的响应速度和吞吐量。
五、实验与分析为了验证本研究所设计的基于工作流核心引擎的调度服务模型的有效性和可行性,我们进行了实验分析。
基于J2EE的轻量级工作流引擎的设计、实现与应用的开题报告

基于J2EE的轻量级工作流引擎的设计、实现与应用的开题报告一、选题背景:工作流引擎是企业信息化建设中的一项重要组成部分,它可以有效地管理企业内部的流程,提高企业的运作效率和精度,优化工作流程,减少人力和时间成本,增强企业的竞争力。
J2EE平台作为当前企业信息化的主流开发平台,拥有广泛的应用和开发群体。
二、研究内容:本研究拟设计、实现并应用一款基于J2EE平台的轻量级工作流引擎。
具体研究内容包括:1. 确定需求:分析企业内部工作流程,确定引擎实现的功能需求,明确开发目标。
2. 设计引擎架构:设计引擎的基本架构和核心流程控制逻辑,包括流程定义、任务分配、节点执行、流程监控等功能。
3. 实现引擎核心功能:利用JAVA语言及相关技术实现引擎核心功能,包括流程定义存储、任务分配、节点执行、流程监控等。
4. 设计开放接口:设计开放API接口,方便与其他开发者或系统集成。
5. 验证应用场景:在企业内部具体场景中验证引擎的有效性和应用性。
三、研究意义:本研究目标在于设计、实现并应用一款基于J2EE平台的轻量级工作流引擎,可以将其广泛应用在企业内部,帮助企业降低人工操作流程,优化管理模式,提高企业的时效性和竞争力。
同时还可通过开放接口,来增强引擎的扩展能力和服务能力。
四、研究方法:本研究采用系统工程方法,先进行需求解析,然后进行设计方案讨论,利用JAVA语言和相关技术实现核心功能,最后在企业内部验证应用。
在整个研究过程中,重视实际企业应用的需求,加强交流和沟通,确保设计和实现的实用性和有效性。
五、论文结构安排:本论文共分为六部分,详细结构安排如下:第一章:绪论1.1 研究背景和意义1.2 研究现状和发展趋势1.3 研究内容和方法1.4 论文结构第二章:需求概述2.1 工作流引擎定义和基本架构2.2 引擎应用场景分析2.3 引擎需求分析与确定第三章:引擎设计3.1 引擎架构设计3.2 引擎核心流程控制逻辑设计3.3 接口设计和实现第四章:引擎实现4.1 引擎功能模块的实现4.2 数据库设计和实现4.3 现有工作流引擎的改造和应用第五章:应用和测试5.1 应用场景介绍5.2 测试和验证5.3 性能测试和应用效果评估第六章:总结与展望6.1 研究总结6.2 经验收获和不足6.3 发展方向和展望六、参考文献。
开题报告_基于java的工作流引擎设计

X X大学毕业设计(论文)开题报告题目名称基于java的工作流引擎设计题目类别毕业设计学院(系)计算机科学学院专业班级学生姓名指导教师辅导教师开题报告日期基于java的工作流引擎设计一、题目来源生产/社会实际二、研究目的和意义研究目的:(1)作为企业应用系统集成(EAI)的平台。
(2)协助涉及多人相关任务工作流软件的开发。
(3)将工作流引擎嵌入到其他应用中。
现代企业的成功或失败将会越来越依赖于企业部门内部以及部门之间能够快速适应环境的需求。
为了适应这一需求,越来越多的企业将管理的指导思想从分工转向了协作,逐渐重视对它们的业务流程的支持。
工作流是一类能够完全或者部分自动执行的业务流程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。
工作流成功地将流程逻辑从应用逻辑中分离,最大限度地集成了企业的各种资源,成为帮助企业有效地建立以业务流程为中心的企业的核心支持技术。
三、阅读的主要参考文献及资料名称[1]Workflow Management Coalition; Interface1,process defi-nition interchange andprocess model[EB/OL]. [M];WFMC-TC-1016-P,; 1999-10年.[2] 《工作流管理联盟工作流标准》文档编号WFMC—TC 1025 2002.WFMC[3] 《WFMC——工作流参考模型》文档编号WFMC—TC 1003 2002.WFMC[4] 常飞编著《工作流引擎中间件的设计与实现》[D] 内蒙古大学2006.[5] 张海藩编著,《软件工程导论》. 清华大学出版社,2003.12.[6] 李刚编著《轻量级J2EE企业应用实战——Struts+Spring+Hibernate整合开发》电子工业出版社,2007.4(java技术大系)[7] 李刚编著《基于J2EE的Ajax宝典》电子工业出版社,2007.5[8] 陈天河编著《Struts, Hibernate ,Spring集成开发宝典》电子工业出版社2007[9] 杨少波编著《J2EE项目实训:Hibernate框架技术》清华大学出版社2008[10] 刘中兵编著《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》电子工业出版社2008.1.1[11] 洪维恩何嘉编著《Java 2面向对象程序设计》中国铁道出版社2005[12] 王嘉编著《Ajax经典案例开发大全》清华大学出版社2007[13] 贾殷P.西迪基S.王雷潘英编著《J2EE专业项目实例开发》中国水利水电出版社2003[14] 陈松编著《J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现》清华大学出版社2007[15] 林晓飞倪春胜张军编著《Red Hat Enterprise Linux4.0系统配置与管理》清华大学出版社2007.1[16] (美)Mark G..Sobell 著杨明军王凤芹译《Linux命令、编辑器与Shell编程》清华大学出版社2007.3四、国内外现状和发展趋势与研究的主攻方向目前,工作流商用应用软件产品比较成熟和丰富。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机与现代化2008年第7期JIS UAN JI YU X IAN DA I H UA总第155期文章编号:1006-2475(2008)07-0046-04收稿日期:2008-05-15作者简介:陈艳(1979-),女,湖北石首人,三峡大学电气信息学院助教,硕士,研究方向:计算机技术与应用。
基于J AVAEE 的工作流引擎的设计陈 艳(三峡大学电气信息学院,湖北宜昌443002)摘要:提出了一种基于J AVAEE 的工作流引擎设计方案。
详细介绍了工作流数据存储以及流程运转各个环节的实现原理。
关键词:工作流;引擎;J AVA EE中图分类号:T P311 文献标识码:ADesign ofW orkflow Engine Based on JAVAEEC HEN Yan(Co llege o f E lectr i ca l Eng i neer i ng and Infor m a tion T echnology ,T hree G orges U n i versity ,Y ichang 443002,Ch i na)Ab stract :T his paper presents the design sche m e o fw ork flow eng ine based on J AVA EE and the rea li zati on pri nc i p l e o f w orkflo w da ta st o rage and flo w runni ng on eve ry li nk .K ey w ords :workfl ow ;eng i ne ;J AVA EE0 引 言近些年来,有很多成熟的软件来满足企业的信息化需求,如办公自动化软件(OA )。
认真地剖析办公自动化软件得以成功的原因,除了计算机网络设备的普及外,根本原因就是办公自动化软件的核心系统的设计理念。
工作流系统是办公自动化软件系统的核心部件,它的功能是实现业务数据在由网络连接起来的企业计算机系统中运行。
它使得原本单独的计算机个体真正地组成了一个有机的能够自动化运行的网络系统。
工作流软件系统的核心实现是一个被称之为/工作流引擎0的程序。
通常这个程序被作为一个服务程序安装在服务器上,通过接受客户端发送的请求来进行处理,再把经过处理的信息反馈回客户端。
工作流引擎按照事先定义好的流程规则,自动地判断数据状态,然后将其自动转发给需要的人。
工作流系统除了应用于办公软件外,现在已经取得更广泛的应用,如生产销售物流等各个领域。
这些领域的数据处理自身没有流程的概念,但是如果考虑的范围更大一些就可以发现,这些数据实际上还是处于一种有序的业务流程运转之中。
比如说在零件的生产过程中,必须按照一定的工序来完成,有明显的分级传递过程。
笔者基于J AVAEE 设计了一套工作流引擎程序,按照目前投入使用来看,能较好地解决企业的各种业务流程。
1 工作流管理系统工作流管理系统主要由三类构件组成,这三类构件分别是:(1)软件构件:完成工作流管理系统不同组成部分功能的实现;(2)系统控制数据:工作流管理系统中一个或多个软件构件使用的数据;(3)应用与应用数据:对于工作流管理系统来说,他们不是工作流管理系统的组成部分,而是属于外部系统和数据,他们被工作流系统调用来完成整个和部分工作量管理的功能。
工作流管理系统的体系结构如图1所示。
2008年第7期陈艳:基于J AVAEE的工作流引擎的设计47图1工作流管理系统的体系结构图2工作流引擎的数据存储原理数据的存储主要借助于/XML+数据库0的方式完成。
系统中定义的流程以及流程运转实例数据以X M L的方式进行封装,存储于数据库中,系统调用时从数据库中读出来,将XML进行解析呈现到页面。
之所以采用XM L+数据库相结合而没有直接用XML 文件存储的原因,主要是因为考虑到读取性能方面,文件输入输出的速度比读取数据库要慢。
X M L代码框架如下:<NODE_ROOT fl ow I D="1211870"fl owN ame="公文流转-发文流程"><nodeT ask end N ode="fa lse"head N ode="true"taskID ="9522282"taskN a m e="发文流程-起草文件">,</node T ask>...<nodeT ask></node T ask></NODE_ROOT>X M L代码以<NODE_ROOT>为根结点。
fl o w I D 属性表示流程定义I D,fl o wNa m e属性表示流程的名称。
<node Task>是工作流的环节结点。
每个工作流由一个或者多个这样的结点构成。
endNode属性表示这个环节是否是工作流终点。
headNode属性表示这个环节是否是工作流的起点。
task N a m e属性表示这个环节的名称。
3工作流引擎的设计3.1工作流引擎类模型设计工作流引擎的设计实际上是引擎类模型的设计。
类模型反映各类之间的各种关系,如图2所示。
图2工作流引擎模型UM L图eng i n e类是引擎的核心类,引擎的主要功能函数都集中在此类中,oa Rule类是规则引擎类,用来定义流程定义当中的各类规则,fl o wCache类的作用是将流程存在缓存中,便于随时快速的读取,以此来提高引擎的性能,flo wBox类用于存取各种状态的流程,如待办流程、已办流程等。
fl o wT i m eContro l类是引擎时间控制器。
3.2运行时数据描述工作流运行时,工作流根据工作流的定义会产生一系列的进程。
但是工作流引擎从理论上来讲,引擎是无状态的系统,引擎又需要与大量的用户数据打交道,并且还需要识别不同的用户和流程。
因此,需要实现一个存储系统来为工作流引擎的实时系统服务。
其实,工作流引擎所需要的实时数据的模型与工作流定义是相似的。
工作流定义首先声明了一个工作流,然后再细分这个流程,划分成很多个业务环节。
工作流的定义就是定义业务逻辑怎样一个接一个的运行。
用图3表示这个数据模型。
图3流程运行时数据模型而运行时工作流引擎也是在定义数据的指挥下,将业务进程接力发送的。
工作流在接收到用户启动流程的请求后,会为用户所启动的这个流程建立一48计算机与现代化2008年第7期个进程,在这个进程中记载了谁在什么时候启动了什么流程的进程。
工作流在把进程转发到用户名下的时候,会为他当前所办理的环节业务建立环节进程,这个进程同时指向工作流定义的总进程和环节业务的定义。
环节进程的内容包含了谁在执行哪个环节定义的任务。
另外,环节进程的内部还使用XML对一些扩展信息进行了封装,它们用来专门记载这个环节从哪里来,到哪里去,回滚到哪里环节,还记载这个环节进程使用了哪些数据,并记录它在电子表单实体表中的位置。
3.3初始化引擎调用初始化引擎函数init E ng i n e(),传入人员I D 和需要启动的工作流定义就可以完成初始化操作。
这个函数的操作过程的步骤如下:(1)检查工作流是否已经被初始化,如果初始化了则不能重复初始化。
(2)检查工作流定义的缓存是否建立。
(3)通过flo wBox计算出能够启动这个工作流定义的人员列表,所谓启动人员列表就是这个流程的首结点的操作人范围。
如果这个人不在这个范围中,则表示该人不能启动这个流程。
(4)从缓存中把流程定义读取出来,作为副本存储在工作流引擎中。
那么此时如果全部成功的完成了,则表示工作流引擎已经为启动这个流程作好准备了。
3.4启动流程初始化引擎完成后,就可以执行启动流程的操作了。
启动流程使用函数start F lo w()来完成。
函数启动工作流的一个实例进程,并在数据库中留下记录信息。
其工作过程如下:(1)检查引擎是否启动,且检查引擎是否是为了启动流程而进行了初始化。
因为启动流程所需要的初始化信息和后面的载入进程的初始化信息是不一样的。
为了识别,引擎使用一个变量进行标识。
(2)初始化一个流程运行实例信息。
(3)初始化一个环节进程实例信息。
(4)执行数据库操作。
(5)转换工作流引擎到载入进程的初始化状态,准备其他的操作。
3.5电子表单数据引擎用户数据库在项目部署完成以后才产生电子表单,面对用户数据的读写,根本无法采用传统的方式来完成。
这个类仅提供两个公共函数:appendData()函数用来追加数据,get D ata()函数用来读取数据。
3.6办理业务办理业务就是执行eng i n e类的deal T ask函数。
该函数的目的就是为了把用户数据提交到服务器并产生存储。
初始化工作流引擎后,该函数就能够知道往正确的地方存储数据。
通过前面介绍的工作流引擎的运行模型可以知道,每个流程的环节进程都是独立的拥有一个记录来记载信息的,而且通过数据引擎的特性可以知道,每个数据集完成操作以后,都会把记录存储的位置信息返回给用户。
两者需要被关联起来,否则工作流的进程就没有办法和用户办理业务的数据相联系。
环节进程信息使用XML格式来记录,数据关联通过<ETABLE>标签,其中定义的<ROW>标签来记载电子表单数据集引擎完成操作后产生的位置I D。
3.7路由导航路由与导航的工作就是基于当前的工作流环节的定义,找出下一个环节是哪个。
eng i n e类的nav-i gate Nex t()函数用来完成这个任务。
程序先找到当前环节的定义,并分析环节的路由部分定义。
读出下一步的环节列表。
然后再试图读取鉴别模型的路径集。
在路由定义中,设置self C yc l e属性,这个属性表明这个环节是可以自循环的。
程序如果发现了这个属性为true,就在自动导航结果中加入当前环节。
在发现鉴别模型的情况下,程序会调用规则引擎,并将鉴别模型引入,然后将结果计算出来,这个结果就是下一步的路径,然后从路径中取得下一步的环节列表。
在上面的步骤完成以后,只能得到了下一步可以使用的环节列表,而在实际引用中,还必须知道下一步是哪些人相关,以便用户可以选择。
在知道环节列表的情况下,可以使用m ake People L ist()函数来计算人员范围。
3.8发送发送环节的操作由eng i n e类的post()函数来完成。
这个函数的参数是一个H ashtable。
参数H ash-table可以有多个结点,每个结点对应的是当前工作流定义中的一个环节,同时每个结点下又包含若干个人员I D,这些I D就是被用户选择来发送的目标人。