JBPM4 引擎对象与各类服务

流程引擎对象,ProcessEngine是jbpm4全部Service API之源设计模式

         在jbpm中各类服务相互依存,但全部的service API都从ProcessEngine中得到,它是由Configuration类构建的,即工做流引擎根据配置产生。
        ProcessEngine是线程安全的,所以它能够保存在静态变量中,甚至JNDI命名服务中或者其余重要位置。在应用中,全部线程和请求均可以使用同一个ProcessEngine对象,如下代码告诉您如何得到ProcessEngine:   
Java代码
ProcessEngine  processEngine=Configuration.getProcessEngine();     
ProcessEngine processEngine=Configuration.getProcessEngine();安全


 直接能够用processEngine.getXXX()获得的7个service异步

在jbpm4中对客户端的接口统一为7个服务接口:ProcessService、ExecutionService、CommandService 、TaskService 、ManagementService、HistoryServiceIdentityService,这7个接口能够从ProcessEngine接口中得到,jbpm4在启动的过程当中由JbpmConfiguration负责构建引擎。ide

下面把这7个service描述一下:spa

    RepositoryService—流程之源服务的接口。提供对流程定义的部署,查询,删除等操做。
    ExecutionService—流程执行服务的接口。提供启动流程实例,“执行”推动,设置流程变量等操做
    ManagementService—流程管理控制服务的接口,提供异步工做(Job)相关的执行和查询操做。
 CommandService-Command模式的服务接口,实际上就是将客户端的请求所有封装在一个调用接口中, 而后由这个接口去调用Command接口的众多实现(StartExecutionCmd、SignalCmd、SetVariablesCmd、GetTimersCmd、DeployCmd、NewTaskCmd、SubmitTask、ExecuteJobCmd等等,具体可参加pvm/internal/cmd,task/internal/cmd包及其它包下实现Command接口的类), 这是典型的Command模式的应用,感兴趣的读者能够去了解设计模式中的Command模式;线程

    TaskService—人工任务服务的接口。提供对任务(Task)的建立,提交,查询,保存,删除等操做。
    HistoryService—流程历史服务的接口。提供对流程历史库(即已完成的流程实例归档)中历史流程实例,历史活动实例等记录的查询操做。
  还提供诸如某个流程定义中全部活动的平均持续时间,某个流程定义中某转移的通过次数等数据分析服务。
    IdentityService—身份认证服务的接口。提供对流程用户,用户组以及组成员关系的相关服务设计

相关文章
相关标签/搜索