jBPM4学习小结

我把jBPM4 分为两部份:
1、流程图(包括流程图所需的java、hsql等)
2、流程发布、运行的程序

现在对这两部份进行简略说明:
一、流程图
    绘制流程图的话,可以使用jBPM的eclipse插件GPD来生成。
    在现在这个版本的话,GPD的功能还比较不完善,还没有达到jBPM3对eclipse的支持程序。比如在jBPM3中,State节点下面的Properites视图还可以编辑java事件,但在jBPM4中,Properties中最只有name一个属性了,只能在source中手工添加java事件。
    但是起码GPD能完成jBPM流程图80%的工作(这是从《深入浅出jBPM》上看到的口号,这本书大部份讲的是jBPM3)
    在流程图中的节点中,
    一些常规的流程图的东西,比如开始、结束、分支,集合这些是流程图的基本元素;
    一些是提供程序嵌入的节点,比如hql、java、custom、script这些节点
    还有一个是提供用户介入的节点:task,这个节点要指定关联人(组)

二、流程发布、运行的程序
   程序的入口是ProcessEngine,这个类是从Configuration.getProcessEngine()得来的。(得到的ProcessEngine是个单例,Configuration是单例的工厂加组装?????)
   从ProcessEngine我们可以得到六个Service类 RepositoryService、ExecutionService、HistoryService、ManagementService、TaskService、IdentityService, 这六个Service加上ProcessEngine就可以完成jBPM的所有工作。
   在六个Service中,现在介绍其中的四个
   1、RepositoryService:是用来发布、查看、删除流程的入口
   2、ExecutionService:是用来开始、查看、删除一条流程工作的入口
   3、TaskService:是用户查看、介入流程的入口
   4、HistoryService:是查看完成后的流程工作的入口
   jBPM工作的流程是:首先用RepositoryService来发布一个流程。然后就可以用ExecutionService根据发布出来的流程,开展一个流程工作。
   如果这个流程工作不需要人的参与,则会从Start运行到流程的结束。如果需要人的参与,则会停在Task这个节点,然后Task的关联人就可以通过TaskService来对Task节点进行查看,通过TaskService.ComplateTask来使流程控制流程运行
   如果一道流程运行完成后(不仅仅是到达流程图的最后一个节点,而且最后一个节点必须要是END节点),那这个流程的入口会从ExecutionService变成HistoryService(数据库就是从jbpm4_execution到jbpm4_hist_detail)


附: IdentityService:是用来做用户/用户组管理的入口,会和TaskService给且起来使用
     ManagementService:是管理job的入口。(暂时不知道什么是job)

你可能感兴趣的:(eclipse,工作,jbpm)