Atitit.可视化编程jbpm6 的环境and 使用总结...
Atitit.可视化编程jbpm6 的环境and 使用总结...
2.2. Install eclipse jbpm plugin 2
3.1. Cretae demo prj 执行自动生成的测试代码 3
3.4. 添加一个script task控件..Process desgin ....opoen bpmn ,then open prodesginer... 4
3.5. 设置script task控件的执行java语句..
4
3.6. 设置process的id属性: process2
5
4.2. 添加start控件and script task控件task0
6
4.3. 建立global 变量 (process 文件内范围)
6
4.5. 添加一个if else 分支控件:: gateway diverge 6
4.6. 添加两个script task控件执行task1() & task2(); 7
4.7. 添加一个gateway converge控件,指向end控件...
7
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-console是web版本,可以不使用...dashboard-builder 好像是个form builder...安装李一佬杞,马安装上...放弃..
Eclipse 4.3
2.2. Install eclipse jbpm plugin
U:\jbpm-installer\liborg.drools.updatesite-6.1.0.CR1.zip (19M)
Install by Archi.zip
0. 重启后你会发现Eclipse首选项参数中多了一项:JBPM项,如下图,说明你成功了.
2.3. Set Jbpm6_Runtimes
U:\jbpm-installer\lib\jbpm-6.1.0.CR1-bin (41M)
打开Eclipse->Preferences 会弹出一个对话框,在文本框中搜索到"JBPM".
3. 第三步配置installed jbpm Runtimes路径,点开后,点击“Add”按钮,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. 设置process的id属性: 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. Jbpm的if 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;
;
4.6. 添加两个script task控件执行task1() & task2();
4.7. 添加一个gateway converge控件,指向end控件...
5. Jbpm的循环结构.配置
6. Other 概念
6.1. Java和MVEL
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
Atitit.可视化编程jbpm6 的环境and 使用总结...的更多相关文章
- Atitit 编程语言编程方法的进化演进 sp COP ,AOP ,SOP
Atitit 编程语言编程方法的进化演进 sp COP ,AOP ,SOP 1.1. Sp oop>>COP ,AOP ,SOP1 1.2. Sp oop 结构化方法SP(Stru ...
- Atitit.可视化与报表原理与概论
Atitit.可视化与报表原理与概论 1. 信息可视化1 2. Gui可视化1 3. 报表系统(三大图表,金字塔,组织结构图等)1 4. <可视化数据>目录3 5. 可视化的具体实现(c ...
- atitit.元编程总结 o99
atitit.元编程总结 o99.doc 1. 元编程(Metaprogramming) 1 2. 元编程的历史and发展 1 3. 元类型and元数据 1 4. 元编程实现方式 2 4.1. 代码生 ...
- Python数据可视化编程实战pdf
Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...
- python数据可视化编程实战PDF高清电子书
点击获取提取码:3l5m 内容简介 <Python数据可视化编程实战>是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法创建美观的数 ...
- 重磅:前端 MVVM 与 FRP 的升阶实践 —— ReRest 可视化编程
ReRest (Reactive Resource State Transfer) 是前端开发领域新兴的方法论体系,它继承了 MVVM 与 FRP 编程理念,在技术上有不少创新.本文从专利稿修改而来, ...
- Atitit.异步编程技术原理与实践attilax总结
Atitit.异步编程技术原理与实践attilax总结 1. 俩种实现模式 类库方式,以及语言方式,java futuretask ,c# await1 2. 事件(中断)机制1 3. Await 模 ...
- Atitit linux获取项目运行环境版本
Atitit linux获取项目运行环境版本 1.1. Nginx版本1 1.2. Php版本1 1.3. Mysql版本2 1.4. Redis版本2 1.1. Nginx版本 [root@iZ25 ...
- Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系
Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入 ...
随机推荐
- http://10.11.112.12:8000/homePage.jsp?loginMode=JS
sdsad http://svn.paic.com.cn/svn/mis_pac/branches/MIS-PAC5.22.0
- Linux编程获取本地IP
#include <stdio.h> #include <sys/types.h> #include <ifaddrs.h> #include <netine ...
- Struts2复习笔记
一.Struts2的获得 Struts2的官网是http://struts.apache.org/,需要的同学可以自己去官网上下载. 二.Struts2的配置 以动态web项目为例,讲解配置Strut ...
- css3 进度条
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>1 ...
- CSS3--响应式布局
一.流式布局 不再使用px作为盒模型布局,而是采用百分比布局宽高,定位等. 公式:目标元素宽度/上下文元素宽度=百分比宽度 目标定位/上下文元素宽度或高度=定位距离(保留5位小数点) 用em/rem来 ...
- 柬埔寨手机上网资费套餐(3G/4G上网)
柬埔寨三大运营商 Cellcard 官网套餐详情http://www.cellcard.com.kh/cellcard-internet Metfone 官网套餐详情http://www.met ...
- opencv写视频
代码: #include<opencv2/opencv.hpp> using namespace cv; #include<string> using namespace st ...
- 自己随意写了个简单的依赖jquery的轮播图
//轮播图 function Switcher(obj){ this.box = $(obj.box); this.width = this.box.width(); this.banner = $( ...
- [MyBean-插件]MyBean通用报表免费无限制版本发布
[优点] 1.开发时无需安装报表组件(可以直接用编译好的文件,注意版权说明,请自行编译一次相应的报表插件文件). 2.无带包烦恼所有版本Delphi都可以使用,不拖累Delphi版本的 ...
- Java如何将html转以后的字符转化成正常显示的字符
String str = "“!@#¥%……&——+”";//“!@#¥%……&——+” 中文状态下的标点符号,进过html转换了 String convStr ...