zoukankan      html  css  js  c++  java
  • Atitit.可视化编程jbpm6 的环境and 使用总结...

    Atitit.可视化编程jbpm6 的环境and 使用总结...

    1. Jbpm的意义 1

    2. Jbpm6环境配置 2

    2.1. Down 2

    2.2. Install eclipse jbpm plugin 2

    2.3. Set Jbpm6_Runtimes 2

    3. 顺序运行的流程配置 3

    3.1. Cretae demo prj 运行自己主动生成的測试代码 3

    3.2. 建立新的流程bpmn文件 3

    3.3. 加入start end控件 4

    3.4. 加入一个script task控件..Process desgin ....opoen bpmn ,then open prodesginer... 4

    3.5. 设置script task控件的运行java语句.. 4

    3.6. 设置processid属性: process2 5

    3.7. 调用运行流程函数 5

    4. Jbpmif else分支结构配置 6

    4.1. Java代码 6

    4.2. 加入start控件and  script task控件task0 6

    4.3. 建立global 变量 (process 文件内范围) 6

    4.4. 设置task0控件返回变量值 6

    4.5. 加入一个if else 分支控件:: gateway diverge 6

    4.6. 加入两个script task控件运行task1() & task2(); 7

    4.7. 加入一个gateway converge控件,指向end控件... 7

    5. Jbpm的循环结构.配置 7

    6. Other 概念 7

    6.1. JavaMVEL 7

    6.2. JPDL是构建于jBPM框架上的流程语言之中的一个 8

    6.3. JAVA规则引擎 -- Drools 8

    6.4. 參考 8

    1. Jbpm的意义

    在于可视化编程...

    前端的可视化编程有dreamweaver,,,后端的有myeclipse hibernate 自己主动生成...

    仅仅有其中的业务代码如今仍然是编码方式...

    使用jbpm,能够大大降低编码,,使用拖拽式,流程图方式来编程...

    作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com
    转载请注明来源: http://blog.csdn.net/attilax

    2. Jbpm6环境配置

    2.1. Down

    jbpm-distribution-6.1.0.CR1-installer-full.zip (403M)

    Include

    dashboard-builder-6.1.0.CR1.war   18M

    jbpm-console-6.1.0.CR1.war  (196M)

    jboss-as-7.1.1.Final.zip  130M

    jbpm-6.1.0.CR1-bin.zip   42M

    org.drools.updatesite-6.1.0.CR1.zip  20M

    jbpm-consoleweb版本号,能够不使用...dashboard-builder 好像是个form builder...安装李一佬杞,马安装上...放弃..

    Eclipse 4.3

    2.2. Install eclipse jbpm plugin

    U:jbpm-installerliborg.drools.updatesite-6.1.0.CR1.zip  (19M)

    Install by Archi.zip 

    0. 重新启动后你会发现Eclipse首选项參数中多了一项:JBPM项,例如以下图,说明你成功了.

    2.3. Set Jbpm6_Runtimes

    U:jbpm-installerlibjbpm-6.1.0.CR1-bin  (41M)

    打开Eclipse->Preferences 会弹出一个对话框,在文本框中搜索到"JBPM".

    3. 第三步配置installed jbpm Runtimes路径。点开后。点击“Add”button,Name写上:“Jbpm6_Runtimes”,Path:浏览到“jbpm-6.0.1.Final-bin”路径。也就是刚刚释放到D盘上的

    3. 顺序运行的流程配置

    3.1. Cretae demo prj 运行自己主动生成的測试代码

    打开Eclipse,右键New JBPM Project 项目,在项目名称里面填写一个项目名字,如“TestJbpm6”。然后下一步。知道Finish完毕(里面会使用我们配置的执行环境)。

    里面会给我们自己主动生成一个实例,ProcessTest.java文件能够执行sample.bpmn流程文件。直接执行Process.java类,右键Run As -> jUnit Test。这时控制台就会输入“Hello World”文本

    3.2. 建立新的流程bpmn文件

    New >jbpm >>pbmn process >>pkg1 package>> new file bpmnAti.bpmn...

    拖拽start,script task, end 结点使用squ flow 线条连接起来...

     

    3.3. 加入start end控件

    3.4. 加入一个script task控件..Process desgin ....opoen bpmn ,then open prodesginer...

    Like follow..

    3.5. 设置script task控件的运行java语句..

    Note>rit key>>property {panel} ,>>can see action  Properry....enter java statement..

    设置task结点的action属性System.out.println("Hello World attilax22");

    3.6. 设置processid属性: process2

    3.7. 调用运行流程函数

    运行流程须要两个參数,一个是bpmn文件的路径,一个是流程的id...

    你须要建立一个知识库,当中包括过程定义

    你须要创建一个会话,沟通与流程引擎和启动过程的启动过程。

    RuntimeManager 可让你更方便的訪问 ksession 和任务服务

    public static void main(String[] args) {

    KieHelper kieHelper = new KieHelper();

    KieBase kieBase = kieHelper.addResource(

    ResourceFactory.newClassPathResource("pkg1/bpmnAti.bpmn"))

    .build();

    KieSession ksession = kieBase.newKieSession();

    ProcessInstance processInstance = ksession.startProcess("process2");

    4. Jbpmif else分支结构配置

    4.1. Java代码

    If(task0())

    Task1() 

    Else  task2();

    4.2. 加入start控件and  script task控件task0

    4.3. 建立global 变量 (process 文件内范围)

    Task0>>property>>Action>>globale ::  

    // define your globals here: e.g. global java.util.List myList

    global Integer task0Result

    4.4. 设置task0控件返回变量值

    task0Result= 3; //jeig haosyeo bcyi zayon ...only a task can use ..bnen cross task...

      // kcontext.setVariable("task0Result", 1);

      kcontext.getKnowledgeRuntime().setGlobal("task0Result"new com.sample.tIf().task0RztMeth());

     //jeig nen cross task...

     

    4.5. 加入一个if else 分支控件:: gateway diverge

    再配置条件...跳转..

    Type:: XOR

    Constraints:: to node1 :::  return task0Result==1;

    To node2:     return task0Result==2;

     

    4.6. 加入两个script task控件运行task1() & task2();

    4.7. 加入一个gateway converge控件,指向end控件...

    5.  Jbpm的循环结构.配置

    6. Other 概念

    6.1. JavaMVEL

    jBPM的眼下支持两种方言,Java和MVEL。

     Java的行动应该是有效的Java代码。 MVEL行动能够使用的业务脚本语言MVEL表达的行动。 MVEL接受不论什么有效的Java代码,但此外提供支持嵌套的參数訪问(比如,person.name。而不是person.getName()),和更多的脚本改进。因此,MVEL表达式为商业用户更方便。比如,一个动作,打印出的人在“请求者”的过程变量的名称看起来像这样:

    // Java dialect

    System.out.println( person.getName() );

    //  MVEL dialect

    System.out.println( person.name );

    6.2. JPDL是构建于jBPM框架上的流程语言之中的一个

    在jPDL中提供了任务(tasks)、待处理状态 (wait states)、计时器(timers)、自己主动处理(automated actions)…等术语。并通过图型化的流程定义,非常直观地描写叙述业务流程。

    JPDL能够部署于Java语言的不论什么应用环境下,JavaSE Application(Swing/SWT)、JavaEE Application(Application Server) 。

    6.3. JAVA规则引擎 -- Drools

    Drools是一个基于java的规则引擎,开源的。能够将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件里,使得规则的变更不须要修正代码重新启动机器就能够马上在线上环境生效。

    6.4. 參考

    安装JBPM6执行环境(JBPM6学习之二) - chengzhangmsdn的专栏 博客频道 - CSDN.NET.htm

    JBoss 系列八十: jBPM 6 中使用 jbpm-console 创建运行 BPM 流程 - 其它综合 - 红黑联盟.htm

    jbpm5.1介绍(3) - skyme - 博客园.htm

  • 相关阅读:
    网络安装Centos的方法
    命令源码文件——Golang
    mosquitto: error while loading shared libraries: libwebsockets.so.12: cannot open shared object file
    centos7安装mysql初始化报错
    MQTT --- 操作行为
    MQTTv5.0 ---AUTH – 认证交换
    MQTT v5.0------SUBSCRIBE 报文
    MQTT --- Retained Message
    inux centos7下源码 tar安装5.7.26详解
    20. 有效的括号
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6909084.html
Copyright © 2011-2022 走看看