2011-04-04 82 views
0

我想知道它是否正確。BPEL:異步/同步模式

模式接收 - 回覆用於同步Web服務。在這種情況下,可以在wsdl文件中定義單個端口。

調用模式確實用於製作異步Web服務。在這種情況下,在wsdl中定義了兩個端口。

所以,我的問題是:是否有可能使用只有答覆活動來創建異步調用?

預先感謝您。

回答

2

我真的不明白你的問題,但是我試圖解釋同步主場迎戰異步BPEL關係,希望它也回答了你的問題:

一)即使是雙向請求 - 響應操作(看起來像一個同步操作)可以綁定到一個異步傳輸協議(如SMTP,JMS,XMPP,AMQP ...)

b)您描述的模式對於傳入的服務調用是正確的,客戶端調用BPEL流程實例。如果您的BPEL流程的WSDL將操作定義爲請求 - 響應,則需要在BPEL中將此模型設置爲接收 - 答覆對。這可以被認爲是一個同步調用(但看到a))。如果由於某種原因,此操作不能綁定到異步傳輸協議,並且出於某種原因(例如,在兩者之間長時間運行的處理),調用必須是異步的,您需要將操作拆分爲兩個單向操作。這意味着該過程現在爲原始請求提供一個操作,並且調用者現在必須爲原始響應提供一個單向操作。這被建模爲BPEL中的接收調用對。兩者都通過合作伙伴鏈接相互關聯。這是異步的,因爲它得到。

單個答覆沒有意義,因爲回覆活動始終與接收活動相連,即它只負責操作的響應部分,不能用於單向操作。如果您想調用外部服務,請使用調用。通過請求 - 響應操作,調用將直接返回結果。如果調用應該是異步的,則使用調用 - 接收對,每個對提供/調用單向操作。

HTH, Tammo