`
cy729215495
  • 浏览: 129194 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
阅读更多

前言:
我为什么要学jbpm这些新技术?入行快一年,发现自己只会在框架内做个增删改查,很是厌倦了。所以我利用业余时间来学点新知识,
读过书的人都知道:学习要做笔记。在百度,google里面你是搜索不到
很通俗的话语来解释jbpm这个概念的,为什么百家讲坛,明朝的那些事情那么吸引人?

什么是工作流?有什么作用?用在什么地方?
我们一个项目里面增删改查,不是工作流,因为这是一个人做的,不需要跟
别人合作。
一个人做的事情就不是工作流,所谓工作流就是工作在
流动,意味着需要很多人合作才能完成这个工作。
比如下订单处理,先下订单->订单确认->财务收款->库管配货->运送。
这里面涉及的人先是客户,系统管理员,财务,仓库管理员,司机。

在oa,电子政务应用的非常广泛。
举一个没用工作流的时候经常碰到的问题的情况:
发布一条新闻需要审核,假如新闻存储在news表里面。
假如a发布了这么一条新闻,那么news表多了一条记录,但是状态是0(未审核)。

假如b审核通过了,前台可以显示了。

假如a修改了这条新闻,那这条记录是不是就应该存储在news表里面呢?
可以还是不可以?行还是不行?成还是不成?对还是不对?
这条记录的状态是1(审核通过的),而审核通过了的可以显示。

但是修改的这条记录必须要审核,这不矛盾吗?
这里我先伏下一笔。

工作流系统的主要概念
流程定义:预先定义的业务流转逻辑
流程实例:业务的一次实际流转过程
参与者:任务的执行者
活动:组成流程定义的节点
活动实例:组成流程实例的元素
流转:从一个节点到另外一个节点这一行为
工作列表:当前需要办理的任务集合
工作流引擎:工作流的核心组件,对流程实例,任务实例以及其状态进行管理

 

ProcessDefine:定义了流程的业务逻辑,包含业务节点和流转。是有向图结构。
ProcessInstance:ProcessDefine执行期间的体现,包含了流程定义被解释后的一些信息,诸如开始时间,介绍时间和其他相关联的信息

Task:是ProcessDefine的组成部分,定义了活动的具体内容
TaskInstance:Task被解释执行时的信息,开始时间,结束时间,
参与者id,还有create(跟流程实例的创建时间一样),start(开始
时间,就是参与者开始执行任务),end。
Actor:活动的参与者,jbpm目前只需要actor的id,对actor的具体解释是
有业务应用层负责,任务创建时可以指定任务的参与者,也可以不指定
,在一般的系统中,不建议采用jbpm的identity组件

Token:是一个指针(运行期的概念),代表着一条执行路径,指向当前流程中正在
执行的节点,在实例的运行期间,tokens可能是一树形结构
,同一时刻,可能存在多个token,但是只有一个root token


学习工作流的切入点就是从以下这几个方面:
如何编写流程定义
如何部署流程
如何加载流程
如何启动流程
如何执行任务
如何完成任务


开源的工作流有:jbpm,shark,openflow
商业版本:bea公司的wli ibm公司的wps 国内最著名的是西安协同数码,普元

 

未完,待续(每天挤公交几个小时,此时已经快11点了,此时不睡更待何时?明天继续)

分享到:
评论
7 楼 锥峰傲骨 2011-11-25  
期待楼主完善jbpm。。。。。
6 楼 litf 2010-04-06  
cy729215495 写道
conect 写道
a修改了这条新闻,那这条记录是不是就应该存储在news表里面呢?

既然是修改,那肯定是之前有保存,这条记录当然在news表里面!

可以还是不可以?行还是不行?成还是不成?对还是不对?

这不是想唬一下人吗!

这条记录的状态是1(审核通过的),而审核通过了的可以显示。

但是修改的这条记录必须要审核,这不矛盾吗?


如果这是"矛盾",这矛盾恐怕也是楼主搞出来的吧!
谁说这条记录的状态是1了,既然有修改,那状态肯定要修改为0啊,重新走一遍审核才能到前台显示!

我前面说显示在页面上了,当然状态是1!
要修改的记录要放在另外一张表里面才行!


这是新闻里面的版本控制问题,本来可以显示的,让它继续显示,在它修改之后审核通过之前,仍然显示旧的内容,一旦审核通过,就显示更新之后的内容。
5 楼 cy729215495 2009-10-30  
把话题说偏了
4 楼 cauxu 2009-10-30  
还真是大话
3 楼 cy729215495 2009-10-30  
conect 写道
a修改了这条新闻,那这条记录是不是就应该存储在news表里面呢?

既然是修改,那肯定是之前有保存,这条记录当然在news表里面!

可以还是不可以?行还是不行?成还是不成?对还是不对?

这不是想唬一下人吗!

这条记录的状态是1(审核通过的),而审核通过了的可以显示。

但是修改的这条记录必须要审核,这不矛盾吗?


如果这是"矛盾",这矛盾恐怕也是楼主搞出来的吧!
谁说这条记录的状态是1了,既然有修改,那状态肯定要修改为0啊,重新走一遍审核才能到前台显示!

我前面说显示在页面上了,当然状态是1!
要修改的记录要放在另外一张表里面才行!
2 楼 conect 2009-10-29  
a修改了这条新闻,那这条记录是不是就应该存储在news表里面呢?

既然是修改,那肯定是之前有保存,这条记录当然在news表里面!

可以还是不可以?行还是不行?成还是不成?对还是不对?

这不是想唬一下人吗!

这条记录的状态是1(审核通过的),而审核通过了的可以显示。

但是修改的这条记录必须要审核,这不矛盾吗?


如果这是"矛盾",这矛盾恐怕也是楼主搞出来的吧!
谁说这条记录的状态是1了,既然有修改,那状态肯定要修改为0啊,重新走一遍审核才能到前台显示!
1 楼 zhuyx808 2009-05-07  
LZ可以先列个大纲,这样一来写着方便,二来便于阅读与学习

相关推荐

    jbpm4jbpm5

    jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    jbpm简介\jbpm简介

    ### jBPM简介与关键技术知识点 #### 一、jBPM概述 jBPM是一个开源的、纯Java的、轻量级的商业流程管理(Business Process Management, BPM)工作流引擎。它支持多种可执行流程语言,并且可以在任何JavaEE应用...

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    **jbPM 3.2 知识点详解** jbPM,全称为Java Business Process Management,是一个开源的工作流管理系统,主要用于企业级应用中的业务流程管理。jbPM 3.2是该系统的一个版本,它提供了丰富的功能,包括流程设计、...

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...

    jbpm 案例 jbpm jbpm

    jbpm使用案例,非常不错,大家都来看看吧。

    jbpm开发指南--jbpm全面介绍

    通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM4.4这一开源工作流管理系统的重要参考资料。jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务...

    jbpm jbpm3 jbpm4 用户和开发指南+教程+最佳实践全套

    jbpm是Java Business Process Management(Java业务流程管理)的缩写,它是一个开源的工作流管理系统,主要用于企业级应用中处理业务流程的自动化。jbpm3和jbpm4是该系统的两个重要版本,提供了丰富的功能来支持流程...

    jbpm

    【jbpm】是一种开源的工作流管理系统,全称为Java Business Process Management。它主要用于处理业务流程的自动化,通过定义和执行工作流程来协调应用系统中的不同组件。jbpm不仅提供了流程建模、部署、执行的能力,...

    JBPM采购申请系统——08_JBPM流程节点.7z

    JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...

    jbpm数据库表介绍

    jbpm 数据库表介绍 jbpm 是一个基于 Java 的 workflow 引擎,用于管理和执行业务流程。jbpm 需要持久化流程部署、流程实例、任务、用户认证等信息,于是 jbpm 设计了一系列的数据库表来存储这些信息。在 jbpm 4.4 ...

    jbpm白皮书 介绍jbpm 入门

    ### jBPM 白皮书:介绍 jBPM 入门 #### 一、引言与背景 在当今数字化转型的时代背景下,业务流程管理(Business Process Management,简称 BPM)成为了企业提升效率、优化流程的关键技术之一。BPM 提供了一种程序...

    JBPM工作原理及表结构详解

    JBPM(Java Business Process Management)是一款开源的工作流管理系统,它提供了强大的业务流程建模、执行和监控能力。本文将深入探讨JBPM的工作原理、表结构及其在实际操作中的应用。 1. **JBPM特色** - **灵活...

    JBPM4 SSH EXTJS JBPM SSH EXTJS

    JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS 希望对大家有帮助。

    jbpm学习资料,jbpm教程

    jbpm(Java Business Process Management)是一款开源的工作流管理系统,它为业务流程自动化提供了一套全面的解决方案。jbpm不仅支持工作流的建模、执行,还提供了监控和管理功能,使得开发者可以方便地构建和部署...

    jbpm-2.0-beta1.zip_java 工作流引擎_jbpm_jbpm-demo_工作流_工作流引擎

    jbpm是一款开源的工作流管理系统,主要面向Java开发者,它提供了强大的流程定义和执行能力,帮助企业或组织实现自动化的工作流程。jbpm-2.0-beta1是该系统的早期版本,其核心功能包括工作流引擎、流程建模工具以及一...

Global site tag (gtag.js) - Google Analytics