JBOSS JBPM

原创 2007年10月10日 17:44:00

工作流管理系统(WFMS):工作流系统是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动。

工作流系统另一个重要的职责是维护每一个流程运行的上下文信息。 流程上下文变量(process context variable) ,或简称变量,是与流程实例相关的变量。如,休假申请的开始日期、数据库中一条记录的键值、文档管理系统中一篇文档的索引等。通常在流程定义中声明这些变量,然后在流程实例生成时,这些流程变量被实例化。所有成熟的工作流管理系统都支持定制的变量类型。 

工作流系统可以用来管理全局的业务流程。在此讨论的工作流系统的第一种使用方式就是:结合所有的专门应用,使用工作流系统构建一个EAI(企业应用系统集成)平台。 工作流系统能够发挥很大价值的第二个使用方式是:协助涉及多人相关任务工作流软件的开发。为了达到这个目的,大部分工作流系统都有一个方便的机制,来生成执行任务的表单。对于专注于ISO 或者 CMM认证的组织,采用这种方式使用工作流系统能够显著提高生产率。 不用将过程用文字的形式写在纸上,工作流系统使你通过流程定义建模实现过程的自动化(如使用基于Web的应用)。 工作流系统的第三种使用方式是:将工作流引擎嵌入到其他应用中。。将工作流引擎嵌入到应用中的主要原因是为了重用(不重复发明轮子)和应用软件的可维护性。

WFMS interfaces

一个工作流管理系统以流程定义作为输入。在这里,可以将流程定义看作UML活动图、UML状态图或者有限状态机。在提交一张费用单据、申请休假、要求一个报价、...之后,工作流系统负责维护这些流程定义的执行状态和上下文。为此,需要通知工作流系统状态的变化。运行流程的状态变化可以记录下来,以备监控管理。

定义   工作流系统的定义接口使流程开发人员能够部署流程定义。注意,这里的“流程开发人员”可以是业务分析师和软件开发人员的组合。

执行   执行接口使用户和系统可以操作流程实例。流程实例是流程定义的执行。流程定义的控制流通过状态机描述。执行接口的两个主要方法是启动一个流程实例和通知工作流系统一个状态结束了。

应用    应用接口代表了由工作流系统发起的工作流系统和外部系统之间的交互。当一个用户或系统操作一个流程实例的运行时,会生成一些事件(如一个迁移的执行)。流程定义中可以指定一段响应一个事件的可执行代码逻辑,这段代码和组织内外部的其他系统打交道。

监控   管理人员通过监控接口获得流程运行的确切数据。有时,运行日志也可用于审计。

流程定义的四个层次

状态层

在流程中,状态 (或者说等待状态)代表了一种对外部参与者(actor)的依赖。状态的意思就像“现在X系统或某某人必须作某些事,在此等待直到参与者通知这些任务已完成”。状态定义了一种对外部提供结果的依赖。状态典型的例子是批准步骤(step)。

流程定义中的状态也指定了执行依赖于哪个参与者。

流程定义的控制流包含一组状态和它们之间的关系。

上下文层

    流程上下文变量(process context variable) ,或简称变量,是与流程实例相关的变量。流程开发人员可以使用流程变量存储跨越流程实例整个生命周期的数据。一些工作流管理系统有固定数目的数据类型,另一些你可以定义自己的数据类型。

程序逻辑层

    如前所述,动作是在流程运行过程中,工作流系统响应指定的事件(event)执行的一段程序逻辑(programming logic)。程序逻辑可以是二进制或源代码形式的、用任何语言或脚本编写的软件。程序逻辑层是所有这些软件片断和关于在什么事件发生时调用它们的信息的组合。程序逻辑的例子包括发Email、通过消息代理发消息、从ERP系统中拿数据和更新数据库。

