发表时间:2009-05-23
最后修改:2009-05-23
ApacheODE研究一(架构介绍)
Apache ODE所支持的BPEL2.0规范
注:下表中的活动是指包括所有BPEL标签,而不只是控制活动或基本活动。
表格 1
ODE所完全支持的活动
|
ODE部分实现的活动
|
ODE未实现的活动
|
ODE扩展的活动
|
备注
|
|
Variables Initialization
|
|
|
用于变量初始化的内嵌的from-spec语句尚未支持
|
|
|
<validate>
|
|
Validate标签不被支持
|
|
<receive>
|
|
|
ODE尚未支持<fromPart>的语法,所以在<receive>标签中variable属性必须被使用到。而且仅仅message类型的变量才能被盖属性所引用。
多启动活动在ODE中不被支持,所以排除了对initiate属性的使用。ODE并不提供在标准10.4节中的顺序保证的支持。
还有ODE并区分conflictingRequest和conflictingReceive这两个异常,所以仅仅抛出receive异常
|
|
<reply>
|
|
|
与<receive>标签的兼容性相同,<toPart>标签不被支持,并且只能引言message类型变量
|
|
<invoke>
|
|
|
和receive、reply标签一样,对于<toPart><fromPart>标签不支持,输入输出变量只能引用消息类型的,而且validate属性不能使用
|
|
<assign>
|
|
|
BPEL标准中assign标签定义为原子性操作,而在ODE中assign标签中的copy标签才是原子性操作,而assign不是。
同样,标准要求在赋值结束使用validate属性标签进行验证,而ODE不支持
作为变量声明部分的内嵌式的赋值不被支持
ODE使用expressionLanguage标签来定义赋值语句所使用的查询语言,而不只queryLanguage
|
<throw>
|
|
|
|
|
<exit>
|
|
|
|
|
<wait>
|
|
|
|
|
<empty>
|
|
|
|
|
<sequence>
|
|
|
|
|
<if>
|
|
|
|
|
<while>
|
|
|
|
|
<repeatUntil>
|
|
|
|
|
<forEach>
|
|
|
|
|
|
<pick>
|
|
|
同<receive>标签
|
<flow>
|
|
|
|
|
<scope>
|
|
|
|
ODE1.2 /2.0中实现
|
|
<compensate>
|
|
|
与活动<compensateScope>一致
|
<compensateScope>
|
|
|
|
|
<rethrow>
|
|
|
|
|
<extensionActivity>
|
|
|
|
|
|
|
|
Implicit Correlations(隐式相关集)
|
|
|
|
|
Activity Failure and Recovery(活动错误和恢复)
|
|
|
|
|
Extension Activities & Extensible Assign Operations(扩展活动和可扩展的赋值操作)
|
|
|
|
|
XPath Extensions(XPath扩展)
|
|
|
|
|
External Variables(外部变量)
|
|
|
|
|
Headers Handling(头部处理)
|
|
|
|
|
RESTful BPEL
|
|
|
|
|
<span style="fon
|