工作流-JBPM(1)

工作流:
        先来一个官方定义:工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
        简单举例:大家都熟悉的淘宝退货,首先买件要填写退货申请,给卖家提供必要的信息,然后等待卖家收到货后,卖家会在自己的账号下对买家的退货申请做出处理比如点击同意,之后买家就会收到退货的货款。这样就算完成了一次简单的流程,发出申请—等待审批—结束流程。随着OA系统的流程各个公司都开始使用工作流来处理公司的一部分业务,比如请假、申请报销等等。

Java中的工作流框架:
         Jbpm、OSWorkflow、Shark等。本次主要是对JBPM进行学习。
         Jbpm全称:jboss business process managerment,所以它是依赖jboss的。Jbpm的持久层采用hibernate实现,而且在Eclipse中也有JBPM的插件,可以直接画出流程图并且生成相应的xml和png图片保存定义的流程。

工作流程:
        流程定义:画出自己需要的流程保存,一般生成两个文件,一个为xml记录流程中的信息,一个为png图片文件主要作业给你是用于查看流程。
        部署:将流程定义语言部署到jbpm引擎中
        启动:请的流程实例
        使用:用户可以使用


基本概念:
        流程定义(ProcessDefinition)
:一个流程的步骤说明。如一个请假流程、报销流程、借款流程等,是一个规则。一般包括画好的流程图+生成的流程的相关信息的xml。
        流程实例(ProcessInstance):某个用户发起的一次请求。
        Execution:执行。
        流程变量:流程实例各个步骤产生的数据,可能是填写的内容、任务执行人等。

        流程定义和流程实例就好像是类和对象的关系。
        流程定义是类说明了本流程的步骤,每个步骤可以看做是一个方法。
        流程实例相当于是实例化出来的对象,执行过程中按照类定义好的流程执行对应的方法。
        流程实例而执行过程中可能会给其中的方法赋予参数,这些参数相当于是流程变量。

        Execution理解起来相对不怎么容易,现在可以结合processinstance理解,如果不存在并发的情况,那么exection和processinstance是一样的,即executionID和processinstanceID是一样的。
     

        如果存在并发的情况,execution代表分支,processinstance代表主线,可以理解为Execution为执行路径,当同时有几个路径在执行,ExecutionId就和ProcessId不同了。


小结:

        理解了JBPM这个工作流框架中的一些基本概念,学习其他框架时应该会更加清楚一些。下篇博客对应这些基本概念了解几张数据库表,同时对这些抽象的概念能有一个具象的学习。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值