跳至內容

「BPEL」:修訂間差異

出自Taiwan Tongues 台語維基
TaiwanTonguesApiRobot留言 | 貢獻
從 JSON 檔案批量匯入
 
(無差異)

於 2025年8月24日 (日) 11:13 的最新修訂

BPEL(發音為'bipple'抑是'bee-pell')是 Business Process Execution Language 的縮寫,意為業務過程執行語言,是一種基於 XML 的,用來描寫業務過程的程式語言,予人描寫的業務過程每一个孤一步由 Web 服務來實現。

二空空二年 IBM、BEA 佮微軟仔做伙開發佮引入 BPEL 做協調 Web 服務的語言。這个描寫的本身嘛由 Web 服務提供,並會當做 Web 服務來使用。

通過 BPEL 會當描寫一个參加一个 Web 服務過程的 Web 服務的接口,比如信息需要按照怎樣的順序被輸入,猶毋過 BPEL 無法度通來描寫一个業務的過程的調諧。

綜合

WS-BPEL 原名 BPEL 四 WS,是因為 WSDL 建立的,除 WSDL 外伊閣使用 XML 模式定義、XPath 和 WS-Addressing 等標準。

BPEL 共這微軟的 Xlang 佮 IBM 的 WSFL 共接著做伙。

BPEL 的目的佇大規模編程,值得注意的是 BPEL 無直接支持人機對話,BPEL 所描寫的過程干焦佮 Web 服務通批,啊若遮的 Web 服務煞會當提供佮用戶的信息交換,但是𪜶毋是用戶本身。

BPEL 本身提供一个基礎,佇這个基礎頂面會當發展支撐新的應用的「柱仔」。 比如講佇 BPEL 本身的裝置內底就已經包括矣「抽象業務過程」和「通執行業務過程」。 其他的支柱包括 BPELJ([一])和 BPEL 四 People([二])。

BPELJ 的目標是佇咧將跤 Java 語言敆做伙 BPEL 中來加速其操作的過程,缺點是伊佮 Java 有關係,袂用得無 Java 運行。IBM 和 SAP 公司做伙發表矣一份號做 BPEL 四 people 的白皮書,其目的是將 BPEL 擴展做會當直接佮人交換批息。

BPEL 使用這塊狀結構,佇定義局部環境的時陣會當定義適用佇這个環境範圍內底的變數 ( 變數 )。另外故障處理、補償處理佮事故處理嘛會當佮局部環境相連紲。

BPEL 本身無定義描寫過程模型的圖樣表達,猶毋過 BPMN 彼標準會當用來描寫 BPEL 的模型。

抽象的佮可執行的過程

執行的過程是一个會當佇一个計算機頂懸執行的過程。抽象過程是用來描述一个過程的反應的。伊予用佇一个會當執行的過程的表面來將這个過程的內部行為掩崁起來無愛予業務的對象看著。

下級過程

BPEL 本身無對下級過程的定義,所以假使一个主過程就按呢結束,欲結束其下級過程無總是會用得。迵過專門咧使用一个起這个作用的 Web 服務會當達到這个目的,但是這个解決的方法佇咧 BPEL 的標準內底並無講著。

IBM 和 SAP 公司發表一个名為《WS-BPEL 二孵空,下級過程延展》的白皮書([三])來討論共 BPEL 延展為會當控制下級過程的問題。

發展狀況

目前的版本是二交零,這个版本是 OASIS 佇二空空七年四月十一推出的。

語言組成部份

基本活動,這是上基礎的,也就是講無因為其他活動的活動:

  • assign—— 足值的
  • invoke—— 仝步抑是非同步咧呼叫一个 Web 服務
  • receive / reply—— 提供一个同步或者是非同步呼叫一个 Web 服務的接口
  • throw—— 提示一个錯誤,一个故障處理會當處理按呢的錯誤。假使一个錯誤無去予人處理伊最終達到上懸層了後致使過程的終止
  • wait—— 等候一个時機抑是有一段時間
  • empty—— 無所事,比如講佇一个錯誤發生了後會使無做反應來消除這个錯誤結構性活動,遮的活動包括其他的活動,會當遮爾建立複雜的過程:
  • sequence—— 按照一个序列處理系列活動
  • while—— 佇一个條件滿足的情形下處理一个活動
  • switch—— 照無仝條件處理無仝款的活動
  • flow—— 平行或者是按照隨意順序處理活動
  • pick—— 照外部的事件佇過程的角度無定值的選擇

scopes—— 使用這結構乎會當共這組活動組織做伙做伙做為一个處理單位。通過這个組織的方法濟个活動會當使用仝一个故障處理、事故處理佮補償處理。通過補償處理 BPEL 會當處理長時間的處理。

BPEL ia̋n-jín

使用 BPEL ia̋n-jín 會當執行 BPEL 程序。

  • Oracle BPEL Process Manager—— 甲骨文公司的 BPEL 標準的執行,帶有 JDeveloper 和 Eclipse 的圖像式模型佮調配工具
  • Twister—— 一个開放原始碼的 BPEL 標準的執行,支持向服務架構佮人機界面,現名 Agila
  • ActiveBPEL—— 一个開放原始碼的 BPEL 四 WS 一孵一的執行
  • BPWS 四 J—— IBM 的 BPEL 執行
  • Apache ODE—— Apache ODE ia̋n-jín(閣支持 versioning)
  • RiftSaw—— 是因為 ODE,並針對 JBOSS Server 優化的 BPEL ia̋n-jín

參見

  • BPEL 四 People