赵翔鹏的Blog Xiangpeng's Thinkpad

23三/070

WS-BPEL 2.0 Webinar总结

OASIS最近给出了两个关于WS-BPEL 2.0的视频讲座,可免费下载http://www.oasis-open.org/events/webinars/,很值得一看。最有趣的是最后有一段Q&A时间,提到了好几个人们对BPEL特别关注的问题。几点笔记如下,边听边记的,所以写的比较随意。

  • event handling可以用于实现基于async的并行。想像有几个event同时发生,同时得到处理。
  • correlation set用于实现LRT。区分多个instance,多个receive。
  • assign用于做transform,可以用xsl来做,bpel不关心其变换细节。
  • foreach可以通过设置一个参数使其所有的子scope并行的执行
  • variable property作为一个alias,可用于分离process logic和数据的实际格式信息,主要用于correlation id
  • isolated scope:用于对共享变量加锁(不是很懂)
  • bpel2.0增加了rethrow, validate, terminationHandler,"join" correlation 等东西
  • compensateAll v.s. compensateScope

提问中提到的问题:

  • bpel4people: vague answer... near future会有新的update,目前还是只有那个white paper
  • bpel vs. cdl: they are othogonal!!! different aspect(很高兴听到做bpel的人也承认cdl的价值了)
  • bpel and bpmn: vague answer... omg and oasis are two different organizations。目前omg还是只有bpmn到bpel1.1的转换,不支持2.0

据说q&a部分的文本也会放在oasis网站上?迄今还未发现。

以下是对bpel基本知识的复习:(最近不怎么看bpel,有些细节还真的都忘了,这个视频是个很好的复习串讲)

  • wsdl message和xml schema的关系:一个message分为多个part,每个part的类型是一个xml schema.
  • portType里说明本process用到的各个wsdl operation,没有给出任何的role信息,也没说明哪些是本process提供的operation。
  • partnerLinkType包含两个portType,并给这两个portType增加了各自相应的role信息,说明“谁”来提供这些operation。
  • partnerLink里标明了partnerLinkType中的role是“my”还是“partner”,说明本process站在哪一边。
  • receive说明了本process提供的operation是什么。(其实这么理解也不太合适,因为一个process未必就是rpc形式的,比如auctionService可能需要分别从buyer和seller处receive消息,然后再进行处理,最后分别通知buyer和seller)
  • reply里写的operation必需与某个receive对应。(因为可能有多个receive)此时可以理解为RPC响应。

如果你对BPEL感兴趣,请参考我的BPEL和CDL专栏里的更多文章。

评论 (0) 引用 (0)

还没有评论.


Leave a comment

(required)

还没有引用.