Sun Microsystems公司SOA產品的執行官Kevin Schmidt,回答了一些關於SOA關於Java EE 5平台SOA能力的問題。
那些批評者認為,對於網頁開發人員和SOA設計者Java EE 5平台過於複雜,但事實並不是這樣。在這個問答中第一部分,Kevin Schmidt(Sun Microsystems公司SOA產品的執行官)談了Java EE 5平台給SOA開發人員帶來的便利。在第二部分中,他回答了一些針對平台的批評。
批評者認為,Java EE 5引入的複雜性比減少的還多。在這個平台中,減少了哪些複雜性,同時那些部分依舊複雜?
Kevin Schmidt:在EJB方面,有些顯著的改進,EJB3.0及注釋都起到了簡化的作用。NetBean可以使建立元素更簡便。NetBean提供了各種不同設計類型和求解器,可以讓只要想建立哪種元素,通過註解,工具可以協助你在建立模版中簡化編寫代碼和邏輯,從而不用去瞭解說名中細節。工具可以建立servlets、JSP和網頁應用軟體。
注釋對Web服務發展有哪些好處?
Schmidt:注釋可以讓你在源檔案中指定各種建立應用軟體需要的中繼資料。在過去,使用者必須知道許多細節,並用描述符去定義整個應用軟體中的中繼資料。注釋可以讓你在明確的指導下區指定源檔案中的中繼資料,從而你不必要去擔心過多的細節。注釋可以在明確的指導下為你提供關鍵字和結構去定義資訊,同時工具可以幫你自動產生注釋。因而,開發人員也不必知道所有的需要輸入的注釋。我們提供它們,但它們也可以根據需要去進行改動。注釋和工具可以簡化開發人員開發過程。
你是如何看待Ruby和Spring在服務指向設計和發展中的價值?
Schmidt:許多人都看到了它們價值,很多開發人員使用它們,也說明了它們的價值。它們提供了一種不同的方式,一些這些可以減少工作量。所以它們還是有價值的。但是,我還是認為Java EE站著重要的地位,相比較其它語言相比,要工作的更好。
在Java EE 5中,由虛擬機器啟用的便攜性被一些分析家認為是一種災難,認為它對SOA中央介面沒有一點用途,因為它不需要便攜。你認為在未來新一輪的平台中,便攜性不再被強調,還是依舊是IT基礎構造中一個重要的概念?
Schmidt:我認為便攜性是一個很重要的概念。它是規範的一個基礎。便攜性可以讓更多的買主去執行規範,通過競爭給顧客更多的選擇性,為社會和顧客創造出更好的產品。便攜性和標準是一致的,標準是Java EE中的基礎。
企業SOA和傳統的網頁設計有什麼重要的不同,Java EE 5又是如何支援這些不用點的?
Schmidt:談到企業,由於企業本身的性質特點要求Java EE 5平台具有存貯器、轉移大量資料的效能。傳統地,企業要求保密性,易管理,和對服務和資源的管理。這些正是Java EE 5所能夠給企業提供的非常重要的一點。
Java EE 5的Web服務是不是太過於API中心化了?
Schmidt:當用JAX-WS時,通過Java EE 5建立的服務可以輕鬆的和用其它技術和語言建立的服務相聯結。相對其它語言,Java EE 5並沒有引入苛刻的聯結條件。你的服務只和你如何定義WSDL、服務制訂的精細程度和在服務中你所用的定義介面的結構有關係。所以,是否容易聯結和Java EE 5本身並無關係。
另一方面,有人倡導使用Ruby和Rails。是要把它們併入到Java EE 5中發展,還是讓它們各行其道?
Schmidt:當然,我們可以將它們併入到各個API水平中,或者潛在的網路使用中,或更為友好的介面中。可能是會有辦法將這兩塊聯絡在一起的。
你曾經多次提及Glassfish,現在Glassfish進展如何?
Schmidt: 有許多關於Glassfish的行動。10月30號對Java EE5 DSK進行了更新。這是今年早些時候在JavaOne上發布的一次更新。這個更新提供了改善的效能和穩定性。我們所做的最重要的事就是一個關於JBI已耗用時間和BPEL服務引擎的一個發布。Java EE 5 SDK的另一次更新將會增加JBI服務引擎和綁定成分。我們現在還沒有更具體的細節,但是我們致力於將Java EE 5模組化,便於人們去使用它的各個部分。
你們回去Tango進行更新嗎?
Schmidt:我們在JAX-WS項目、協同工作能力以及對WS-star規範的支援上仍在進行著工作。同時,和.NET網路服務及其它技術協同工作能力的研究也在進行中。
除了.NET以外,你們還關注那些技術和工具?
Schmidt: 當然,AXIS(Apache項目),也是相當常用的。它用做WebSphere和WebLogic建立網路服務和SOA應用軟體的的基礎。
綜合起來,Java EE 5為SOA的開發提供了什麼樣的能力?
Schmidt:Java EE 5確實提供了建立服務和應用軟體的能力。我知道,公司希望將一些其它的語言拿來進行協同編程。在Java EE 5中JBI引擎中,我們提供了和其它語言的統一介面,從而可以去編寫更大的應用軟體,平衡Java EE和其它語言,將它們放到最恰當的地方。