工作流管理系统功能与实现.docx
- 文档编号:6114878
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:19
- 大小:261.47KB
工作流管理系统功能与实现.docx
《工作流管理系统功能与实现.docx》由会员分享,可在线阅读,更多相关《工作流管理系统功能与实现.docx(19页珍藏版)》请在冰豆网上搜索。
工作流管理系统功能与实现
工作流管理系统功能与实现
在谈到工作流管理系统的时候,我们一般从功能和实现两个方面描述。
首先是功能层面,下表是前人总结的工作流管理系统可以具备的功能。
我们可以选择实现其中的部分
功能,但是作为工作流管理系统必须具备的功能,在下面的实现部分将描述清楚。
(附件描述144中可以具
备的功能的定义)
一般性功能(GeneralFunctions
1.免程序开发(NoProgrammingorScripting)
2.可处理大量流程工作(VolumeTransactionProcessing)
3.三层式弹性化架构(ThreeTier,ScaleableArchitecture)
4.稳定的信息传递架构(RobustMessageTransports)
5.流程反向回传/抽单(ProcessRollback)
6.支持LDAP目录服务
7.支持企业级数据库(SupportforEnterpriseDatabases)
8.动态用户授权(ActiveUserLicensing)
9.统一的登入ID与密码(UnifiedID/Password)
10.使用者网域安全性(UserDomainSecurity)
流程与窗体设计功能(Designer)
11.图形化工作流程图(GraphicalWorkflowMaps)
12.基于角色的路由(RoleBasedRouting)
13.平行会签(ParallelRouting)
14.基于关系的路由(RelationshipBasedRoutings)
15.工作队列(Queues)
16.图形化数据路由(GraphicalDataRouting)
17.动态会签(DynamicRouting)
18.条件化步骤(ConditionalSteps)
19.条件化步骤跳跃(ConditionalJumps)
20.条件化取消流程(ConditionalAborts)
21.条件化退回(ConditionalReturns)
22.条件化收件人(ConditionalRecipients)|
23.条件定义清单(EventConditionTables)
24.条件定义清单与其它步骤互动(StatusVariablesinEventConditionTables)
25.退件(ReturnStep)
26.动态定义群组(DynamicGroups)
27.整合智能型窗体设计工具(IntegratedIntelligentFormsDesigner)
28.表格透过服务器端连接数据库(Server-SideDatabaseConnectivityforForms)
29.表格通用变量(GlobalVariablesinForms)
30.电子签章(Signatures)
31.备注留言板(Memos)
32.表格支持电子扩展表(SpreadsheetGridinForms)
34.子表(Sub-Forms)
35.必备与必读文档(RequiredandMust-ReadAttachments)
36.附件功能(Attachment)
37.资料验证与格式化输入(DataValidationandMasking)
38.支持URL连结(URLLinks)
39.支持HTML/Java(SupportDHTML/Java)
40.支持第三方对象开发(Third-PartyObjects(Controls))
41.自订传递路径(AdhocRouting)
42.连接点(JunctionSteps)
43.重复激活流程(Iteration)
44.转折点(Anchors)
45.编辑业务规则(EditingBusinessRules)
46.自动暂停或恢复继续流程(HoldConditions)
47.发起子流程(SubProcesses)
48.同步/异步子流程(Synchronous/AsynchronousSubProcesses)
49.定时激活(PeriodicLaunches)
50.第三方软件接口(AgentAPI/SDK)
51.Excel接口(ExcelAgent)
52.Word接口(WordAgent)
53.ODBC接口(ODBCAgent)
54.ASCII接口(ASCIIAgent)
55.文件接口(FileAgent)
56.电子邮件接口(E-mailAgent)
57.呼叫DLL接口(InvokeDLLAgent)
58.接口中心(AgentStation)
59.流程仿真测试(Simulation)
60.流程仿真除错工具(DebuggingToolsduringSimulation)
61.连续激活案件(RepeatingSteps)
62.取消案件或步骤(AbortSteporIncident)
63.可重复送件的步骤(PerpetualSteps)
64.保密步骤(PrivateUserSteps)
65.禁止代理的工作(Non-assignableUserTasks)
66.复制流程步骤(ReplicatingTasks)
67.动态更改工作优先级(DynamicTaskPrioritization
)
68.可定义工作流程拥有人(ProcessOwners)
69.工时成本计算(TaskRates)
70.工作完成时间(TaskCompletionTimes)
71.群体开发流程(CollaborativeDesignviaMapletsTM)
72.数据可传递至子流程(DataTransfertoSub-Processes)
73.可同时监控主/子流程(ViewSub-ProcessStatusinMonitorView)
74.数据捆绑通用变量(Databoundglobalvariables)
75.流程设计文件制作(ProcessDocumentation)
76.以邮件通知工作逾时(E-mailNotificationofLateCondition)
77.可自订通知邮件(CustomizableNotificationMessages)
78.群体响应(GroupResponse/Vote)
79.指定代号启始值(SeededIncidentNumber)
80.指定工作暂停(DelayedAssignment)
81.启始新流程权限(ProcessInitiationRights)
工作流程服务器功能(WorkflowServerFeatures)
82.支持多个流程服务器(MultipleWorkflowServers)
83.集中式的服务器端数据库连结(Centralized,Server-sideDatabaseConnectivity)
84.以文字文件激活流程(ProcessLaunchviaTextFiles)
85.通过E-Mail激活流程(ProcessLaunchviaE-mail)
86.符合业务逻辑的服务器端动态连接库(Server-SideDLLsforCustomWorkflowLogic)
87.工作处理记录文件仃ransactionLogFiles)
88.服务器定时清仓维护(PeriodicServerHousekeeping)
89.清仓窗口(HousekeepingWindow)
90.处理停顿流程(HandlingofStalledProcesses)
91.服务器自动复原(AutomaticServerRecovery)
客户端程序功能(ClientFeatures)
92.B/S结构的客户端界面(Browser-basedClientInterface)
93.依重要程度优先级排列工作清单(PrioritizedClientTaskList)
94.主动式电子邮件通知(ProactiveE-mailNotifications)
95.进度落后工作调整(LateTaskEscalation)
96.用户监看流程状况(StatusMonitoringatClient)
97.分布式用户管理(DistributedUserAdministration)
98.用户指定代理人(ClientAssignFunctions)
99.由工作队列中选择工作(SelectTaskfromQueue)
100.用户自订工作窗口画面(CustomClientViews)
101.显示已被代理的工作(ViewAssignedTasks)
102.表格快取功能(FormsCaching)
103.表格样板(FormTemplates)
123.组织调整(Reorganize)
系统与流程管理功能(AdministratorFeatures)
124.图形化工作流程监控(GraphicalWorkflowMonitoring)
125.版本控制(VersionControl)
126.工作负荷量显示(WorkloadView)
127.任务成本统计(TaskCostStatistics)
128.工作流程成本统计(ProcessCostStatistics)
129.单一步骤超时统计(StepLagTime)
130.工作流程超时统计(ProcessLagTime)
131.流程暂时停用(DisableProcesses)
132.由队列中临时调派工作(PullTasksfromQueue)
133.工作重送(ResendSteps)
134.非工作日设定(ExclusionDays)
135.代理未来工作(AssignFutureTasks)
136.工作流程信息输出(WorkflowMetricsExport)
137.能临时更改收件人(AbilitytoChangeRecipient)
138.可显示进行中流程的内容(AbilitytoViewWorkflowData)
139.自订案件过滤清单(User-DefinedQueriesforReports/MonitorView)
140.自动安装流程给新的部门成员(AutomaticInstalltoNewGroupMembers)
141.可自行定义统计报表(ConfigurableReports)
142.可指定代理期限(AssignUntil)
143.可传回子流程统计数据(Roll-upSub-ProcessStatistics)
144.强迫第三方应用软件结束(AbilitytoCompleteThird-PartyApplicationSteps)
Ippllcutiun
Rnild-iD
Applications
AppJkidiuti
根据WFMC的定义,工作流管理系统的如下图
1剤生港碾r>finitwin
May
LJ■-!
Jl-.L
IrWiwdhy
O^m^arinri-'
RaleModel
Data
RMt皿"
Irimi
Woikffow
[皿di小
|.A|-rp|]catio«i(^)
i>i|l[i*■:
mthn
VVoikllc^vEnricUlivlil!
PlUiA
Wort4
iid
WuUlnXKefe\tint
丄Iniei'adJu
Ii1i
IWcMklisI1
I■■rlnkrhk<
lnvoLid&
WnrktW-
'.pplKaLi-j^
Data
.ApplALlIiJUl沁
□
Zl
Sutlv^uvjjizjjuiiecil
Sy^enr^iirrril1il
1:
tvrnnl
GtiurkW«rkfl*wPrvduclStradurv
下图是另一种更加清晰的解释:
Monitor
叭z于...?
.;tngiM
一居血二富
、lihlutfa-S,盘pplkirbaNi
>Al&BIBi
Client
过程定义工具(ProcessDefinitionToOl
过程定义是用来创建一个计算机可以处理的形式的过程描述。
可能要以形式过程定义语言、对象关系
模型、简单的系统、脚本、或者在参与者间进行信息传递的路径集为基础。
工作流定义工具,可能作为工作流产品的一部分、也可能作为业务过程分析产品的一部分来提供给用户,作为业务过程分析产品一部分,
会有其他的组件来负责处理业务过程的分析或者模型,这时,必须要有兼容的转换格式,与运行时期的工作流软件进行过程定义的相互转换。
过程定义(ProcessDefinition
过程定义包含,工作流执行软件运行过程所需的过程所有详细信息。
包括过程的开始和结束条件、组成活动、在活动间进行导航的规则、需执行的用户任务、可能会被调用的应用程序、所有工作流相关数据的定义等。
过程定义可能会涉及到一个组织/角色模型,模型包含组织结构和组织中的角色等信息。
从而使过程定义在,与具体活动或信息对象相关的组织实体和角色功能方面,十分详细。
工作流执行服务器负责把工作流运行环境中的参与者与相应的组织实体或角色联系起来。
工作流执行服务器(WorkflowEnactmentService
工作流执行服务器软件负责,解释过程定义、控制过程实例、安排活动的执行顺序、向用户工作表中添加工作项目、调用应用工具。
这需要一个或者多个协同工作的工作流机来完成这些职责,工作流机管理各种过程的一个单独实例。
工作流执行服务器维护内部控制数据,这些数据或者集中于一个工作流机中,或者分布在一个工作机集合中;这些工作流控制数据包括与各种过程、或者正执行的活动实例相关的内部状态信息,也包括工作流机用来合作或者从失败中进行恢复的检查点、恢复/重新启动信息。
过程定义与(运行时期)工作流相关数据协作,一同用来控制过程中活动的导航、提供活动的进入与
退岀条件、不同活动的并行执行、顺序执行选项、用户任务、与每个活动相关的IT应用程序等。
如果过程
定义包括组织模型/角色实体类型,那么完成以上任务,需要访问组织/角色模型数据。
工作流机也包括调用一些形式的应用工具的能力,来激活必要的应用程序执行相关活动。
这种调用机
制间有很大的不同,在一些简单的系统中,也许只提供对单一的固定工具调用(例如,文本编辑器),然而
在工作流系统中可能提供调用本地与远程的大范围内工具的方法。
工作流相关数据和应用数据(WorkflowRelevantDataandApplicationData
过程导航判断或工作流机中的其他控制操作,都以工作流应用程序产生或者更新的数据为基础,这些数据可以被工作流机和条件工作流相关数据(也成为情况数据)所访问;这是工作流机唯一可访问的应用程序数据。
尽管,工作流机负责在应用程序间传递工作流应用程序数据,但工作流应用程序数据直接由被调用过程操作。
不同的应用程序由工作流过程内的不同活动调用。
任务表(Worklists)
过程执行中需要用户交互的地方,工作流机把任务添加到任务表中,以便任务表处理器对其处理,任务表处理器管理与工作流参与者的交互。
这个过程对工作流参与者可能是不可见的,任务表在工作流软件中维护,把用户需要执行的下一个任务提供给他。
在其他系统中,任务表可能对用户是可见,用户自己从任务表中选择执行任务,任务表也用来指示任务的完成。
任务表处理器用户接口(WorklistHandler&UserInterface)任务表处理器是一个软件组件,管理工作流参与者与工作流执行服务器间的交互。
任务表处理器负责请求用户关心进展中的任务,并负责通过任务表与工作流执行服务器进行交互。
在一些系统中,只是使用一个桌面应用程序来提供一个简单的任务进入,等待用户注意。
在其他一些系统中,任务表的处理可能更成熟,控制任务在一些用户间进行分配,并考虑到转载平衡、任务重分配等。
另外的一些任务表处理功能,工作流机典型支持与客户端应用程序大范围的交互,包括工作流参与者的签到和退出、请求过程实例的开始、任务排队等候特殊的参与者,等。
在工作流参考模型中,更广泛的使用“客户端应用程序”这个词,而不是“任务表处理器”,从而反映其潜在的广大使用范围,其包含任务表处理功能的同时也包含过程控制功能。
在图中,用户接口是一个单独的软件组件,负责提示和处理用户对话框,并控制本地用户的本地接口。
在某些系统中,用户接口可能会与任务表处理器组合到一起,构成一个简单的功能实体。
我们希望一些客户端应用程序能够和几个不同的工作流服务器进行交互,从而把服务器中的任务整理成统一的格式,通过公共用户接口提供用户。
可能会必须调用本地应用程序,来支持用户完成特殊的任务,这由任务表处理器来负责,或者由用户负责,在用户接口使用简易通用工具来安装适当的支持程序。
在任务表处理器/用户接口中调用应用程序与工作流执行软件直接调用应用程序,有明显的不同。
管理操作(SupervisoryOperations)工作流系统中有许多的管理功能;这些管理功能以工作站点或者用户的管理权限为基础。
这些管理功能使得管理者可以修改任务分配规则、确定过程中组织角色的参与者、跟踪遗漏的最终期限报警或根据其他事件、跟踪某一过程实例的运行历史、查询任务吞吐量或其他统计信息,等。
使用分布式工作流机的地方,可能需要特殊的命令来在不同的工作流机间传递控制操作或者(局部)响应,从而提供一个单一的管理接口。
外部和内部接口(ExposedandEmbededInterface)s上述的体系结构适用于大多数工作流产品,但是并不是所有的产品在每个不同的系统功能组件间,都提供外部接口;一些产品把几个功能组件作为一个逻辑实体来实现了,并把接口包含在了软件组件的内部,导致无法被第三方产品使用。
WFMC规范定义了每个接口在实现多工作流系统协同工作中的作用,因此,可以鉴别单独的产品是否符合协同工作标准。
体现到用户角度的功能界面划分,则可以分为三个部分:
工作流引擎(上面说的工作流执行服务器、相关的表单和数据)、流程管理工具(通过任务表处理器接口管理任务表)、流程定义工具(上面说的过程定义和过程定义工具)(含图形化的建模工具)和客户端(用户进行管理操作的接口)。
另外,为了更好地与其它系统融合,还需要定义外部接口,可以是调用外部接口,也可以被外部系统作为接口调用。
工作流引擎
基于有向图的模型、基于对话的工作流模型、Petri网模型、基于ECA规则的工作流模型。
工作流引擎
基本功能如下:
1、解释过程定义
2、控制过程实例—创建、激活、挂起、终止等
3、为过程的活动导航,可能要包含顺序或者平行的操作、最后时间期限、对工作流相关数据进行解释
4、参与者签名和退出
5、确定任务项目,实现用户意图;提供接口,支持用户交互
6、维护工作流控制数据和工作流相关数据,在应用程序间或者用户间传递工作流相关数据
7、提供调用外部程序的接口,连接所有工作流相关数据
8、提供控制、管理和审查功能
流程管理器
流程管理器至少应该包含两个部分:
管理部分和监控部分
管理部分:
提供了完善的用户管理、角色管理、系统设置、系统安全管理、配置文件管理和日志管理,用户的操作权限分布如下:
以部门、用户组、角色分别描述组织结构分别基于部门、用户组、角色、用户进行授权,达到最大灵活性
监控部分:
主要实现对工作流程的监控,让管理者可以追踪和控管角色、活动、节点、过程实例的状态和过程实例流经的路径;可以以图形的方式再现已经完成的过程实例的路径、可以显示正在进行中的过程实例,并且提供管理的机制,让监控者得以在必要时终止或暂停某些过程实例。
同时,系统亦提供有关工作过程的统计数据和报表,动态改变过程的状态,协调各个部分的关系,并进而提升经营管理的效率。
负载平衡提高工作流的工作效率。
流程定义工具
这个部分是开发的重点,流程定义工具部分包括:
过程建模部分、XPDL自动生成部分、界面设计部分、
报表设计和自动生成部分和设计模型的仿真部分。
1)过程建模部分(processmodeling)使用图形化的方法,让开发者用最少的时间设计或修改企业工作流程,建模工具提供相当丰富的流程逻辑表达方式,可以表示非常复杂的流程,和界面设计部分、报表设计部分相结合可以轻易的设定每个流程步骤要执行的功能,和组织机构建模工具相结合,可方便准确地选择每个活动执行的参与者。
Process
Designer最大的优点是:
让开发人员在设计与仿真流程的过程中,避免复杂且耗时的流程程序开发过程。
基本功能特点如下:
1)图形化拖拽方式建立工作流模型
2)人性化的各种选项设置
3)多窗口的用户界面
4)丰富的过程图形元素
5)过程元素拷贝、粘贴、删除操作
6)支持同时打开多个模型文件进行编辑
7)快速定位过程元素
8)支持图形的分层显示
9)模型文件统一存放、安全管理
10)丰富多样的活动类型可以适应不同的业务处理需求
11)支持多种流程逻辑关系
12)支持子过程设计
13)支持用户自定义类型数据
14)工作流过程的参与者支持各种表达式
15)支持内置块设计
16)可设定工作流过程时限
17)支持工作流程的权限管理
18)模型的合法性检查
19)模型文件的图形输出
2)XPDL自动生成部分
此部分作用是使已经定义完的图形化的流程模型逻辑自动转变为XPDL文档或者其他通用的形式
工作流逻辑的物理形式:
1.采用数据库来存放逻辑
2•采用WPDL或者XPDL的文件格式存放逻辑
我的想法:
一般来说用数据库来存放可获得更好的内部操作性,而文件格式更有利于系统的封装与对外接口的统一,实现了数据库逻辑后再做文件格式,先将模型中各个元素的属性存在数据库里,再从数据库生
成标准的文件,作为标准的接口用,这样挺方便的(或者直接用C#语言生成标准的xml文件)
工作流流程逻辑实现的关键点:
(1)应当具有的接口方法
(2)接口对应的逻辑
(3)条件判断的实现
3)界面设计部分(formdesigner)此部分提供了类似于页面设计的图形化应用开发工具,用户可以使用图形化设计方法,开发出动态页
面应用,其结果可保存为html或jsp,并具有数据库访问能力。
运行时用户将从浏览器上访问到设计结果。
它的最大的优点是:
让开发人员避免了活动中应用程序的开发过程
4)报表设计及自动生成部分(reportdesigner)它提供了图形化设计复杂报表页面的能力,可设计非常复杂的报表,并可画出各种统计分析图,能够
使用多种形式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工作流 管理 系统 功能 实现