BPEL 交互模式总结 【SOA教程 摘录+整理】
1. One-Way Message
左边调用方的BPEL定义中只有Invoke Activity。
右边被调用方的 BPEL定义中只有Receive Activity。

2. Synchronous Interaction
左边调用方的BPEL定义中只有Invoke Activity。
右边被调用方的 BPEL定义中使用Receive Activity接收请求,使用Reply Activity发送响应。
被调用方的 BPEL定义是一个同步的BPEL,所以只要看到 Receive + Reply Activity就知道这是一个同步的BPEL。

3. Asynchronous Interaction
左边调用方的BPEL定义中使用Invoke Activity发送请求,使用Receive Activity接收响应。
右边被调用方的 BPEL定义中使用Receive Activity接收请求,使用Invoke Activity发送响应。
被调用方的 BPEL定义是一个异步的BPEL,所以只要看到 Receive + Invoke Activity就知道这是一个异步的BPEL。
同时,调用方的BPEL定义让我们知道调用一个异步的BPEL所要用到的Activity。

4. Asynchronous Interaction with Timeout
如果调用异步的BPEL,但响应迟迟没有回来怎么办?
这时,我们可以使用Pick Activity + 分支onMessage 和onAlarm。
如果在onAlarm规定的时间内响应回来了,则走onMessage分支;
如果在onAlarm规定的时间内响应依然没有回来,则走onAlarm 分支,放弃等待响应。

5. Asynchronous Interaction with a Notification Timer
如果调用异步的BPEL,响应迟迟没有回来,但由于响应很重要,所以必须要继续等,这时有什么好办法通知管理员?
这时,我们可以使用Scope Activity(其中包括Invoke Activity和Receive Activity)+ onAlarm。
如果在onAlarm规定的时间内响应回来了,则Receive Activity 接收响应;
如果在onAlarm规定的时间内响应依然没有回来,则执行onAlarm 分支,然后继续等待响应。

6. One Request, Multiple Responses

7. One Request, One of Two Possible Responses

8. One Request, a Mandatory Response, and an Optional Response

9. Partial Processing

10. Multiple Application Interactions

本文来源 我爱IT技术网 http://www.52ij.com/jishu/45810.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
