BPEL BPMN聽起來差不多,其實還真就差不多,但是也還是存在一些差別的。
BPEL, Business Process Execution Language, 顧名思義,這是一門語言。BPEL是一種基於XML的,用來描寫業務過程的編程語言。但是這門語言不是為了人機交互,而是為了描述web服務間的通信過程。BPEL的作用是將一組現有的服務組合起來,從而定義一個新的web服務。因此,BPEL基本上是一種實現中組合的語言。通俗來說,我們使用BPEL來描述和執行BPEL。 BPEL將服務組合成大型化的復雜服務,實現控制流,異步協作,事務支持等等功能。
BPEL用來具體描述一個服務內部,信息如何被輸入,執行並且輸出。注意這里不同於WSDL,不是一個黑盒過程,不是僅僅關注服務的輸入和輸出,也關注了服務內部的具體操作如何被執行。
BPMN,Business Process Model and Notation,是一套圖形化的標准方法,你可以把它理解成一種專用的流程圖,用以業務流程建模與詳細說明業務流程。提供一套既直觀又能表現復雜流程語義的標記法,使各種業務開發者(創造與梳理流程的業務分析師、負責實施流程的技術開發者管理和監督流程的經理人、使用流程的用戶)易於理解之。從創建流程輪廓的業務分析到這些流程的實現,直到最終的用戶監控。
BPEL本身沒有定義描寫過程模型的圖像表達,但是BMPN標准可以用來描寫BPEL的模型。