工作流(workflow)定义

工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。根据 WfMC 的定义,工作流(Work Flow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。

工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。

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

工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。

工作流发展历史:

工作流的概念最早可以溯源到1970年代人们开发的办公自动化系统,如施乐帕洛阿尔托研究中心的办公研究小组开发的 Officetalk 系统,当时人们对工作流管理系统的应用前景非常乐观;但由于没有几个实际系统获得成功,相关的基础概念不统一,各种技术条件还未成熟,整个80年代工作流系统的发展处于停滞阶段。进入90年代以后,相关的技术条件逐渐成熟,工作流系统的开发与研究进入了一个新的热潮,但相关的基础概念仍未统一。据调查,截至1995年共有200多种软件声称支持工作流管理或者拥有工作流特征。工作流技术标准化的工业组织-工作流管理联盟(WfMC)也于1993年成立,他们给出了工作流参考模型,并相继制定了一系列工业标准。

jBPM ,全称是 Java Business Process Management (http://www.jbpm.org/),是一种基于 J2EE 的轻量级工作流管理系统。 jBPM 是公开源代码项目,它使用要遵循 Apache License 。 jBPM 在 2004 年 10 月 18 日 ,发布了 2.0 版本,并在同一天加入了 JBoss ,成为了 JBoss 企业中间件平台的一个组成部分,它的名称也改成 JBoss jBPM 。随着 jBPM 加入 JBoss 组织, jBPM 也将进入一个全新的发展时代,它的前景是十分光明的。

jBPM 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如 WfMC's XPDL, BPML, ebXML, BPEL4WS 等,而是采用了它自己定义的 JBoss jBPM Process definition language (jPdl) 。 jPdl 认为一个商务流程可以被看作是一个 UML 状态图。 jPdl 就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。

jBPM 的另一个特色是它使用 Hibernate 来管理它的数据库。 Hibernate 是目前 Java 领域最好的一种数据持久层解决方案。通过 Hibernate , jBPM 将数据的管理职能分离出去,自己专注于商务逻辑的处理。

使用 jBPM 开发工作流的一般流程如下:

1)jBPM 的运行需要数据库的支持,因此系统设计时要选定所用数据库。只要是 Hibernate 支持的数据库, jBPM 就支持。数据库的初始化可以由 jBPM 自动完成,也可以通过 ant generate.ddl 任务生成 SQL 语句,在 jBPM 外部自己创建所需的表。

2)使用 jPdl 定义工作流,生成 processdinination.xml 文件。可以采用 GUI 工具 gpdl ,但目前只支持 jBPM1.0,而且bug很多 。 XML 的 DTD 定义文件在 jBPM 下载包中。

3)Ant create.pde 生成 pde 包的工作目录。将 processdinination.xml 文件和其它需要的文件放在指定的目录下,使用 ant build.precess.archives 生成 pde 包。 pde 包的格式采用 jar 。

4)更改 pde 工作目录/src/config/ jbpm.properties 的相关属性,主要是设定相关的数据库连接信息。注意要将数据库的 JDBC 驱动放在 pde 工作目录的 lib 目录下。

5)Ant deploy.process.archives 将刚才生成的 pde 部署到数据库。实际上就是向数据库插入一些相关数据。

6)利用 jBPM API 函数开发相应的工作流程。

(转)更详细...

http://www.blogjava.net/chengang/category/12967.html

