JBPM

 什么是JBPM?

JBPM(Java Business Process Management),是一种基于J2EE等轻量级工作流管理系统。JBPM是公开源代码项目,它使用要遵循Apache License。

JBPM最大等特色就是它的商务逻辑定义没有采用目前等一些规范,如:BPML、ebXML,BPEL4Ws等等,而是采用来它自己定义等JBoss jBPM Process definition language(jPdl)。jPdl认为一个商务流程可以被看作是一个UML状态图。jPdl就是详细定义来这个状态图的每个部分,如起始、结束状态、状态之间等转换等。

JBPM等乳、另外一个特色是它使用Hibernate来管理它等数据库。Hibernate是目前java领域最好等一种数据持久层解决方案。通过Hibernate,jbpm将数据等管理职能分离出来,自己专注于商务逻辑等出来

一些重要等jbpm的概念

  • Process definition(流程定义)
       工作流的流程等完整定义,包括节点和节点之间等走向等关键信息。通常以xml格式提供。一个具体等系统往往是由许多个流程组成等。
  • Process instance(流程实例):
       每个process defination 生成的业务层等实例。当Process instance 创建以后,代表流程等执行路径,并被定义到开始节点。
  • token(令牌):
       表示来一个执行等路径,它是运行时产生等。当实例建立以后,令牌也就产生来。
  • node:
      表示流程中等一个节点
  • transition:
      关联两个节点,用于表示节点等走向
  • signal
       让一个token执行下一步。process instance也有signal,当用process instance的signal时,其实就是运行Process instance根令牌(root token)的signal。当token进入到一个node时,node会被执行,并产生一些事件,比如:进入、离开节点等,这也是执行业务逻辑等地方。事件由action来表示。
  • 事件Event
     Event反映的是流程执行中的各个时刻。在流程执行中JBPM引擎会在计算下一个状态的时候触发各种事件。一个事件通常和流程定义中的一个元素相关联,比如流程定义本身,节点或者转移。大部分等元素能够触发不同类型等事件,比如一个节点可以触发节点进入事件、离开事件。事件其实是和动作连接在一起等。每个事件维护一个动作列表。当JBPM引擎触发一个事件等时候,该事件维护等动作列表中等动作将被执行。
  • 事件类型

在JBPM中事件类型是写死在事件类中的,共有16种:

EVENTTYPE_TRANSITION = "transition"; // 转移
EVENTTYPE_BEFORE_SIGNAL = "before-signal"; // 发信号前
EVENTTYPE_AFTER_SIGNAL = "after-signal"; // 发信号后
EVENTTYPE_PROCESS_START = "process-start"; // 处理开始状态
EVENTTYPE_PROCESS_END = "process-end"; // 处理结束状态
EVENTTYPE_NODE_ENTER = "node-enter"; // 进入节点
EVENTTYPE_NODE_LEAVE = "node-leave"; // 离开节点
EVENTTYPE_SUPERSTATE_ENTER = "superstate-enter"; // 进入超级状态
EVENTTYPE_SUPERSTATE_LEAVE = "superstate-leave"; // 离开超级状态
EVENTTYPE_SUBPROCESS_CREATED = "subprocess-created"; // 子流程创建
EVENTTYPE_SUBPROCESS_END = "subprocess-end"; // 子流程结束
EVENTTYPE_TASK_CREATE = "task-create"; // 任务创建
EVENTTYPE_TASK_ASSIGN = "task-assign"; // 任务分派
EVENTTYPE_TASK_START = "task-start"; // 任务启动
EVENTTYPE_TASK_END = "task-end"; // 任务结束
EVENTTYPE_TIMER = "timer"; // 定时器

 

 

参考资料:

http://http://developer.51cto.com/art/200811/96047.htm

http://www.uml.org.cn/workclass/200812195.asp

 

 

你可能感兴趣的:(JBPM)