JBPM4框架小谈

        用了一周时间把JBPM这本书看完了,但时间加起来也没多久,中间一直夹杂着别的事。

        在看的过程中,一直看到这句话:有志做引擎名架构师的,那么JBPM4是你很好的一个研究对象。于是我很听话的去看了源码,想研究一下它的架构,结果发现水好深。下面是我自己看源码画的一个架构图。当然,我列出的只是一个稍微简化的图:

        JBPM4框架小谈_第1张图片

        有了这张图,你对JBPM的使用会事半功倍。现在,我主要把外观提取出来看一下。

        稍微入下门的童鞋就知道,使用JBPM先要创建Configuration,然后由Configuration得到ProcessEngine。那么现在你就可以通过ProcessEngine获得到各种服务了。你不需要知道一共有多少服务,只要打上ProcessEngine然后点一下,它提供了什么服务你就可以一览无余。

        外观模式的一个功能不就是对接口的整合么,那么现在来看一下ProcessEngine的这段代码吧:

public ExecutionService getExecutionService() {
    return get(ExecutionService.class);
  }
  public HistoryService getHistoryService() {
    return get(HistoryService.class);
  }
  public ManagementService getManagementService() {
    return get(ManagementService.class);
  }
  public TaskService getTaskService() {
    return get(TaskService.class);
  }
  public IdentityService getIdentityService() {
    return get(IdentityService.class);
  }
  public RepositoryService getRepositoryService() {
    return get(RepositoryService.class);
  }

        有人曾经怀疑过这样写,认为这样写没有什么意义,认为这样写是把*Service架空了。但是正是因为JBPM4采取了这样的写法,我们才不用像JBPM3中那样,什么接口都需要自己有一个大概映像。

        有了这个好处,那么对于这种写法的对与错就不需要我再去多说什么了,只要你同时用一下JBPM3和JBPM4就能够体会到这种写法给别人带来的便利了。

        上面的图中我一共画出了3种设计模式,但JBPM4中肯定不止这3种,例如工厂等被人们常常挂在口边的设计模式一般也没有人提。

        现在再提一下我对JBPM的学习:

        JBPM的学习最重要的是JPDL的学习,对于JPDL的学习,宏哥在讲的时候,把它当作一门语言来讲,然后分别从变量、3大结构来讲。这样的讲解不只是在给我们讲知识,而是在讲述一种学习方法。这种学习方法能够让我们用最短的时间完成更多的学习。

        对于JBPM能够干什么现在已经差不多清楚了,需要的只是一个项目的磨练以及用户变态的需求。

你可能感兴趣的:(JBPM4框架小谈)