隨著越來越多的企業架構師用新的方法來構建應用,負責基礎工作(應用服務器)的廠商們現在也開始著手對自己的產品進行改造,以適應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 application 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中開始支持新規范,該版本也將于明年上市銷售。
今年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的開發工作大大簡化。