传智播客——OA工作流(二)

一 流程实例通过Token的维护当前正在执行的节点 
Jbpm是怎么知道一个流程实例现在走到哪个节点了呢?每个流程实例都有一个指针,指向当前正在执行的节点,在当前节点执行完后,到达了下一个节点,就是让这个指针指向下一个节点。这个指针叫做Token(也叫做令牌)。
Token是运行时的概念,用来维护指向图结点的指针。Token需要一个信号 (signal)来让流程向前执行。当一个signal来到的时候,Token就会通过 transition离开当前的结点走到下一个结点。
** jBPM提供了一个图形化的流程设计器,是一个eclipse插件。使用插件设计流程定义还可以生成图片,这样就可以实现流程的图形化监控。
使用插件设计完流程定义并保存后,会有三个文件:
A)processdefinition.xml,流程定义文件;
B)processimage.jpg,流程图片;
C)gpd.xml,保存流程图片中的各个节点的坐标信息。
插件安装方法:在Eclipse安装目录下的links目录中新建一个文本文件,把扩展名改为.link,并且修改内容为path=${插件中的eclipse文件夹所在的路径}。
** 使用插件时会遇到的几个问题
1,插件在eclipse3.3的版本上才能正常工作,所以myeclipse5.1(eclipse3.2)不能使用这个插件。
2,安装插时,如果Myseclipse安装目录下的eclipse目录中没有links目录,可以手工创建一个。还要注意指定的插件的路径中不能含有中文。
3,使用插件设计流程定义时,如果再点击插件下方的 “Source” 选项卡修改生成的processdefinition.xml,会出现突然少了一些内容或多出一些内容等情况,这是插件的问题。如果想修改流程定义源文件,可以使用普通的xml编辑器打开进行修改,方法是在文件上点击右键 -> Open With -> MyEclipse XML Editor。
4,如果节点的名字中有中文,则生成的gpd.xml中的节点名字会出现乱码,这会导致不能正确的进行图形化监控。修正方法:在部署流程定义前把gpd.xml文件的编码改为GBK(改为本地编码,也要修改xml文件中的encoding的值为GBK)。要注意如果修改并保存了一下流程定义,就会重新生成processimage.jpg和gpd.xml文件,这时gpd.xml中的encoding又变成了UTF-8,应再改为GBK。(这是一个Bug)。
二 流程定义:预先定义的业务流转逻辑
流程实例(process instance):业务的一次实际流转过程。(是流程定义执行期间的体现,包含了流程定义被解释之后的一些信息,诸如开始时间、结束时间和其他相关联的信息)。
任务实例(task instance): 组成流程实例的元素。(Task被解释执行时的信息,有开始时间、结束时间、参与者等,有create、start、end三种状态)。
三 Jbpm的API
流程有关的所有信息都是要保存到数据库中的。jBPM的其中一个特色就是它使用
Hibernate来管理它的数据库。这样,jBPM就将数据的管理职能分离出去,自己则
专注于商务逻辑的处理。
1,准备环境:
A)添加jar包:
   jbpm-jpdl.jar(核心);
   jbpm-identity.jar(可选,组织机构);
   bsh.jar(BeanShell脚本);
   jboss-j2ee.jar;
   hibernate3.jar(Hibernate);
   antlr-2.7.6.jar(Hibernate);
   asm.jar(Hibernate);
   cglib.jar(Hibernate);
   dom4j.jar(Hibernate);
   commons-collections.jar(Hibernate);
   commons-logging.jar(Hibernate);
   hsqldb.jar(可选,纯Java写的数据库);
   log4j.jar(可选,日志记录);
   Junit4(单元测试);
B)添加配置文件(在jbpm-jpdl-3.2.2/config目录中):
   jbpm.cfg.xml;
   hibernate.cfg.xml;
   log4j.properties(可选,log4j配置文件);
修改数据库库连接信息,如果使用的不是HsqlDB数据库,还应添加相应的jdbc驱动。
学习总结:前期概念学习基本完毕,oa作为继lucene之后的第一个比较商用化的框架,我感到毫无压力

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值