前面簡單介紹了一下BPEL的基本特性,年底了終於有些時間可以積澱一下了,針對前段時間對BPEL的研究,現在主要交流一下目前的主流和開源的BPEL引擎。時至今日,幾乎沒有一個大的軟體廠商不力頂SOA的,而Oracle也是其中一家,在SOA方面的投了大量的資金。
1、Oracle BPEL工具套件是一套比較好的BPEL工具,包括引擎和定製工具以及管理主控台:
Oracle BPEL Process Manager 通過將一系列同步和非同步服務組合到一個端到端 BPEL 流程流中,簡化了基於服務導向架構 (SOA) 開發應用程式的流程。Oracle BPEL Process Manager 為設計、部署和管理 BPEL 商務程序提供了一個開發人員便於使用的可靠的解決方案。 Oracle BPEL Process Manager 包括三個主要組件:
JDeveloper BPEL Designer
:JDeveloper BPEL Designer 擴充了 Oracle JDeveloper 10g 的功能,並支援使用 BPEL 進行商務程序的建模、編輯和設計。它提供了一個圖形化和方便使用的方式構建 BPEL 流程。JDeveloper 使用 BPEL 作為其原生格式,因此構建的流程是可移植的。
Oracle BPEL Process Manager Server
:Oracle BPEL Process Manager 提供了 BPEL 伺服器的一個可伸縮的強健實現。Oracle BPEL Process Manager 執行標準的 BPEL 流程並提供“脫水”功能,因此長期運行流的狀態在資料庫中能夠得以自動維護,從而實現了用於故障切換和延展性的叢集。BPEL Server 利用的是基礎 J2EE 應用伺服器。
Oracle BPEL Console
:Oracle BPEL Console 為管理和調試部署到 BPEL 伺服器上的流程提供了一個基於 Web 的成熟介面。審計跟蹤和流程曆史/報告資訊可通過 BPEL Console 和 Java API 自動維護和提供。 2、IBM的WBI Server FoundationWBI Server Foundation由運行環境和開發環境組成,它的開發環境是WSAD-IE,在WSAD-IE中完成流程開發後,將流程的EAR應用部署到運行環境中。
WBI Server Foundation 的運行環境提供一個高效的J2EE工作流程引擎,它由流程導航(Navigator)、人員互動相關的工作項目管理(WorkItem Management)、工廠(Factory)、內部和外部介面、用戶端(Client)等部分組成。如:
導航器:導航器組件是流程引擎的核心,它管理所有流程執行個體的狀態過渡以及這些流程執行個體中所有活動的狀態過渡。
工作項目管理:Work Item Manager 組件負責在流程引擎的資料庫中建立和刪除工作項目,根據該資料庫分析來自流程參與者的工作項目查詢等。
工廠:工廠組件負責管理流程引擎處理的"物理"狀態資訊,流程相關的資料能夠以下列形式之一被儲存:
- 瞬時儲存在記憶體中,不可中斷的流程要獲得高效率的執行需要這種形式
- 持久儲存在資料庫中,可中斷的流程要獲得持久性需要這種形式
它支援的資料庫包括 DB2、Oracle、Sybase 和 Cloudscape。
外部介面:流程引擎對外提供EJB和JMS兩種介面,由Fa?ade-Session EJB 和 Fa?ade MDB 負責外部介面的同步產生和非同步產生。
用戶端:Server Foundation提供了Web用戶端支援,同時使用者可以利用其API介面開發自己的用戶端。
其他組件:流程引擎包含一個負責產生診斷資訊的跟蹤和記錄組件。
3、BEA Integration
4、開源的主要有
ActiveBPEL引擎的最新版本3.0,完全支援WS-BPEL2.0規範。其包含引擎和定製工具以及控制台。引擎是開源,但是定製工具並非開源。經過對比,此引擎也是目前開源BPEL引擎中不錯的一個。
JbossBPEL 是jBPM的一個子部分,JBoss要進軍SOA,故JbossESB和JbossBPEL為其不可或缺的一部分。JbossBPEL 基於開源的工作流程jBPM開發的,把傳統的工作流程元素作了一個mapping
還有bexee、fivesight-pxe、twister等等,沒有過多的接觸所以不是很瞭解。
累了,今天就寫到這。
對了簡單的對比一下: