欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在Java中如何实际操作工作流?什么是Java工作流程实现

最编程 2024-07-26 21:14:25
...
工作流:
        先来一个官方定义:工作流(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是一样的。

推荐阅读