基於狀態的工作流管理系統(wfms)和可執行的業務流程語言(
bpel
)之間主要的差別有如下三點:
1、面向訊息(message oriented) vs 基於狀態(stated based):基於狀態的wmfs系統主要對圖元(activity)狀態的變遷管理,
工作流引擎維護和計算活動之間的轉移條件。而
bpel
則是由乙個訊息激發流程的建立和執行,
bpel
流程內部每個service都會被乙個onmessage訊息上配置的event handler觸發,等到執行了event handler事件後會產生下乙個活動執行的onmessage訊息源,同時觸發下乙個活動執行。
2、流程例項id vs 訊息相關性:基於狀態的wfms系統會在建立流程例項時為每個例項產生乙個唯一id標示。客戶端可以通過引擎提供的相關api呼叫這個流程例項執行、停止、掛起。
bpel則是用一組唯一標示的訊息來確定要建立的流程例項是哪個,這個唯一標示的訊息用correlation(相關性)包裝起來,其中定義了訊息的名稱,訊息個數,訊息的型別。
bpel
引擎會自定的匹配這組訊息到乙個流程定義的receive活動上,最後建立乙個新的流程例項。
3、工作流引擎api vs 抽象服務埠:要執行乙個xpdl的工作流檔案必須要用工作流引擎提供的一組api去呼叫,以便管理控制、執行和訪問流程例項。例如:啟動乙個流程例項必須要告訴流程定義的名稱。
而bpel
則是做為乙個服務暴露給外部呼叫,用的是面向服務(service oriented)的概念,例如呼叫乙個bpel需要告訴激發bpel的訊息相關性和業務夥伴是誰。相關性和業務夥伴分別是用wsdl描述的訊息和服務,bpel內部呼叫的最終是乙個web service。
BPEL對工作流模式的支援
bpel支援了21個工作流模式中的14個 基本模式 5 個 順序模式 按照順序執行各項活動 並行分支模式 同時執行兩個活動 同步模式 同步兩個並行的執行執行緒 單選模式 從多條路徑中選擇乙個執行 簡單合併模式 合併兩個二選一路徑 高階分支與同步模式 2個 多選模式 從多條執行路徑中選出幾條 同步合併...
bpel和工作流的三個主要區別
bpel和工作流的三個主要區別 基於狀態的工作流管理系統 wfms 和可執行的業務流程語言 bpel 之間主要的差別有如下三點 1 面向訊息 message oriented vs 基於狀態 stated based 基於狀態的wmfs系統主要對圖元 activity 狀態的變遷管理,工作流引擎維護...
工作流領域開始出現開源的BPEL引擎
activebpel組織是乙個主導activebpel引擎技術的開源組織.activebpel引擎是乙個健壯的執行時環境,它能執行使用者按bpwl4ws規範編寫的業務流程.bpwl4ws規範由microsoft,bea,ibm等公司提出,它基於web service實現,與現在的多個流行的工作流技術...