JBPM 2 (Hello World)

阅读更多

  官方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
 
http://localhost:8080/jbpm 一个WebSale 的例子,工作流的好处描述的比较清楚,“图形化”流程显示,人员,流程,应用的分离
 
相关源代码一应俱全: 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">
 
 
   画图实际上是在写2个xml文件,流程引擎使用的是 processDefinition.xml    gpd.xml是用来指示图形位置的,processimage.jpg是自动产生的,这部分实际上比较弱,无法完整整合用户管理,如果用来做workflow又缺乏表单管理(用变量可以代替)。最最恼火的是没有对所画流程检查功能,希望以后能补上。基本上是个半手工活,懂JBPM的程序员用可以,就别指望用户能用了
 
 
 
    写两句代码
 
 结合官方例子写就可以了,换换名字,基本实现
 
 
 代码写起来比较舒服,整个结构框架很清楚
 
 
 
6. 总结优缺点,JBPM是否对你有用
   优点:
      我见过最好的免费流程引擎(这条就够了), 功能强劲,跟商业的的没有本质区别
      对整合环境没什么挑剔,java .net都行,数据库也基本不挑
      可扩展性极好,到处都能挂代码,呵呵
 
   缺点:
     文档严重不够, 写起来刚开始比较痛苦
     部分功能不完善(用户管理部分,安全部分)
     应用扩展性过于灵活,换句话说就是功能不完善(都是留接口写代码),没有找到不用Hib持久化的方法

你可能感兴趣的:(JBPM,Workflow,JBuilder,JSF,配置管理)