官方Help版Hello world:
文档位置:jbpm-starters-kit-3.1.2\jbpm\doc\userguide\en\html\index.html
Javadoc:在 jbpm-starters-kit-3.1.2\jbpm\doc\javadoc.jbpm\index.html
这个hello world 新学的人看不出个什么名堂来,对象结构不了解,工作流的优势也没表现出来(之前做过工作流的可能看得一楞一楞的)
官方Web版Hello World:
要看JBPM自己的Hello World 很简单,直接解压缩jbpm-starters-kit-3.1.2
Web观看:jbpm-starters-kit-3.1.2\jbpm-server\start.bat 跑jboss
相关源代码一应俱全: jbpm-starters-kit-3.1.2\jbpm\src\java.webapp\org\jbpm\webapp
界面用JSF写的,奇怪了,为什么会用JSF?我现在感觉JSF带来的除了是麻烦,没有什么,学aspx也没学像,说MVC吧,代码量大太多,说改起来容易完全是扯蛋,感觉就是拿框架来忽悠人,写配置比写代码烦多了,还不好调试,考,太抽象也就太遥远
BTW:这个图形也太蒙人了,居然只有一副流程定义图片,然后靠画红色圈圈来套,我考,跟商业的Workflow差太远了。目前我正安排fish帮我用.net写一套配置界面(包括人员配置,语法检查,模版设置)和动态演示出来。用Eclipse的弱智图形配置界面 + 红圈圈还真拿不出手。至少要跟Workflow看齐嘛,呵呵,现在其实已经做得7788的了,不过还是要打磨以后才放出来用,应该不比这类商业软件,就是不知道Boss准不准拿出来开源
自己写一个Hello World:
目标:初步体会BPM的Power, 应用,流程,人员的分离,图形化的流程
1. 给Eclipse 3.2 安装上GOP插件
似乎只要注意版本和避开干扰软件,基本没什么问题,我开始没仔细读说明,被害惨了,用了3.12 + myEclipse,折腾了许久才搞定
2. 创建项目,JBPM项目自然就出现了,这个时候要选择引擎,选 jbpm-starters-kit-3.1.2\jbpm\build 目录就可以了
Eclipse默认引用了一大堆jar包,实际上,就引用 build目录就可以了,如果用JBuilder,就配置一下,完全一样用。项目创建会默认产生一个流程和例子,注意,src/config 在JBuilder里面没法用,JB会打包build目录(引用的引擎下面)的几个配置文件,直接改build目录的配置文件,效果一样
3. 画流程图
项目建好,直接在Process目录下面创建一个JBPM Process Definition就可以了,OK,看到图形界面了,简单描述一下各种节点的大致作用
Start:就是个开始,JBPM的开始还可以乱七八糟放些东西,不过我不太习惯
End:结束,可以多个
State: 没怎么用过,似乎怎么用也都可以
Fork:流程分支,似乎JBPM这部分并行必须要这个东西,有点无聊,反过来说,一个没有分支合并的节点,画再多线也只能走一根,把后台设置前台化而已
Join: 合并流程,同上,我觉得这个东西未来也许会消失
Decision: 决策,可有可无的东西,以前我用workflow重来不鸟他,只是为了画图好看
Node:
Task Node:任务节点,挂上任务主要用来作人机交互节点,关联任务使用
Process State:可以看作自动过程,主要用来根其它系统打交道
Super State: 相当于一个节点集合的包
Transition: 不用多说,所有节点都得有连接线
4. 配置文件说明
hibernate.cfg.xml 配置数据库连接,这个很好改
jbpm.cfg.xml读取基本设置,不过在JB里面死活不认,据同事说需要用JNDI,MMD,简单问题复杂化,上面两个文件都可以直接写到程序里面去
log4j,你想不想看调试信息的问题
5. 运行Hello World
画个图
产生了下面xml
<!---->
xmlns="urn:jbpm.org:jpdl-3.1" name="HellowWorld">
<start-state name="开始"></start-state>
<transition name="" to="步骤1">
</transition>
<task-node name="步骤1"></task-node>
<task name="任务1"></task>
<transition name="" to="结束">
</transition>
<end-state name="结束"></end-state>
画图实际上是在写2个xml文件,流程引擎使用的是 processDefinition.xml gpd.xml是用来指示图形位置的,processimage.jpg是自动产生的,这部分实际上比较弱,无法完整整合用户管理,如果用来做workflow又缺乏表单管理(用变量可以代替)。最最恼火的是没有对所画流程检查功能,希望以后能补上。基本上是个半手工活,懂JBPM的程序员用可以,就别指望用户能用了
写两句代码
结合官方例子写就可以了,换换名字,基本实现
代码写起来比较舒服,整个结构框架很清楚
6. 总结优缺点,JBPM是否对你有用
优点:
我见过最好的免费流程引擎(这条就够了), 功能强劲,跟商业的的没有本质区别
对整合环境没什么挑剔,java .net都行,数据库也基本不挑
可扩展性极好,到处都能挂代码,呵呵
缺点:
文档严重不够, 写起来刚开始比较痛苦
部分功能不完善(用户管理部分,安全部分)
应用扩展性过于灵活,换句话说就是功能不完善(都是留接口写代码),没有找到不用Hib持久化的方法
分享到:
相关推荐
jBPM 4.2 HelloWorld实例,jBPM 4.2 HelloWorld实例
jbpm4 helloworld,详细参考 《partner4java 讲述jBPM4》之第一步:jBPM4概念 & helloworld http://blog.csdn.net/partner4java
JBPM 例子 Hello World 例子 希望对大家有用
Simple workflow hello World jBPM
JBPM4.4之HelloWorld示例
jbpm入门的第一个例子 使用最少的jar包
大名鼎鼎的Jbpm main HelloWorld版
JBPM4.4的一个helloworld 例子,Junit测试通过
NULL 博文链接:https://tiger-hu.iteye.com/blog/1573548
配置文档详述了ant环境变量的配置,jbpm4.4的安装过程,以及在myeclipse里安装jbpm插件,并且,最后展示了一个helloworld示例,如何向数据库里发布process。
NULL 博文链接:https://exjava2.iteye.com/blog/1451974
3个JBPM的经典电子教程: jBPM4.1中文用户手册.pdf jBPM详解_工作流管理系统.doc 深入浅出_jBPM_电子书.doc 以及一个JBPM的HelloWorld的例子
JBPM4.4 工作流 入门 例子 HelloWorld
jBPM4.1中文用户手册.pdf,【精华】jBPM详解_工作流管理系统.doc,【精华】深入浅出_jBPM_电子书.doc,压缩包jbpm-lh.rar(包括jbpm4helloworld和jbpm4web两个项目);有jbpm手册和文档详解以及实例项目参考,希望...
1、JBPM 安装 2、JBPM 部署 3、JBPM 实例 4、HELLO WORLD
近期网上有人介绍jBPM4与Spring整合的2种方式,但没有人贴出代码,闲着无聊写了个例子,源码见附件,在WEBLOGIC下运行正常,事务由spring控制http://ip:7001/Spring/helloWorld.do
JBPM4.4之HelloWorld示例.doc jbpm4.4会签实例.doc jbpm4.4安装配置step by step.doc jbpm4自带数据库分析.doc jBPM_4教程PPT.pdf JBPM与SSH架构融合.doc 工作流模型分析_v1.1.pdf 揭秘jbpm流程引擎内核设计...
2.2 、Hello World 例子 6 三、学习JPDL 11 3.1 、简介 11 3.2 、流程版本(Version) 11 3.3 、流程定义 12 3.3.1 process-definition(流程定义) 12 3.3.2 node(自动节点) 13 3.3.3 start-state(开始状态) 13 3.3.4...
Alfresco从jBPM公司挖出了jBPM的创建人和若干核心人员,意欲创建一个基于Apache License的,并且遵循BPMN 2.0工作流标准的开源项目,看来Alfresco真是煞费苦心啊。不过Alfresco 4.0 中jBPM是仍然存在的,也就是说两...
17 HelloWorld 45 Xml: 45 Code: 45 18 从数据库中取出xml文件和png图片 48 19 向页面输出图片 49 20 页面显示图片 50 21 获取已加载到数据库中的XML文件,改修后并重新发布 51 21 会签 53 Xml: 53 code: 54 工作流...