Q:什么是 BPEL?
A: BPEL是一門用于自動化業務流程的形式規約語言。 用XML文檔寫入BPEL中的流程能在Web 服務之間以標準化的交互方式得到精心組織。這些流程能夠在任何一個符合BPEL規范的平臺或產品上執行。 所以,通過允許顧客們在各種各樣的創作工具和執行平臺之間移動這些流程,BPEL使得他們保護了他們在流程自動化上的投資。盡管以前想使業務流程定義標準化,但BPEL已經引起了史無前例的興趣,而且它最早在軟件供應商中獲得大量認可。
Q: BPEL、WSBPEL和 BPEL4WS之間的區別是什么?
A: 除了歷史參考文獻不同外,沒有什么其他的不同。這些名字都涉及到相同的未決標準。“BPEL4WS”是起初規范的名字,它由BEA、IBM和Microsoft編寫和公布的。“WSBPEL”目前是規范和未決標準的名稱。當這個規范提交到OASIS時,出于Web服務相關標準的努力,按照OASIS命名方案更換了這個名字。盡管如此,大部分團體仍然簡單地稱這個標準為“BPEL”。
Q: 什么是 BPELJ?
A: BPELJ 是BPEL和Java 語言的組合,它允許一起運用這兩種編程語言來構建完整的業務流程應用程序。通過允許BPEL和Java一起工作, BPELJ使得每種語言可以做它最擅長的事。BPELJ優于BPEL,但沒有它那么有競爭力。
Q:如何把BPELJ和 BPEL聯系起來,它們之間區別在哪里?
A: BPEL基本上向編程發展,它支持業務處理流程的邏輯。這些業務處理流程是獨立的應用程序,這些應用使用Web服務作為實現業務功能的活動。BPEL 不會成為一門通用的編程語言。然而,有人認為BPEL將和用來實現業務功能的其他語言(少部分的編程)結合起來。為了方便BPEL和Java 結合起來,BPELJ對BPEL做了一些小的改動并且做了一些擴展。
Q: BPEL不是針對業務分析員嗎? 如果是,為什么把Java加進來?
A: 有這么一個普遍的誤解,那就是BPEL想達到非程序設計人員或者所謂的“業務分析員”也能使用的程度。這個錯誤的概念部分根源于市場上許多針對于這組用戶的業務流程管理工具這樣的一個事實。無可置疑,工具供應商為構建BPEL和BPELJ流程提供了廣泛的可視化接口,但是語言本身的目的是為了開發人員。
Q: BPELJ如何工作?
A: 通過允許在BPEL流程定義中包含Java代碼段(稱為Java片斷),BPELJ使得Java 和BPEL能夠相互協作。
Q: 難道不應該考慮允許使用任何語言(C#、JavaScript和Java等)來設計代碼片斷嗎?
A: 這個片斷背后想法是有代表性,我們希望它能用于許多不同的語言。然而,要集成BPEL和一門特定的語言包含的不僅僅是用XML包裝目標語言。集成變量綁定、事務管理、調用路徑等問題必須周全地定義,然而,每種語言是用不同的方法解決這些問題,對所有語言進行統一的綁定是不現實的。所以, BPELJ集中解決 BPEL 和 Java的這些集成問題。我們期待著解決其他的語言的集成問題 。
Q: 難道BPELJ 沒違反“ BPEL中活動是Web服務,數據是XML,數據結構用XML架構描述”這一原則嗎?
A: 并不是世界上所有的服務都是Web服務,它們也不應該是。用J2EE更適合緊密耦合的系統,在這種系統中,容器提供的功能如安全和事務是特別有價值的。那些把業務邏輯部署成J2EE組件的人員應該能夠在業務流程中充分利用這些組件,BPEL是描述這個過程最好的一門語言。
一些人爭論說在程序片斷中用Java來完成少量計算和數據操作非常合適,但是應該通過XML/Web服務視圖強制所有服務調用。這是一個特別站不住腳的觀點。如果您有一個用Java代碼片斷寫的流程,很明顯,有一個Java開發人員參與創建這個流程。
這意味著您可能有下面的設想:有一個開發人員熟悉用Java調用組件,他想用Java操縱組件的輸入和輸出。迫使那個人把所有的調用看成好像是調用Web 服務一樣,這會產生一層混亂,阻止考慮業務邏輯。
Q: 這意味著現在用在WebLogic Integration 8.1上的流程定義無效了嗎?
A: 根本不會,BEA 在2003年策劃并倡導了JSR 207,把流程定義(命名為“JPD”)提交給 WebLogic Integration 8.1,并把它作為小組工作的初始基礎。 BEA 和 IBM 已經提交BPELJ 給 JSR 207 工作小組考慮。BPELJ 和 JPD有很多相同的地方,事實上它已經開始詳細設計使得今后JPD能平穩遷移到BPELJ上 。
Q: 如何把BPELJ和 JSR 207聯系起來?
A: BPELJ已經提交給 JSR 207,并建議考慮使用BPELJ作為JSR 工作的基礎。
Q: 這對BPEL意味著什么?它將會作為一個標準分裂出來么? IBM 和 BEA 正在放棄BPEL么?
A: 根本不會。BPELJ是一個完全在BPEL標準的核心思想和意圖之內的延伸。為了提供一個完全的流程設計環境,一直以來都希望BPEL能和其他的語言結合。IBM 和 BEA 都承諾支持BPEL 并且繼續作為OASIS的主要的貢獻者,正在努力達到語言的標準化。
Q: BEA對于BPEL和BPELJ的產品計劃是什么?
A: 對于在2004年春季時間范圍內的WebLogic Integration 8.1,BEA將提供一個BPEL導出工具 ,在下一個重要的WebLogic Integration發布中充分支持最終BPEL標準。 BEA 也在下一個重要的WebLogic Integration發布中對BPELJ提供充分的支持。
Q: 如果我現在用WebLogic Integration 8.1會怎樣呢?我能遷移到BPELJ嗎?
A: 是的,在下一個重要的WebLogic Integration 發布中, BEA將為從JPD自動遷移到BPEL/BPELJ上提供工具。
原文出處:http://dev2dev.bea.com/technologies/bpel/bpel_faq.jsp