隨著越來越多的企業架構師用新的方法來構建應用,負責基礎工作(應用服務器)的廠商們現在也開始著手對自己的產品進行改造,以適應SOA的要求。
SOA架構主張構建模塊化的、可重用的應用組件,盡量避免出現傳統IT資產中的那些“脆弱”特性。企業也對這種架構非常感興趣。Gartner稱,在過去的兩年啟動的開發工作中,至少有80%都會成為具備服務功能的應用。
為了滿足企業對SOA的需求,Java 2平臺企業版(J2EE)應用服務器廠商BEA、IBM、JBoss和Oracle都開始改變自己原來的做法,將一些原來為可選特性的內容,例如簡單對象訪問協議(SOAP)和消息功能變成標準的產品特性。
JBoss是一家開源中間件廠商。該公司負責產品管理的副總裁Shaun Connolly說,僅僅為用戶提供構建基于服務應用的工具是遠遠不夠的。應用服務器的技術架構也應當具備服務功能,這一點非常重要,因為很多客戶都希望引入或替換EJB容器、Servlets、消息工具和管理特性。他說:“如果企業使用的是單一的方法,那么要想取出其中的一部分內容并使用其他的功能幾乎是不可能的!
為此,JBoss對應用服務器的微內核進行了改造,使其變得更加詳細,這樣客戶在部署Java對象時就會有更多的選擇權。Connolly說,全新的JBoss Microcontainer 1.0將成為JBoss Applition Server 5.0的基礎,后者將在2006年年中正式推向市場。他說:“我們會利用這種更新、更輕巧且面向服務的微容器!
Connolly說,在企業環境中,用戶如果為了實現受資源限制的部署(例如網絡設備)而單獨拿出應用服務器,并且加載到高端群集環境中的話,粒度就顯得非常重要。他說:“惟一可行的辦法就是讓平臺在設計時就采用面向服務的方式!
JBoss Application Server 5.0還將具備Seam 1.0這種特性。這種全新的JBoss組件模型可以對處理應用狀態管理所需要的代碼進行掩蓋,從而簡化編寫復雜Java應用的工作。他說:“它把許多代碼從進程中‘趕’出去。代碼越少就意味著出現Bug的可能性就越低!
Java EE 5
從更大的范圍看,應用的簡單性將是未來Java Platform Enterprise Edition 5(Java EE 5)規范的關鍵內容之一。目前該規范已經接近完成。今年早些時候,Sun發布了Java平臺的全新命名規則,放棄了原來的J2EE 5.0名稱而選用了Java EE 5。目前,應用服務器廠商Oracle和JBoss都開始了Java EE 5的開發工作,并且發布了最新版的EJB組件架構。
Connelly說,在過去,復雜的開發和重型容器的要求都嚴重制約了用戶對EJB的采用,但EJB 3.0是一種輕型設計,編程過程也要容易得多。他指出:“雖然很難說新的設計在多大程度上進行了簡化,但至少從代碼的規模上來說減少了10倍以上!
Blake Connell是BEA公司WebLogic Server產品的營銷經理。他對這一觀點也表示了贊同。他認為:“EJB的缺點之一就是對開發人員的水平要求很高。新版的EJB將會減輕這方面的負擔!
對于BEA來說,最近由于收購了專業Java工具開發商SolarMetric公司及其所謂的持續性引擎,因此BEA在Java EE 5領域取得了迅速進展。對象持續性技術可以幫助開發人員處理關系數據庫和瞬時對象,例如在線購物車或航空公司機票預訂。
Connell說,BEA計劃將SolarMetric的Kodo引擎融合到即將于2006年底發布的下一個主要WebLogic Server版本中。同時,如果開發人員想了解Java EE 5和EJB 3.0的預覽版,也可以下載SolarMetric技術。
另外一家最早投身于EJB 3.0世界的廠商便是Oracle。該公司正在與Sun聯合領導規范的開發工作,并且發布了具備EJB 3.0能力的第一個Oracle Application Server預覽版。Oracle Application Server 10g Release 3將于2006年年中正式上市,屆時該版本將提供內建的Java EE 5和EJB 3.0支持。
JBoss公司也提供了EJB 3.0的預覽版,并計劃在明年發布的JBoss Application Server 5.0中正式提供全面的支持。IBM將在WebSphere Application Server 6.1中開始支持新規范,該版本也將于明年上市銷售。
其他趨勢
J2EE應用服務器廠商關心的另一個重點就是開放源代碼。據Gartner稱,隨著開源J2EE產品的成熟,這類技術已經成為主流企業的長期選擇。
JBoss是開源J2EE領域的先鋒廠商,但該公司正在面臨一些大型廠商越來越激烈的競爭。IBM可以算是最新進入這一市場的大型廠商,該公司于今年5月收購了開源中間件廠商Gluecode Software。
今年10月,IBM宣布了一項計劃,準備推出基于Apache Geronimo的所謂WebSphere Application Server“社區版”。WebSphere Application Server Community Edition(簡稱WASCE)將使用Apache Derby和Apache Geronimo。IBM負責WebSphere 的副總裁Marie Wieck說,這種軟件完全免費,用戶可從IBM現有的WebSphere支持授權中選擇自己需要的部分。
Wieck說,通常情況下,用戶很愿意使用WAS CE開放源代碼應用服務器進行最初的開發工作,然后在生產需求增長時,再將應用移植到具備網絡能力的WebSphere版本上。他說:“它們能夠非常簡單快速地啟動開發工作,而且根本不需要擔心成本模型的問題。如果生產級需求量很大,用戶可以根據情況迅速轉變,采用更為傳統的方式!
在開源方面,BEA制訂了一項名為“混合開放源代碼開發”的戰略。該戰略允許開發人員使用多種開放源代碼和商業產品。BEA計劃將現有的WebLogic Workshop開發工具與該公司從M7那里收購得來的NitroX工具集合并在一起。這種NitroX專門用于創建一種基于Eclipse的集成式開發環境。
開發適合不同行業的定制產品也成了一種新趨勢。BEA推出的WebLogic SIP Server 2.1是一種集成式的J2EE和SIP應用服務器。BEA WebLogic通信平臺產品營銷經理Ken Lee指出,該產品的目標是幫助電信企業加快新型多媒體服務的部署速度。
Lee說:“任何一種新型的SIP應用,無論是IP語音或IP視頻,從根本上來說都需要與HTTP或Web集成在一起。因此,如果開發人員能夠開發出一種獨立、集成式J2EE-SIP平臺,那將是非常有意義的!
Wieck說,IBM也在準備開發一種具備SIP功能的新版WebSphere Application Server,主要針對電信行業。該版本將于明年正式推出。SIP支持將內建于產品之中,而不是簡單地附加在產品之上。她說:“我們將它看作是一種應用服務器的擴展,而非簡單的獨立插件!
BEA的應用服務器小組也在向那些對Java持有謹慎態度的傳統企業發起進攻。Connell說:“BEA的WebLogic Real Time Edition就屬于這一類產品,它主要用于處理非常精確的交易。這類交易通常發生速度都非?,而且需要較高程度的可預測性。根據計劃,該版本將于近期發布!
他說,在過去開發人員對可預測性的要求通常要精確的毫秒一級,例如用于金融企業的交易應用。但是由于Java語言在處理內存管理時存在“天生”的延遲,因此很多企業都會盡量避免采用Java。而通過WebLogic Real Time Edition,BEA成功地創建了一種精確的、可預測的內存管理方法,即使是在那些對時間非常敏感的環境中,它也能讓用戶有效地保證服務水平。
Java EE5架構的關鍵
簡化應用開發是Java EE 5架構中的一個關鍵目標。下面就是該架構所涉及的一些關鍵內容:
■ 升級Enterprise JavaBeans(EJB)組件架構,使EJB的開發工作大大簡化。
■ 持續性API。這種全新的標準API用于實現對象關系映射,這種方法可以按照Java Beans的形式表達數據庫中的數據。
■ JavaServer Faces框架,使得在Java中建設基于Web的用戶界面變得更加容易。
■ 使用注解,使開發人員無需專門去處理某些J2EE部署描述符。