【OA】流程管理——JBPM4.4工作流应用

来源:互联网 发布:vb调用bartender打印 编辑:程序博客网 时间:2024/05/14 16:59

工作流定义:

      工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。


    工作流管理系统(WfMS,Workflow Management System)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。工作流管理系统是定义、创建、执行工作流的系统,应能提供以下三个方面的功能支持:

1.定义工作流:包括具体的活动、规则等

2.运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度

3.运行交互功能:指在工作流运行中,WfMS与用户(活动的参与者)及外部应用程序工具交互的功能。



采用工作流管理系统的优点:


1.提高系统的柔性,适应业务流程的变化 

2.实现更好的业务过程控制,提高顾客服务质量

3.降低系统开发和维护成本



    工作流框架有:Jbpm、OSWorkflow、ActiveBPEL、YAWL等


     我们做的OA系统主要用到的是JBPM工作流,在敲之前,做了几个小例子,来理解JBPM的应用。JBPM是基于java的业务流程管理系统,是一款开源工作流引擎,引擎底层基于ActiveDiagram模型。jBPM4.4使用了hibernate(3.3.1版),因此可以很好的支持主流数据库。jBPM4.4共有18张表。这篇博客先来看看工作流的定义和基本概念,下一篇博客给大家介绍在项目中的应用。


核心概念理解


ProcessDefinition 

 

   一个流程的步骤说明,是一个定义的过程。如下图就是一个请假的审批流程。




ProcessInstance 


    代表流程定义的一次执行,比如张三提交一次请假的申请,直到总经理审批之后结束,这就是一个processinstance。


Execution 

     一般情况是,一个流程实例是一个流程树的根节点。用树结构的原因是,这个概念只有一条执行路径,用起来更简单。业务API不需要了解流程实例的执行之间功能的区别。因此,API只有一个执行类型来引用流程实例和执行。


process(流程)

是.jpdl.xml的根元素,可以指定的属性有:

属性名

作用说明

name

流程定义的名称,用于显示。

key

流程定义的key,用于查询。

如未指定,则默认为name的值。

version

版本,如果指定,则不能与已有的流程定义的版本重复;如未指定,则此key的流程定义的第1个为版本1,以后的是版本递增(每次加1)





Transition(连线、转移、流转)

1,一个活动中可以指定0个或多个Transition。

a) Start活动中只能有一个Transition。

b) End活动中没有Transition。

c) 其他活动中有1条或多条Transition

2,如果只有一个,则可以不指定名称(名称是null);如果有多个,则要分别指定唯一的名称。


总结:


    初次接触java语言中的工作流引擎,发现跟.net中的工作流是一样的。基本思想不变,学习起来可以快速的上手,很轻松。



0 0
原创粉丝点击