`
sonic_yj
  • 浏览: 76671 次
  • 性别: Icon_minigender_1
  • 来自: CD
社区版块
存档分类
最新评论

JBPM 2 (Hello World)

    博客分类:
  • JBPM
阅读更多

  官方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">
<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持久化的方法
分享到:
评论
1 楼 cbin1013 2008-03-31  
能不能把例子发给我呀
cbin1013@163.com
谢了

相关推荐

    jBPM 4.2 HelloWorld实例

    ### jBPM 4.2 HelloWorld 实例详解 #### 一、搭建开发环境 为了能够顺利地进行jBPM 4.2 HelloWorld实例的开发,首先需要搭建一个完整的开发环境。这包括安装必要的软件和配置相应的环境变量。 ##### 1. 下载与...

    Jbpm4HelloWorld

    【Jbpm4HelloWorld】是基于JBPM(Java Business Process Management)框架的入门示例,这个项目旨在帮助初学者快速理解并掌握JBPM的基本用法。JBPM是一个开源的工作流管理系统,它允许开发者设计、执行和管理业务...

    jbpm4 helloworld

    jbpm4 helloworld,详细参考 《partner4java 讲述jBPM4》之第一步:jBPM4概念 & helloworld http://blog.csdn.net/partner4java

    JBPM_DEMO例子 Hello World

    JBPM通过使用XML来定义工作流,这种文件通常以.jpdl.xml为扩展名,就像压缩包中的"helloworld.jpdl.xml"。 在“Hello World”例子中,我们首先会看到"helloworld.jpdl.xml"文件。这个文件是流程定义的载体,它描述...

    JBPM-helloworld.rar_jbpm_world

    Simple workflow hello World jBPM

    jbpm4之HelloWorld实例

    2. `HelloWorld.java` - 包含了与jbpm4引擎交互的Java代码,用于启动流程实例并处理任务。 3. `pom.xml` - Maven项目配置文件,确保了依赖库的正确导入。 4. `README.md` - 可能包含了项目简介、安装和运行指南。 ...

    Jbpm HelloWorld

    **Jbpm HelloWorld** Jbpm(Business Process Management Suite)是一款开源的工作流管理系统,它提供了强大的业务流程建模、执行和管理能力。Jbpm在IT行业中被广泛应用于自动化业务流程,实现工作流的标准化和规范...

    Mule + JBPM by Maven - HelloWorld

    【标题】"Mule + JBPM by Maven - HelloWorld" 指的是一个使用Mule ESB集成JBPM工作流引擎的示例项目,通过Maven构建。这个项目旨在帮助开发者理解如何将Mule与JBPM结合,实现业务流程管理功能。 Mule ESB...

    Maven3+JBPM4.4+mysql helloworld例子

    本示例主要介绍如何使用Maven3与JBPM4.4集成,并在MySQL数据库环境下实现一个简单的 HelloWorld 应用。JBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它提供了完整的BPM解决方案...

    jbpm4.4的安装myeclipse配置还有helloworld实例

    ### jBPM 4.4 开发环境搭建与 HelloWorld 实例详解 #### 一、jBPM 4.4 开发环境搭建 ##### 1.1 准备所需工具 为了构建一个完整的 jBPM 4.4 开发环境,我们需要准备以下工具: - **jBPM 4.4**: `jbpm-4.4.zip` - **...

    jbpm工作流帮助你更好的管理工作

    首先,jbpm4helloworld是jbpm入门的一个经典示例,通常用于引导初学者了解如何在实际项目中部署和运行一个简单的流程。在这个例子中,我们将学习到以下几个关键知识点: 1. **jbpm安装与环境配置**:要开始jbpm开发...

    JBPM4 示例文件

    这个压缩包包含了两个示例项目——jbpm4web和jbpm4helloworld,用于帮助开发者理解和学习如何在实际开发中应用JBPM4。 **工作流与Java工作流** 工作流(Workflow)是业务流程自动化的一种方式,它定义了在完成特定...

    JBPM4.4 工作流 入门 例子

    2. **部署流程:** 将流程定义文件(如`helloworld.bpmn`)部署到JBPM服务器,生成对应的流程定义ID。 3. **启动流程:** 调用API启动流程实例,传入必要的参数(如发起人信息)。 4. **处理任务:** 用户登录工作台...

    JBPM4的学习资料

    3. `helloworld.zip`:可能是一个示例项目或包含更多JBPM4配置和资源的压缩包。 **四、实验与实践** 在学习过程中,通过创建一个名为`com.linjw.helloworld`的项目进行实践是非常常见的。这个项目可能包括一个简单...

    jbpm学习笔记jbpm学习笔记

    在这个测试类中,我们首先初始化流程引擎,然后通过`createDeployment()`方法创建并部署一个从类路径中读取的"helloworld.jpdl.xml"流程定义文件。部署成功后,我们可以查询当前部署的流程定义,并打印其ID。最后,...

    family168-jBPM 4视频教程的代码.rar

    在"family168-jBPM 4视频教程的代码.rar"这个压缩包中,包含了两个关键项目:`jbpm4helloworld`和`jbpm4web`,它们分别对应了jbPM 4的基础入门示例和Web应用实践。 **jbpm4helloworld** `jbpm4helloworld`项目是一...

    JBPM工作流教程:3个电子书以及JBPM例子程序和源代码

    3个JBPM的经典电子教程: jBPM4.1中文用户手册.pdf jBPM详解_工作流管理系统.doc 深入浅出_jBPM_电子书.doc 以及一个JBPM的HelloWorld的例子

    jbpm_sample.rar

    在这个场景中,readme可能涵盖了jbpm的快速启动指南,如何配置开发环境,以及如何运行jbpm_helloworld示例。它可能会讲解如何导入项目到IDE如Eclipse或IntelliJ IDEA,以及如何设置必要的依赖库,例如jbpm的jar文件...

Global site tag (gtag.js) - Google Analytics