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