工作流学习(一)

来源:互联网 发布:java面试宝典2017下载 编辑:程序博客网 时间:2024/05/22 00:07

概述

本人为了处理软件的工作流,而学习工作流。在概略的学习了一下后,从这几个方面对概略的学习做个总结。首先要明白什么是工作流,然后要知道工作流引擎,最后要选择一个优秀的开源工作流来学习。

学习Osworkflow,首先要知道它有哪些表,哪些包,哪些接口,这些接口提供什么功能。然后要明白它的工作原理,最后要知道在工程中怎么运用这个工作流

工作流

定义:

Ø         根据 WfMC 的定义,工作流(Work Flow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。

Ø         Workflow是用来实现业务流程的自动化;第二、定义中说明一个业务流程的执行,必然会从一个参与者(participant[根据WFMC的定义参与都既可以是人也可以是系统或程序])传递到另一参与者;第三、要被正确地自动执行,需要预定一套业务规则。总结一下,Workflow就是用来解决在一个涉及多个参与者的业务流程中,根据预定的规则连接成完整的交互过程。可以用工业生产中的“流水线”来类比。

 

应用

Ø         审批流程,公文流转。

Ø         业务流程。

 

好处

Ø        简化开发:在 一个业务流程中可能包含多个功能点,在传统的开发过程中可能需要一方面关心功能点的功能实现,另一方面还需要关心它们之间的操作顺序关系等。使用工作流 后,相当于把功能实现与功能间的关系分离,实现功能点时,只需要遵守工作流引擎提供的规则,专心实现功能,而功能间的关系由工作流引擎的配置文件进行配置 并由工作流引擎实现流转。

Ø        随需而变:使用工作流系统的最大好处可能就体现在这了,在开发一个业务流程中,往往流程是经常变化的因素之一。

 

 

工作流管理

Ø         工作流管理(Workflow Management, WFM)是人与电脑共同工作的自动化协调、控制和通讯,在电脑化的业务过程上,通过在网络上运行软件,使所有命令的执行都处于受控状态。在工作流管理下,工作量可以被监督,分派工作到不同的用户达成平衡。

 

工作流管理系统

Ø        根据WfMC的定义,工作流管理系统(Workflow Management System, WFMS)通过软件定义、创建工作流并管理其执行。它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者(包括人或软件)相互作用,并根据需要调用其他的IT工具或应用。总体来说,实际企业中运作的工作流管理系统,是一个-电脑结合的系统。它的基本功能体现在几个方面:

·  定义工作流,包括具体的活动、规则等,这些定义是同时被人以及电脑所理解的。
·  遵循定义创建和运行实际的工作流。
·  监察、控制、管理运行中的业务(工作流),例如任务、工作量与进度的检察、平衡等

Ø          

 

工作流引擎

定义

Ø         是驱动实体按流程定义从一个参与者流向下一个参与者的机制

组成

Ø         引擎服务层

Ø         事务处理层

Ø         工作流客户端

Ø         工作流定义

Ø         工作流管理监控

Ø          

功能

Ø         系统的核心部分是工作流引擎,引擎是驱动流程流动的主要部件,它负责解释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录流程运行状态,挂起或唤醒流程,终止正在运行的流程,与其他引擎之间通讯等等工作

Ø         工作流引擎(Workflow Engine)负责解析业务流程定义,协调处理活动间的路由,处理客户端的请求(如启动流程、提交工作项、查询工作项、工作流(Workflow)监控等等)

Ø          

工作原理

 

 
原创粉丝点击