bpel和工作流的三個主要區別
基于狀態的工作流管理系統(WFMS)和可執行的業務流程語言(
BPEL
)之間主要的差別有如下三點:
1、面向消息(message oriented) VS 基于狀態(stated based):
WMFS : 基于狀態的WMFS系統主要對圖元(Activity)狀態的變遷管理,工作流引擎維護和計算活動之間的轉移條件。
BPEL : 而 BPEL 則是由一個消息激發流程的創建和運行, BPEL 流程內部每個Service都會被一個onMessage消息上配置的event handler觸發,等到執行了event handler事件后會產生下一個活動執行的onMessage消息源,同時觸發下一個活動執行。
2、流程實例ID VS 消息相關性:
WMFS : 基于狀態的WFMS系統會在創建流程實例時為每個實例產生一個唯一ID標示。客戶端可以通過引擎提供的相關API調用這個流程實例執行、停止、掛起。
BPEL : BPEl則是用一組唯一標示的消息來確定要創建的流程實例是哪個,這個唯一標示的消息用correlation(相關性)包裝起來,其中定義了消息的名稱,消息個數,消息的類型。 BPEL 引擎會自定的匹配這組消息到一個流程定義的receive活動上,最后創建一個新的流程實例。
3、工作流引擎API VS 抽象服務端口:
WMFS : 要執行一個XPDL的工作流文件必須要用工作流引擎提供的一組API去調用,以便管理控制、執行和訪問流程實例。例如:啟動一個流程實例必須要告訴流程定義的名稱。
BPEL : 而 BPEL 則是做為一個服務暴露給外部調用,用的是面向服務(service oriented)的概念,例如調用一個bpel需要告訴激發bpel的消息相關性和業務伙伴是誰。相關性和業務伙伴分別是用WSDL描述的消息和服務,bpel內部調用的最終是一個Web Service。
1、面向消息(message oriented) VS 基于狀態(stated based):
WMFS : 基于狀態的WMFS系統主要對圖元(Activity)狀態的變遷管理,工作流引擎維護和計算活動之間的轉移條件。
BPEL : 而 BPEL 則是由一個消息激發流程的創建和運行, BPEL 流程內部每個Service都會被一個onMessage消息上配置的event handler觸發,等到執行了event handler事件后會產生下一個活動執行的onMessage消息源,同時觸發下一個活動執行。
2、流程實例ID VS 消息相關性:
WMFS : 基于狀態的WFMS系統會在創建流程實例時為每個實例產生一個唯一ID標示。客戶端可以通過引擎提供的相關API調用這個流程實例執行、停止、掛起。
BPEL : BPEl則是用一組唯一標示的消息來確定要創建的流程實例是哪個,這個唯一標示的消息用correlation(相關性)包裝起來,其中定義了消息的名稱,消息個數,消息的類型。 BPEL 引擎會自定的匹配這組消息到一個流程定義的receive活動上,最后創建一個新的流程實例。
3、工作流引擎API VS 抽象服務端口:
WMFS : 要執行一個XPDL的工作流文件必須要用工作流引擎提供的一組API去調用,以便管理控制、執行和訪問流程實例。例如:啟動一個流程實例必須要告訴流程定義的名稱。
BPEL : 而 BPEL 則是做為一個服務暴露給外部調用,用的是面向服務(service oriented)的概念,例如調用一個bpel需要告訴激發bpel的消息相關性和業務伙伴是誰。相關性和業務伙伴分別是用WSDL描述的消息和服務,bpel內部調用的最終是一個Web Service。
posted on 2006-12-03 07:38 BPM 閱讀(566) 評論(0) 編輯 收藏 所屬分類: BPEL