用户界面层

    一个参与者通过向流程变量中填充数据的事件,来触发结束一个状态。比如,在请假的例子中,老板提供“同意”或“不同意”数据到流程中。某些工作流系统允许指定哪些数据可以填充到流程中,以及它们如何在流程变量中存储。通过这些信息,可以生成从用户收集信息的UI表单。

JBoss 系列七十一:jBPM 6 发布,快速安装,新功能介绍

概述 jBPM 6.0 最终版已与上月底发布,本文主要从两个方面去介绍jBPM 6.0 : 快速安装新功能介绍 快速安装 快速安装包括如下三步: 1. 下载安装包 从http://sou...
  • kylinsoong
  • kylinsoong
  • 2013年12月23日 17:36
  • 18855

JBPM版本选择

作为一名IT新人,老大把研究JBPM的任务交给我的时候,简直是压力山大啊!          开始一个星期时间,先到JBPM官网下载了安装包,然后按步骤搭建环境、装eclipse的插件。新建了一个JB...
  • u011677471
  • u011677471
  • 2014年03月19日 14:18
  • 1046

JBoss 系列六十一:深入理解 jBPM Human Task - I

概述 Human Task 是BPM流程中的节点必需通过人为的手动操作才能够执行。jBPM 5 通过 User Task(jBPM5示例之 User Task) 节点来支持Human Task。Hum...
  • kylinsoong
  • kylinsoong
  • 2013年11月30日 19:04
  • 4447

JBoss 系列七十八: jBPM 6 使用 Mysql 替换默认的 H2 数据库

概述 通过jBPM 6 发布,快速安装,新功能介绍部分ant install.demo安装完成的jBPM 6默认使用H2内存数据库,本文介绍如何使用 Mysql 替换默认的 H2 数据库。 创建所需...
  • kylinsoong
  • kylinsoong
  • 2014年01月03日 17:26
  • 10588

JBoss 系列七十三:jBPM 6 开发 eclipse 插件安装

概述 与之前的jBPM 5相比,jBPM 6 新引入的kjars及mavenized的特性,使流程开发设计与之前有了很大的不同,本文主要说明jBPM 6 相关 eclipse 插件安装,及使用安装好...
  • kylinsoong
  • kylinsoong
  • 2013年12月23日 22:10
  • 13644

JBOSS 工作流与JBPM开发实例

大家好,下面由我来为大家介绍开源工作流引擎JBPM的初始化使用方法。     首先当你想学一个框架的时候一定是你要有项目来用他了,OK,那么你项目当中的流程是什么你应该清楚吧,那么当你清楚了这些的时...
  • shendeguang
  • shendeguang
  • 2013年04月27日 15:45
  • 615

【升级篇】JBPM4.4过渡到Activiti

简单介绍一下Activiti背景   Activiti的出现:   Activiti的创始人Tom Baeyens是JBPM的创始人,由于与合作伙伴在JBPM的未来架构上产生意见分歧,Tom Ba...
  • hejingyuan6
  • hejingyuan6
  • 2015年02月10日 12:21
  • 4813

JBoss 系列七十五: jBPM 6 示例之 rewards

概述 如上篇(使用 BPMN2 Modeler 创建 jBPM 6 流程)中所示,我们演示通过 jBPM 6 eclipse 插件如何 step by step 的创建 BPMN2 流程,...
  • kylinsoong
  • kylinsoong
  • 2013年12月30日 10:36
  • 11640

JBPM学习(一):eclipse集成JBPM

资源:   jbpm-starters-kit-3.1.2.zip官方下载地址 http://nchc.dl.sourceforge.net/sourceforge/jbpm/jbpm-starter...
  • yixiaoping
  • yixiaoping
  • 2013年09月02日 22:36
  • 10146

JBPM学习笔记 入门

转载自:http://814318774.iteye.com/blog/2025248 JBPM学习笔记 博客分类:  JBPM 1、JBPM4表说...
  • spyiu
  • spyiu
  • 2014年04月09日 13:22
  • 2880
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JBOSS JBPM
举报原因:
原因补充:

(最多只允许输入30个字)