在Web Services應用中扮演樞紐角色 

跨平台互通優點  獲軟體大廠肯定

BPEL--網路服務商業流程(Business Process Execution Language),最初叫做BPEL4WS(Business Process Execution Language for Web Services,網頁服務商業程序執行語言),是一種以XML來描述企業內部流程的語言,使原本建立在不同產品上的商業流程也能像網路服務般可以跨平台互通。BPEL主要是由微軟、IBM、以及BEA共同合作開發的,而這些大廠也相繼在其商業流程軟體中以行動支援BPEL,如微軟所推出的Biztalk Server 2004就已開始支援這個標準;此外,IBM也將BPEL的支援列為Websphere未來的工作重點。
儘管微軟與IBM都各自推出自己的流程標準語言XLANG與WSFL(Web Services Flow Language),但在2002年,兩家大廠合作共同推出新規格 BPEL,並向 OASIS (Organization for the Advancement of Structured Information Standards)標準組織提出提案報告,也獲得OASIS認可。而WfMC在義大利舉行的技術大會中,與會廠商談論的焦點也從BPMN(Business Process Modeling Notation by BPMI,商業流程塑模表示法)轉移到BPEL。SAP和 Intalio也決定支援OASIS的BPEL,同時包括Siebel在內的20幾家廠商也計畫採納BPEL。此外,甲骨文也在去年的Java One中發表了以BPEL為基礎的流程模型化工具(Modeling Tool)及工作流程自動化軟體。
BPEL語言雖獲得許多軟體大廠的支持,但是商業流程廠商卻對這個語言抱持觀望態度。Ultimus執行長Rashid Khan就表示,工作流程牽涉的是人與人之間的事務,要能讓非IT人員都能很容易操作、使用,但是,BPEL太過艱澀,要讓業務、人事等人員使用是不太可能。他更明白指出,流程標準跨公司使用的適用性問題,因為「沒有人可以標準化所有的流程」,且流程只適合某一家特定的公司;如A公司的流程不可能拿去套用在B公司。

BPEL流程要素

  • 合作伙伴連結(Partner Link):包含端口類型(PortType),操作(Operation)和消息(Message)。
  • 活動(Activity):包含基本活動和結構活動。
  • 控制連結(Control Link):決定內部活動執行流程。
  • 變量(Variable):定義流程中的數據。
  • 相關關係集合(Correlation Set):當流程進行外部非同步調用時,相關關係集合是將調用的回應和調用請求進行唯一性關聯的手段。
  • 錯誤處理器(Fault Handler):在流程運行 過程中,可能會發生各種錯誤,可以利用錯誤處理器來進行錯誤處理。

BPEL將是BPM和SOA的黏著劑

對BPM系統來說,BPEL提供了跨BPM流程引擎的共通流程執行語言,而BPEL的Web Services的基礎特性,讓導入BPM系統的企業,能很容易邁向建立SOA的IT架構;另一方面,對SOA平台架構提供者而言,BPEL提供了共通的Orchestration各個服務的執行語言,提供組合各式服務(Services)成為新服務(Complex Service)的準則。
由於WSFL和XLANG原先都是專注在流程自動化的標準,目前衍生出來的BPEL,較忽略人員的工作流程(Human Workflow)的支援。因此,BPEL在強化SOA的執行方面有直接的效益,但在強調以BPEL為基礎的BPM系統,在組織(Organization)和工作指派(Job Assignment)的彈性上則非常不足,或許為了彌補Workflow的不足之處,因而在標準的BPEL定義之上做其專有的擴充,讓BPEL跨流程引擎(Cross Process Engines)的好處變得無法實現。

  • BPEL最適合完成的任務類型
  • 描述業務流程邏輯
  • 維護多個可以被中斷的長時間執行單元
  • 在發生故障的情況下,有選擇地補償長時
  • 間執行單元的已完成活動
  • 恢復由於錯誤而遺漏的任務,將任務的重
  • 執行率降至最低
  • 在正確流程內將輸入訊息路由到正確地點
  • 接受多種可能的預料輸入訊息類型中的一種
  • 定義一系列在指定時間、按照預定順序發生的活動
  • 向Web服務發送訊息
  • 向Web服務發送訊息

BPEL身為標準的Web Services協調語言,將在Web Services技術的廣泛應用之中,扮演樞鈕角色。Web Services提供應用程式之間傳訊,以及在非結合性網路中方法呼叫的方法論,它們本身無法滿足營運流程的操作需求,這些流程的反應應如同偶發及有順序的活動,其執行則能適時產生可預測及可重複的結果。如果BPEL應用於BPM環境,並獲得該環境的支援,就能使Web Services符合這些標準。BPEL在Visio、Visual Studio.Net、及BizTalk Server內的結合執行是關鍵性的一大步,使得BPM與Web Services技術成為下一代商業流程的基礎。參考
  Taiwan.CNET.com : 企業應用: 名家專欄: 誰來一統BPM江湖?
  WBI Server Foundation學習筆記: 第一部分
  e-works >文庫> 新興技術>BPM >業務流程執行語言BPEL標準化流程管理
  E-Business Server