JBPM入门指南(一)

大家好!

从今天开始我将出一系列的关于JBPM的使用以及开发技巧的文章,我将结合我们目前复杂的不能再复杂的保险业务来探讨JBPM的优点以及缺点以及我是如何去变通设计的.如果有不得当之请大家指出!

JBPM的项目介绍我这里就不多讲,因为网上的资料多的我想自杀呵呵,随便一搜铺天盖地.所以我就不再多此一举了,好!废话少说.我们来真的.

我讲从实际运用上去介绍JBPM,因为我发现,当我们研究一个东西的时候更多的是为要用这个东西在去研究,其实研究的初期也就是为了学习如何去灵活的使用开源项目提供的API.如何通过组织这些API来应用到实际的项目中,然后通过项目的实际情况进行叠代的开发以及扩充.

首先我们来介绍一下几个常用的三个东西:

1.start node.

2.tasknode.

3.end node.

这个三个节点基本可以组成一个helloworld.学习一门语言,或者技术,我都喜欢从helloworld开始.因为它直观,照着这个例子打出一个程序,它能让我感觉自己有个盼头.不会想苍蝇一样乱撞.好废话少说.来真的首先结合helloworld来讲解让大家入门.

首先我们说说环境,也真的只是说说,大家先去网上去搜搜如何搭建开发JBPM的环境,网上关于这个的铺天盖地我就不多说了,因为这个可能会浪费大家的时间,我只提一下,eclipse以及JBPM的插件和JAR包大家准备,假设大家准备好了,OK!我们开始啦!

(真的不好意思,这两天在研究GUICE这个东西项目可能会用到,所以文章停下来了,大家请多多谅解)

首先在我们建立一个工程,我就叫它helloworld吧,当你安装了JBPM IDE的时候在eclipse里面就存在了这个jbpm project这个东西大家因该到JBPM的官方网站上能看到,这个我就不多说了.当你用JBPM project创建一个默认工程的时候你会发现他已经带了一个例子,这个例子是我们想看到的东西.它就是helloworld程序.

流程定义里面有三个节点,这个三个节点分别是start,tasknode,end.别小看这个三个节点,如果你们的项目已经决定用JBPM了,那么那这个三个节点就是你最好的朋友,也是你最认得的朋友.好!既然是我们最好的朋友,我大家来认识认识它们.

start节点,也就是BPEL所对应start-state节点这个节点比较特殊,它流程开始的起点,所有的流程事例开始都要通过这个节点开始,它只能创建一个任务,一般它所对应的下一个节点就是具体的业务节点.我个人认为start这个节点本身没有任何业务上面的意义,但通过这个节点我们可以出发一些事件,或者做一些和工作流或者业务的初始化的操作,有一点记住它只能在里面产生一个任务,不能产生多个任务,它和别的节点不同因为它是事情的起点,没有存在一个多方面协作完成流程中一个具体事情的功能.它也支持节点进入前时间响应和节点往下流前的事件响应等等,这个节点可讲述的并不多.下面我们来认识一下下一个朋友.

tasknode节点,这个节点是什么.我们可以这样比喻它就像房子的砖块,如果你想造房子你必须要这些砖块,并且你要熟练的运用它知道它的特点,你才能通过它把房子键起来.换句话说,tasknode相当于原子,流程事例相当与分子是分子由多个原子组成.我想这两个比喻大家因该明白tasknode是什么了,它的重要性大家也因该能猜出来了.OK!我们来开始我们对它的详细认识,

taskNode的意思很明确,是任务节点,既然是任务节点那么就意味着它可以产生任务,让业务员进行处理.它产生的任务名字叫做TASK,这个TASK就是节点中一个具体和业务相关的的事情.当然如果从存脆的工作流角度来说他不代表任何东西.它只有开始和结束,那它所拥有的这些属性在那里呢?也许你已经猜到了,不错,它正是为了让业务数据具有状态,让它变活.可以这么说,业务数据是肉体,BPM给予了它灵魂.这样的比喻我们能很容易的理解到,task只有和业务数据进行关联的之后才有意义,它能把数据分成待处理,正在处理,已经处理三部分.这样业务数据就有了灵魂.大家是否会想那如何和业务数据关联,至于这个话题,我会在以后的文章中做为一个专题来讲,因为方式太多了.tasknode有一些行为和属性,但最重要的是它的事件,泳道,多个任务协作的时候的关于如何同步的属性配置.这些网上都有很多资料,大家一搜别人就有关于这方面的专题.我这里就不说废话了,呵呵!

end 节点,这个名字也已经告诉大家了,它是一个结束节点,是一个主流程或者一个子流程的终结,它运用的地方主要是在结束流程,释放流程资源,以及和业务相关的其他操作,这个节点也没什么很特别的地方,我在项目里面主要用到了通过它来释放一些或者处理一些工作流的资源,比如递归子流程处理等等

最近比较忙,这个文章都是分段写的,我以后会尽量快的发表自己的文章和大家分享.下次我讲继续结合我们的业务介绍后面的几个节点,statenode, node,以及fork和join

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值