DLFloWorkflow工作流解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1概述
DLFlo Architecture
现有DLFlo Workflow是参照WFMC(国际标准化工作流组织)所提供的工作流模型,完全按照MS DNA基于组件的多层结构技术要求进行设计开发的一个基于WEB的工作流系统。
其中核心的工作流引擎以组件形式封装,与数据库和用户界面分开,便于系统维护和与企业内部其他系统的接口。
工作流引擎又由接口和内部核心处理两部分组成,在内部核心处理中,采用了缓存和多线程等技术来提高系统性能。
系统体系结构如上图所示,主要分为三部分:
1:用户界面
采用HTML和DHTML技术,用户通过IE浏览器以WEB形式进行操作。
2: 商业逻辑层
包括工作流引擎和用户具体应用中间件。
工作流引擎又由接口和内部核心处理两部分组成, 内部核心处理调用ADO、CDO等Microsoft的系统组件,与数据库和Email等系统资源相互联系。
3:数据服务层
包括工作流定义数据库,工作流实例数据库和用户应用数据库。
整个系统可运行在UNICODE环境下,提供对多语言的完好支持(如可同时输入和显示中、英、日等语言)。
在现有DLFlo工作流平台上
1:对表现层(用户操作界面)按用户需求制作
2:增加应用中间件(即用户具体应用的商业逻辑中间件,其中调用工作流引擎所提供的接口,与工作流引擎相互关连)
即能够构筑一个完整的工作流系统,满足用户的实际应用需求。
2详细结构描述
2.1用户界面
客户端采用IE流览器。
可支持多语言。
用户验证方式可选择以下一种或多种:
数据库用户验证
NT域用户验证
用户界面中,根据所定义的权限,能够实现以下功能:
1:Application的浏览
2:启动、浏览、处理、挂起、跟踪、停止、删除流程
3: 数据查询、统计、输出、输入、打印、报表生成, 与其他系统(如ERP)进行数据交换4: 流程定义、管理
5:人员、组织结构、角色、权限管理
6:系统管理
7:个人信息修改、查询,外出代理设置
8:网络邻居(根据权限取得其他用户的待处理表单)
9:查看在线帮助
实际上,可以根据用户需要,选择以上部分或全部功能来构筑用户界面。
另外,在用户表单中,提供了人性化的操作,如有以下一些特点:
1:缺省显示数据
缺省显示如用户、日期等固定信息。
无需用户重复输入。
2:日期选择
需要输入日期时,弹出标准Calendar选择即可。
3:充分运用DHTML技术, 使表格可动态增删,自动计算数值等。
如下例:
4:可在表单中添加多个附加文件
2.2 中间件
2.2.1 工作流引擎
工作流引擎由接口部分和内部核心处理两部分组成
2.2.1.1 接口
A: 流程管理接口
工作流定义工作流实例
包括流程的定义和实例两部分的接口。
管理员每定义一个新的应用流程,产生一个Workflow。
用户启动一个新的Case,即产生一个Task(工作流实例),其中每进行一步处理,产生一个Proc。
B: 事件触发接口
工作流事件
包括对流程的启动、处理、退回和分派等动作处理的接口。
C: 统计报表接口
报表统计接口
通过传入Sql语句和相关参数,可以返回所需的记录集。
通过这些接口,还可以进行显示的分页处理。
D: 流程与具体应用进行连接的接口
工作流与应用连接的接口
生成新的工作流实例时,调用本接口。
通过RSID与用户数据库相关连。
通过Param和Receptor等参数,提供灵活的流程处理。
E:用户、组织结构、权限管理接口
用户和组织结构的接口
可以按功能需求建立多种类型的组织结构。
同一个用户可以同时出现在不同的组织结构中。
在用户接口中,提供对流程、实例、用户数据等列表的方法,这样,在用户界面中,所列出的内容,即是该用户权限范围内所能读、处理、跟踪或删除的数据。
F:其它接口
包括流程的计划启动、系统参数设定、超时处理、当前登录用户等接口。
通过以上接口,结合应用中间件,提供用户界面操作所需的全部功能。
2.2.1.2 内部核心处理
A: 流程处理
并行、串行、挂起、退回、重起等一系列的流程流转处理。
处理(Proc)提交时,需根据流程的定义和实际处理所提交的参数,计算下一步的处理走向、
处理者和相关Email的发送等动作。
流程的每一步,用户可定义的参数包括:
a)处理节点名称。
b)表单。
同一流程的不同处理节点,可以显示给各个处理者相同或不同的表单。
c)类别。
并行、串行。
d)条件参数。
可根据用户填写表单时所填的内容来决定流程的走向。
(如填写报销单时,根
据所填金额,流向不同的处理者)
e)处理者。
可以是具体的人,或各种角色。
f)处理者所能选择的事件(动作)。
如退回、保存、分派、是否用Email通知等。
g)超时的条件和后继触发事件。
B:事件处理
人工触发事件和自动触发事件的处理。
事件分两种类型:
Approve和Reject
Approve即提交到下一步处理
Reject即结束流程
通过DLFlo提供的服务程序,在系统满足所预定的条件时,自动触发预定的事件。
如发生超时时,发送Email通知或自动结束流程。
C:报表统计生成处理
根据传入的参数,结合系统的权限管理,输出统计查询结果。
D:用户、组织结构、权限管理处理
对用户与流程和数据的权限(启动,跟踪、查看、删除等)的计算。
以上处理能够相互协调,相互作用。
2.2.2 应用中间件
针对每个具体的应用,提供相应的增加、修改、删除功能的中间件接口
针对每个具体的应用,提供相应的报表统计功能的中间件接口
对于简单的应用,也可以采用在ASP中直接调用ADO和工作流中间件的方式来开发。
参数设定中间件
如年度、类别等相对固定的参数的设定。
2.3 数据库
系统数据库关系
工作流模型库和实例库采用现有DLFlo中的表结构,用户应用数据库有可分二部分:
a)与参数设定相关的表
b)与Application相关的表。