jbpm的一些概念-翻译自jbpm用户手册16章jpdl--20%

16.1

process archive:是一个压缩文件,主要包含processdefinition.xml,还可能包括hibernate需要的配置文件、数据库脚本、甚至是java类。如果需要发布为process archive可以使用ant。
问题:发布这个的用处?发布的时候会自动操作数据库么?

Process versioning:为了应对上线后Process的改动,同一个名字的Process可以有很多个版本。当流程变动的情况,旧的流程实例仍然遵循旧的流程定义,新启的流程按照变动后的流程定义执行findLatestProcessDefinition(name)。
问题:如何使用hibernate改动已发布的流程?
还有一种改动是重新发布同名的流程定义jbpmContext.deployProcessDefinition(processDefinition),
同名多版本。
问题:对于统计的影响,同一个流程不同版本?
java类可以对jbpm可见或不可见,可见的将代理类打包入jar,和jbpm-[version].jar放到一个目录;不可见的放在process archive中,这时这些类也需要进行version管理。
jbpm3.0如果要使用jbpm2.0的process archiv需要进行转换。
问题:使用开源软件要想清楚自己系统的定位?

16.2

Delegation:代理机制方便了用户将自己的代码嵌入到流程中。
jBPM class loader:调用jBPM classes,为了对jBPM class loader将自己的代理类封装成JAR,然后放在jbpm-3.x.jar旁。
process class loader:以jBPM class loader为父,调用流程定义相关的代理类。这些代理类位于 process archive的classes目录下,注意这些类需要version管理,如果不需要为了效率采用jBPM class loader调用方式。
问题:如何控制类的version?
代理类,最普通的例子是action,它实现了ActionHandler接口,在过程中的由事件触发调用。代理类在processdefinition.xml中设置,同时还可以设置代理类的属性,进行初始化。如:
public class MyAction implements ActionHandler {
  // access specifiers can be private, default, protected or public
  private String city;
  Integer rounds;
  ...
}
对应:
<action class="org.test.MyAction">
  <city>Atlanta</city>
  <rounds>5</rounds>
</action>
这些属性可以自动转换:String\primitive types such as int, long, float, double, ... \the basic wrapper classes for the primitive types\lists, sets and collections
以下分别是list和map的例子:
<numbers>
  <element>one</element>
  <element>two</element>
  <element>three</element>
</numbers>
<numbers>
  <entry><key>one</key><value>1</value></entry>
  <entry><key>two</key><value>2</value></entry>
  <entry><key>three</key><value>3</value></entry>
</numbers>

问题:config-type field、config-type bean、config-type constructor、config-type configuration-property的区别?

 16.3

 expression:包括一些对代理类的支持方法的绑定,格式如expression="#{myVar.handler[assignments].assign}"
问题:不知道干啥用?

 16.4

下面进入jpdl了。

xml Validation:

<process-definition xmlns="urn:jbpm.org:jpdl-3.1">
  ...
</process-definition>

===========

process-state
super-state
script
expression
handler
timer
create-timer
cancel-timer
sub-process
condition
exception-handler



你可能感兴趣的:(xml,Hibernate,ant,jbpm,配置管理)