`
tryonmind
  • 浏览: 117697 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

转自:http://www.blogjava.net/BlueDavy/archive/2005/07/21/8150.html

一. 概述

企业在进行业务处理时,政府在进行公文审批时,都是以流程形式而进行的,在信息化的过程中,企业、政府也将这些业务处理、公文审批的过程信息化了,早期通常是通过程序硬编码的方式来处理这些业务、公文的流转,随着业务、公文的复杂的处理情况不断出现以及需求的不断变更,这种硬编码的方式显然已无法应对,这个时候工作流管理系统应运而生,掀起了一股工作流管理系统的热潮。

那么到底工作流管理系统能够带来什么好处?工作流管理系统通过对业务、公文流转进行分析以及抽象,将不变和变化的部分进行划分,用户可轻松的通过可视化的工具对事项的流程、流程环节涉及的人员(角色)、流程环节的表单、流程环节的操作进行修改,从而到达了应对不断变化的需求的目的,而工作流管理系统通常提供的流程监控、查询统计模块更是极大程度的为用户优化流程提供支持,以提高企业、政府的工作效率。

本文主要描述工作流管理系统通常的结构、参考模型以及通常使用的调度算法。

二. 构成

工作流管理系统,简称WFMS,经过对业务、公文流转过程的分析以及抽象,工作流管理系统围绕业务交互逻辑、业务处理逻辑以及参与者三个问题进行解决,业务交互逻辑对应的为业务的流转过程,在工作流管理系统中对应的提出了工作流引擎、工作流设计器、流程操作来解决业务交互逻辑的问题,业务处理逻辑对应业务流转过程中的表单、文档等的处理,在工作流管理系统中对应的提出了表单设计器、与表单的集成来解决业务处理逻辑的问题,参与者对应到的为流转过程中环节对应的人或程序,在工作流管理系统中通过与应用程序的集成来解决参与者的问题。

工作流管理系统为方便业务交互逻辑、业务处理逻辑以及参与者的修改,多数通过提供可视化的流程设计器以及表单设计器来实现,为实现工作流管理系统的扩展性,多数提供了一系列的API。

一个完整的工作流管理系统通常由工作流引擎、工作流设计器、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分组成。

2.1. 工作流引擎

工作流引擎作为工作流管理系统的核心部分,主要提供了对于工作流定义的解析以及流程流转的支持。工作流定义文件描述了业务的交互逻辑,工作流引擎通过解析此工作流定义文件按照业务的交互逻辑进行业务的流转,工作流引擎通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转(流程的启动、终止、挂起、恢复等),通过各种环节调度算法(SPLIT、AND、OR等)来实现对于环节的流转(环节的合并、分叉、选择、条件性的选择等)。

2.2. 工作流设计器

工作流设计器为可视化的流程设计工具,用户通过拖放等方式来绘制流程,并通过对于环节的配置来实现环节操作、环节表单、环节参与者的配置。

工作流设计器为用户以及开发商提供了快速绘制、修改流程的方式,工作流设计器的好坏决定到工作流管理系统的易用性。

2.3. 流程操作

流程操作指所支持的对于流程环节的操作,如启动流程、终止流程、挂起流程、直流、分流(单人办理)、并流(多人同时办理)、联审等,象这些流程操作都是可直接基于引擎所提供的环节调度算法来直接支持的,而在实际的需求中,通常需要自由的对于流程进行干涉,如取回、回退、跳转、追加、传阅、传阅办理等,而这些流程操作对于工作流引擎来说是不合理的,因此必须单独的去实现。

流程操作支持的好坏直接决定到一个工作流管理系统的实用性。

2.4. 工作流客户端程序

工作流客户端程序为工作流系统的表现形式,通常使用Web方式进行展现,通过提供待办列表、已办列表、执行流程操作、查看流程历史信息等来展现工作流系统的功能。

2.5. 流程监控

流程监控通过提供图形化的方式来对流程执行过程进行监控,包括流程运转状况,每个环节所耗费的时间等等,而通过这些可相应的进行流程的优化,以提高工作效率。

2.6. 表单设计器

表单设计器为可视化的表单设计工具,用户通过拖放的方式来绘制业务所需的表单,并可相应的进行表单数据的绑定。

表单设计器为客户以及开发商提供了快速修改表单的方法,表单设计器的易用与否以及功能的完善与否影响到工作流管理系统的易用性。

2.7. 与表单的集成

通常业务流转需要表单来表达实际的业务,因此需要与表单进行集成来实现业务意义,与表单的集成通常包括表单数据的自动获取、存储、修改,表单域的权限控制、流程相关数据的维护以及流程环节表单的绑定。

与表单的集成的好坏影响到工作流管理系统是否能提高开发效率。

2.8. 与应用程序的集成

通过与应用程序的集成来完善工作流管理系统的业务意义,主要涉及到的是与权限系统以及组织机构的集成。流程环节需要相应的绑定不同的执行角色,而流程操作通常需要与权限系统、组织机构进行关联。

三. 参考模型

工作流系统通常通过参考一些标准的模型来进行设计,主要的有WFMC和OMG,在这里主要介绍一下WFMC。

3.1. WFMC

WFMC是国际工作流管理联盟,它于1993年成立,发布了一系列的工作流定义、软件接口的草案文本,是目前世界上公认的最具权威性的工作流标准制定机构,得到了广泛的支持和应用。

2002年10月25日,WFMC发布了基于XML的流程定义语言1.0版的最终文本(Workflow Process Definition Interface----XML Process Definition Language  文档编号:WFMC-TC-1025),以及此前发布的工作流应用软件接口规范WFMC-TC-1009, WFMC-TC-1013等系列文件,构成了工作流定义及系统的设计标准。

为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。工作流管理联盟给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。

一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。工作流管理系统指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。

WFMC主要提出了五个接口与工作流执行服务一起共同组成了工作流系统:

l 接口一(工作流定义交换),用于在建模和定义工具与执行服务之间交换工作流定义。主要是数据交换格式和API。数据交换通过XPDL,API通过WAPI。

l 接口二(工作流客户端应用接口),用于工作流客户端应用访问工作流引擎和工作列表,通过WAPI完成。

l 接口三(被调用的应用接口),用于调用不同的应用系统。

l 接口四(工作流系统互操作接口),用于不同工作流系统之间的互操作。

l 接口五(系统管理和监控),用于系统管理应用访问工作流执行服务。

四. 核心调度算法

通常流程引擎采用的核心调度算法主要有FSM以及PetriNet两种,基于调度算法来完成流程的流转。

4.1. FSM(有限状态机)

FSM的定义为包含一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型。当输入符号串,模型随即进入起始状态。它要改变到新的状态,依赖于转换函数。在有限状态机中,会有有许多变量,例如,状态机有很多与动作(actions)转换(Mealy机)或状态(摩尔机)关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态(非定有限状态机)的多个转换,指派给接收状态(识别者)的一个或多个状态,等等。

遵循FSM流程引擎通过状态的切换来完成流程的流转。

4.2. PetriNet

信息流的一个抽象的、形式的模型。指出一系统的静态和动态性质。petrinet通常表示成图。图中有两类用弧彼此相连的结点(称为地点和变换)和指示其动态性能的标记(称为记号)。

遵循PetriNet流程引擎通过令牌来决定流程的流转。

分享到:
评论

相关推荐

    基于uml的工作流管理系统分析

    3. 工作流管理系统概述 工作流管理系统是一个用于定义、创建和执行工作流的软件平台,它通过抽象出公共的流程控制和服务部分,使得用户只需关注业务流程的描述,而系统能自动执行和管理这些流程。WfMS通常包含三个...

    基于uml的工作流管理系统分析.pdf

    #### 工作流管理系统概述 工作流管理系统是一种特殊的计算机支持的协同处理(CSCW)软件系统,用于定义、创建和执行工作流。它能够协调分布式、协同处理的各个节点上的活动,按照预定义的控制流程进行执行,从而实现...

    基于J2EE的工作流管理系统设计.pdf

    1. **工作流管理系统概述**:工作流管理系统主要包括工作流定义、工作流引擎、工作流管理和审计、任务管理以及与其他应用的接口等组成部分。其中,工作流引擎是整个系统的核心,负责解释工作流定义、管理工作流实例...

    基于UML的工作流管理系统分析.doc

    3. 工作流管理系统概述 工作流管理系统包括业务流程的定义、创建和执行,旨在提升效率和管理水平。它通常由以下核心组件组成: - **过程定义工具**:用于创建和编辑业务流程模型。 - **过程定义**:存储业务流程的...

    基于web的工作流管理系统的设计与实现

    #### 二、工作流管理系统概述 工作流管理系统是一种软件系统,用于定义、实现和管理工作流相关的业务流程。工作流是指一组相互关联的任务序列,这些任务根据预定的规则执行,并可能涉及多个参与者。一个典型的工作...

    工作流管理:模型、方法和系统.pdf

    工作流管理系统的参考模型提供了一个标准化的方式来设计和构建工作流管理系统。这部分内容详细讨论了参考模型的不同组成部分,包括用户界面、工作流定义工具、工作流引擎、数据库管理系统等。通过对参考模型的理解,...

    SunFlow工作流管理系统.pdf.pdf

    SunFlow 工作流管理系统用户操作手册 本文档是 SunFlow 工作流管理系统用户操作手册,旨在帮助用户快速了解和掌握 SunFlow 工作流管理系统的使用方法。下面是本手册中的主要知识点摘要: 一、基础介绍 1.1 ...

    《工作流管理技术基础》第四章

    ### 工作流管理系统概述 #### 一、工作流管理系统的定义 工作流管理系统(Workflow Management System, WfMS)是一种软件系统,用于定义、实现和管理工作流程,特别是那些涉及多个人员协作完成的任务。它提供了一种...

    工作流管理基础2

    工作流目录-00613.pdf可能是提供工作流管理系统概述和常用工具的参考指南。 6. **WPDL(Workflow Process Definition Language,工作流过程定义语言)** WPDL是一种XML格式的语言,用于描述工作流程的结构和行为。...

    基于WF的工作流管理系统

    ### 基于WF的工作流管理系统 #### 一、WF技术概述 WF(Windows Workflow Foundation)是由Microsoft公司在2005年9月发布的一款专为Windows操作系统平台设计的工作流设计、分析与开发框架。该技术旨在帮助企业实现...

    工作流管理系统综述

    工作流管理系统是现代企业信息化建设中的重要组成部分,它主要用于自动化业务流程,提高工作效率,实现流程标准化。本篇文章将深入探讨工作流技术的现状,特别是分布式工作流管理系统。 首先,我们来了解一下工作流...

    工作流管理系统-需求规格说明书

    工作流管理系统是一种旨在自动化业务流程的软件解决方案,它通过管理和协调一系列的工作活动,涉及人员、资源、信息,以及各种信息技术工具,以实现业务流程的有效控制。这种系统的核心是工作流逻辑,即用计算机语言...

    1工作流管理系统--需求规格说明书

    ### 工作流管理系统需求规格说明书解析 #### 引言 - **编写目的**:本文档旨在详尽地描述工作流管理系统(以下简称“系统”)的功能模块及其运作流程,为客户提供一个全面的理解视角,以便他们能够清晰地了解该...

    基于J2EE的分布式工作流管理系统方案.pdf

    ### 基于J2EE的分布式工作流管理系统方案 #### 概述 在现代企业环境中,业务流程的网络化趋势日益明显,传统的集中式工作流管理系统(WfMS)已无法满足企业对于过程重组、自动化及跨组织协作的需求。为适应这一...

    基于web技术的工作流管理系统的设计与实现.pdf

    ### 基于Web技术的工作流管理系统的设计与实现 #### 概述 随着信息技术的不断发展,企业对于自动化管理和高效运营的需求日益增长。工作流管理作为提高业务效率的关键手段之一,得到了广泛的应用。本文旨在探讨一个...

    工作流概述、工作流模式介绍

    - **早期系统**:20世纪80年代中期,出现了早期的工作流管理系统,如FileNet公司的WorkFlo Business System和ViewStar公司的ViewStar系统。这些系统通常集成了图像扫描、文档管理、路由等功能。 - **90年代的发展**...

    明源房地产ERP2.5.3—工作流管理系统操作手册[汇编].pdf

    明源房地产ERP2.5.3工作流管理系统操作手册 明源房地产ERP2.5.3工作流管理系统操作手册是基于明源房地产ERP2.5.3平台的工作流管理系统的操作手册。该手册详细介绍了工作流管理系统的各种功能和操作步骤,为用户提供...

    交互式工作流管理系统开发和实践验证

    ### 交互式工作流管理系统开发和实践验证 #### 一、引言 随着信息技术的不断发展,企业间的合作越来越紧密,跨组织的工作流程管理成为了一种趋势。为了支持这种跨组织的合作,开发一种能够连接不同工作流管理系统...

Global site tag (gtag.js) - Google Analytics