對于網絡服務來說,業務處理執行語言就是基于xml的語言(BPEL4WS,通常縮寫為BPEL,讀音與“people”類似),設計目標是為多個企業之間使用網絡服務的組合實現分布計算或者網格計算環境激活共享任務。業務處理執行語言是來自BEA系統公司、IBM和微軟公司的開發人員編寫的。業務處理執行語言結合了并且替換了IBM的WebServices Flow Language (WSFL)和微軟公司的XLANG規范。使用業務處理執行語言,程序員在形式上描述了一種發生在網絡上的業務處理,其方式為任何互操作的實體都可以按照同樣的方式執行一個或者多個處理中的步驟。在供給鏈處理中,例如,業務處理執行語言程序描述了一個業務協議,這個協議將構成產品訂單的信息片斷形式化,并且處理出現的異常情況。然而,業務處理執行語言程序不會指定某個特定的網絡服務應該在內部以什么樣的方式處理某個特定的訂單。 業務處理執行語言服務器 有幾種業務處理執行語言服務器可用。Oracle的業務處理執行語言處理治理器就是可獲得的頂級服務器之一。
ActiveBPEL引擎
IBM的BPEL4WS編輯器和java運行時
Oracle的BPEL PRocess Manager
微軟的 BizTalk Server 2004
其他的BPEL服務器
Oracle的BPEL Process Manager Oracle的BPEL Process Manager是一組非常輕易理解,并且很輕易使用的組件,可以用于創建、部署和治理BPEL業務處理。Oracle的BPEL Process Manager是一個集成到JDeveloper中的GUI開發工具。 Oracle的BPEL Process Manager體系結構 Oracle的BPEL Process Manager體系結構包含了一個設計器、處理治理器和控制面板。Oracle的BPEL Process Designer可以讓你建模、編輯和設計處理。集成服務讓你進行轉換。包含了許多對于各種各樣的源的適配器。核心的BPEL引擎支持BPEL標準,并且可以運行在各種語言程序服務器上。 支持的適配器 Oracle 的BPEL Process Manager讓你可以通過它的適配器連接到數據源。這里是一些適配器的列表:
文件適配器
FTP適配器
Oracle的高級隊列
數據庫適配器
JMS適配器
Oracle的應用程序適配器
數據轉換服務 Oracle 的BPEL Process Manager有一個內建的轉換器組件。它在轉換中使用了如下的標準:
假如你計劃實現業務處理執行語言,你需要公布服務。網絡服務是業務處理執行語言中的要害組件。這個服務需要通過UDDI注冊,并且通過WSDL進行描述來進行公布。一旦服務公布了,你可以在你自己的業務處理流程中把它們包括進來。網絡服務可以被調用(對網絡服務的請求)。網絡服務將會響應你的請求。就像你需要為某些數據轉換進行計劃一樣。你需要計劃如何處理異常情況。處理不會自動完成,所以你需要合并一些用戶任務。要監控這些過程,你需要傳感器。傳感器可以發送通過業務活動監控器(BAM)報告的狀態消息。Oracle的BPEL Process Manager可以幫助你所有這些步驟。GUI設計工具使用簡單的拖拽來定義處理流程。要概括這些步驟,你需要:
發布服務(通過注冊)
調用處理流程
執行數據轉換
治理異常處理
包括用戶人物
在處理流程中放置傳感器
監控過程
值得注重的語錄 Steve Brown是Metastorm的首席技術官:“假如說你正在構建一個應用程序,但是它使用的一些應用程序是它們自己的網絡服務。你絕對會需要以一種靈活的組織所有這些網絡服務的方式,確保它們都以正確的順序執行,并且確保進行了檢查和平衡。這就是BPEL4WS的目標領域。” Tom Siebel是Siebel系統公司的主席和首席執行官:“業務處理計算的緊急情況意味著日期的臨近,單片電路的應用程序套件以及所有權綜合解決方案都過去了。業務處理計算,基于開放的標準,將會讓企業從某個供給商私有的體系結構中解脫出來。擁有了網絡服務,應用程序功能性變得分解,每個可獲得的功能都可以作為一項被任何其他應用程序或者網絡上的服務在任何時間、任何地點訪問(或者被消耗)的服務。” Adam Bosworth是BEA負責工程的副總裁:“Alan Kay可能說過,單個的事物市簡單的,困難的事物是可能的。這就是我過去25年里面對大多數軟件產品的軟件開發經驗,簡單的事物應該被公布并且/或者可見,困難的事情應該被程序化。聲明語言有一種很不幸的轉移趨勢,因為人們需要做那些困難的事情。當它們以這種方式成長的時候,不僅僅是大多數的人不能使用這些新的特性,他們還發現整個語言都更加令人畏縮。” 小結什么是業務處理執行語言? 業務處理執行語言是一種為了指定基于網絡服務的業務處理行為的符號。它組織了業務處理。