您的位置:首页 > 产品设计 > 产品经理

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

2016-07-24 20:25 381 查看

工作流定义:

      工作流(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中的工作流是一样的。基本思想不变,学习起来可以快速的上手,很轻松。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: