JBPM 工作流引擎 JBPM指南 例子:Hello World 流程定义(3.1)

原创 2006年01月24日 14:42:00

声明:

本人EVeryVeryPoor,又是刚刚开始学习JBPM工作流引擎,对原文及概念等理解不当的地方,请网友不吝赐教,吾将及时修改和更正。

本文仅是本人自己学习JBPM,对JBPM指南的学习理解过程。

还望可以对入门者有所帮助。共享之。

需要中英文对照Word文档者请联系:gutengcom@hotmail.com或留下邮件地址。

 

3 JBPM 指南

本篇指南将为你展示JBPM的管理运行时刻API的用法和在jpdl中的基本流程的建立。

本篇指南的格式是一组例子的说明。这些例子主要集中在说明详细的主题和包含的广泛的注释。这些例子可以在JBPM的下载包的例子目录中找到。

最好的学习方法是通过给出的例子建立各种变化来创建一个项目和实验。

对于使用eclipse的用户:下载jbpm-3.0-[version].zip解压。然后 在eclipse"File" --> "Import..." --> "Existing Project into Workspace""Next",然后浏览到JBPM根目录,点"Finish".这样你就有了一个在你的工作间里JBPM.3的项目了。你可以在目录src/java.examples/中找到指南中的例子。你可以在"Run" --> "Run As..." --> "JUnit Test"中运行它。

jBPM包括一个创建XML文件的图形化的设计工具,可以在例子中使用。你可以在

http://sourceforge.net/project/showfiles.php?group_id=70542

http://sourceforge.net/project/showfiles.php?group_id=70542&package_id=116692

下载图形化设计工具和使用说明。

 

3.1例子:Hello World

一个流程的定义是一个定向的图形,由节点(nodes)和转换(transitions)(或叫跃迁)组成。The hello world流程有3个节点。要看它是如何组合拼凑的,我们将从不使用图形设计工具开始一个简单的流程。

Figure 3.1. The hello world process graph

public void testHelloWorldProcess() {

 

/*

这个方法说明了一个流程定义和一个流程定义的执行。这个流程

定义有3个节点:an unnamed start-state, a state 's' and an

end-state named 'end'.

下面的文本行解析了一个XML文本片段成为一个流程定义。一个流程定义

是一个标准的把一个流程描绘为一个java object (java对象)的描述.

*/

  ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(

    "<process-definition>" +

    "  <start-state>" +

    "    <transition to='s' />" +

    "  </start-state>" +

    "  <state name='s'>" +

    "    <transition to='end' />" +

    "  </state>" +

    "  <end-state name='end' />" +

    "</process-definition>"

  );

 

/*

下面的文本行在构造实例之后创建了一个流程定义的执行。这个流程的执行有一个主要的执行路线(path)或叫(轨迹)根tokenthe root token)它被定位在启始状态(start-state)的位置上。

*/

 

  ProcessInstance processInstance =

      new ProcessInstance(processDefinition);

 

 /*

在构造实例之后,这个流程执行有了主要的执行路线(path)或叫(轨迹)根tokenthe root token

*/

  Token token = processInstance.getRootToken();

 

 

/*

也是在构造实例之后,它被定位在启始状态(start-state)的位置上。

*/

  assertSame(processDefinition.getStartState(), token.getNode());

 

 

/*

让我们启动流程执行,离开启始状态转换到缺省的transition上。

*/

  token.signal();

 

/*

Signal方法将会阻止流程执行,直到进入一个等待状态a wait state

这个流程执行将会进入第一个等待状态,state ‘s’,因此这个主要执行路线(path)将被定位到 state ‘s’上。

*/

  assertSame(processDefinition.getNode("s"), token.getNode());

 

 

/*

让我们发送另一个信号。这将会重新启动执行,通过离开状态‘s’(state 's'),转换到它缺省的transition上。

*/

  token.signal();

 

/*

现在这个signal方法被送回,以为流程实例已经到达了结束状态end-state

*/

 

  assertSame(processDefinition.getNode("end"), token.getNode());

}

 

待续….

工作流引擎:jbpm和activiti

目前流行的工作流引擎有Activiti和jBPM5,而在jBPM5发布以前大多数项目、平台都是基于jBPM3、jBPM4开发的。jbpmJBPM,全称是Java Business Process Ma...
  • zhang_study_it
  • zhang_study_it
  • 2015年09月09日 23:45
  • 1623

浅析JBPM工作流引擎

JBPM中文意为java业务流程管理,它通过JPDL(Java 流程定义语言)制定一套流程规则,也就是一条流程实例,将整个业务分成多个节点,该业务的执行将按照该流程实例所定义好的节点顺序依次进行。JB...
  • a1314517love
  • a1314517love
  • 2014年02月07日 15:55
  • 7046

Java工作流引擎学习----JBPM(一)

Java工作流引擎学习----JBPM  一、简介 主动性编程: 方法  --->  类 --->  jar ---> 类库    特性:已经封装好的功能,供我们去调用,通过组合这些功能来完成代码...
  • qq_26504875
  • qq_26504875
  • 2016年01月09日 10:53
  • 6125

JBPM(五)执行流程实例

概念: ProcessInstance,流程实例:代表流程定义的一次执行.如:张三昨天按请假流程请了一次假.一个流程实例包括了所有运行阶段,其中最典型的属性就是跟踪当前节点的指针,如下图。   ...
  • hlbt0112
  • hlbt0112
  • 2016年08月31日 09:37
  • 447

Jbpm笔记之一 -- 流程定义管理( 部署和定义查询、删除、查看流程图)

1、在数据库中创建表
  • shehun11
  • shehun11
  • 2014年09月05日 09:19
  • 677

JBPM开发步骤

今天从网上找了陈刚关于jbpm应用实例讲解真的不错,记下来 jBPM开发入门指南(1) 工作流虽然还在不成熟的发展阶段,甚至还没有一个公认的规范标准。但其应用却已经在快速展开,这说明市场对...
  • wmck521
  • wmck521
  • 2012年04月24日 16:11
  • 3284

Jbpm流程定义的打包和部署

在使用Jbpm时,我们通常的作法是把流程定义存储到数据库中,然后在程序中从数据库中加载流程定义,把流程定义存储到数据库中的过程就叫做流程定义的部署。Jbpm为其流程定义使用了一种打包机制,即把流程定义...
  • mrshan
  • mrshan
  • 2006年08月19日 23:10
  • 6407

jbpm发布流程定义,启动流程实例

发布流程定义public static void main(String[] args) { ProcessEngine pro = Configuration.getProcessEngine(...
  • qq_38030432
  • qq_38030432
  • 2017年04月10日 13:48
  • 252

JBPM6——Hello World

一、下载 从http://sourceforge.net/projects/jbpm/files/jBPM%206/jbpm-6.1.0.Final/选择下载jbpm-6.1.0.Final-ins...
  • leimengyuanlian
  • leimengyuanlian
  • 2015年02月27日 20:19
  • 4016

jBpm流程定义XML格式

流程定义XML流:1.定制action:                                          2.有对应事件的                              ...
  • tutugogo
  • tutugogo
  • 2006年05月18日 16:55
  • 2068
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JBPM 工作流引擎 JBPM指南 例子:Hello World 流程定义(3.1)
举报原因:
原因补充:

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