java workflow jbpm_工作流(workflow)定义和jBPM相关推荐

  1. Gemini.Workflow 双子工作流入门教程二:定义流程:流程节点介绍

    简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:流程定义:流程节点属性. 流程节点: 左侧是节点工 ...

  2. 德玛西亚之WorkFlow(一)工作流介绍

    德玛西亚之WorkFlow(一)工作流介绍 1 什么是工作流 工作流(WorkFlow),就是将一项多人或者多任务的工作按照固定的顺序进行逐项操作,直至此工作结束.举个简单的例子:多个人协同做饭,首先 ...

  3. Oracle WorkFlow(工作流)(一)

    转载自:http://hi.baidu.com/quce227/item/3dee702c66466a0343634a58 1概述 1.1工作流的概念 Workflow是EBS的基础架构技术之一,系统 ...

  4. 工作流 workflow 理论知识

    1 什么是工作流技术 工作流(Workflow) 就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算.工作流要解决的主要问题是:为实 ...

  5. golang办公工作流workflow js-ojus/flow包介绍——系列一

    golang语言的办公工作流的包介绍--系列一 golang办公工作流workflow利用js-ojus/flow做测试--系列二 golang办公流程引擎初体验js-ojus/flow--系列三 g ...

  6. 工作流(workflow)参考规范概述

    [摘  要]工作流管理系统被称为下一代的企业业务操作系统.人们在普遍重视工作流应用的需求满足度和柔性驱动能力的同时,却很少关注工作流应用的规范及应用过程的本质.本文结合WfMC的规范对工作流参考模型作 ...

  7. 工作流(Workflow) -- 工作流简介

    工作流(Workflow) – 工作流简介 数据库 Activiti的后台是有数据库的支持,所有的表都以ACT_开头. 第二部分是表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE ...

  8. wf工作流java_WF Workflow 状态机工作流 开发

    概述 工作流是对业务流程的建模,当我们设计工作流的时候,我们首先要分析业务处理过程中要经历的步骤.然后,我们就可以利用WF创建工作流模型来模拟业务的处理过程. 我们知道,WF包含两种类型的工作流:顺序 ...

  9. 工作流workflow任务调度工具argo

    转载请注明出处:工作流workflow任务调度工具argo argo简介和原理 argo是一个基于 kubernetes CRD(自定义资源) 实现的一个 Workflow(工作流) 开源工具,基于 ...

最新文章

  1. vb.net中的部分代码
  2. macd java 源代码_MACD交易系统原理、用法及源代码
  3. 云炬Android开发笔记 7登陆注册功能开发
  4. VC中实现弹出CEdit的气泡提示框
  5. 版本控制系统 之一 概念、分类、常见版本控制系统(CVS、SVN、BitKeeper、Git 等)
  6. windows下 安装 rabbitMQ 及操作常用命令
  7. LeetCode 556. 下一个更大元素 III
  8. c语言输出行末不得有多于空格,新人提问:如何将输出时每行最后一个空格删除...
  9. 京东供应链金融科技推出“采购融资”服务 最高100万无抵押融资
  10. 基金投资顾问制度即将启动,巨头入局
  11. 挑战程序设计竞赛: Fence Repair
  12. 三星手机微信聊天记录删除了怎么恢复
  13. MATLAB2021下载安装图文教程
  14. 基于springboot+mysql的房地产中介管理系统
  15. Linux SD卡驱动开发
  16. IT行业都有哪些职位,初学者(0基础,新人)该如何选择,才能够快速进入这个行业?... 1
  17. SIP协议详解(中文)-1
  18. 如何根据图片换算出中轴大小?
  19. Unicode算法漏洞几乎祸害所有编程语言,Rust紧急发布补丁
  20. pandas中的切片函数: .iloc()、.loc()、.ix() 的区别

热门文章

  1. Educational Codeforces Round 115 (Rated for Div. 2) A. Computer Game
  2. 如何减少上下文切换?
  3. 南阳题目364-田忌赛马
  4. 1 微信公众平台数据统计功能的作用是什么?
  5. 5.29 阅文集团一面
  6. 如何识别哭泣csdn_你上一次流泪是什么时候?| 研究:几乎不哭泣的4类人
  7. jq 实现无缝轮播图
  8. Druid学习笔记(2)Druid架构剖析
  9. 【图形图像处理】之位图图像和矢量图形有何区别?
  10. Vue全家桶:Vuex