展望09年Java相關(guān)技術(shù)的興衰
對于2009年Java相關(guān)技術(shù)的變化,在這一點上,它與JavaOne大會給人的感覺非常類似,其中第一年充滿了規(guī)范、標準和新框架,緊隨之后的第二年就是規(guī)范的落實和前一年標準的成熟。在本篇文章中,我所提到的技術(shù)并不一定都是最新的,但是它一定是將被應(yīng)用到現(xiàn)實開發(fā)中的。為了讓文章更生動有趣一點,我不僅僅會列出我認為會日漸重要的技術(shù),還將列出那些我認為將逐漸衰落的技術(shù)。
日漸重要的技術(shù)
1.Java內(nèi)容倉庫(JCR)
我認為,2008年是Java內(nèi)容倉庫技術(shù)在規(guī)范上取得成功的一年,而在2009年則將是它被廣泛采用的一年。Jackrabbit是其中非常成功的一個實現(xiàn)。盡管在某些地方數(shù)據(jù)庫可能更加符合要求,不過我發(fā)現(xiàn)目前在越來越多地方,倉庫或許更加適合。最初的時候,Web內(nèi)容管理系統(tǒng)似乎是唯一最適合Java內(nèi)容倉庫的領(lǐng)域,但是我認為這一情形將在2009得以改變。
另外,我將來可能會對使用諸如db4o之類的對象數(shù)據(jù)庫更有興趣。我認為對象數(shù)據(jù)庫和倉庫之間有一些類似之處,因此對象數(shù)據(jù)庫如果日漸重要,也不是一件令人吃驚的事情。既然我們現(xiàn)在都在使用面向?qū)ο缶幊陶Z言,為什么就不能使用一個對象數(shù)據(jù)庫呢?
2.Flex
從一個開發(fā)者的角度來看,F(xiàn)lex在2008年已經(jīng)變成一個重要的備選工具,但是它似乎還缺少一些來自企業(yè)用戶的支持。我認為這個不足將在2009年得以彌補。
隨著企業(yè)越來越接受富互聯(lián)網(wǎng)應(yīng)用(RIA)這個概念,它們也會發(fā)現(xiàn)Flex才是唯一真正切實可行的解決方案。就我個人來言,我更喜歡使用Flex來開發(fā)未來所有的Web應(yīng)用。它與AIR聯(lián)合使用可以離線運行Web應(yīng)用,這無疑是錦上添花的一個功能。我一直感覺在桌面應(yīng)用和基于瀏覽器的Web應(yīng)用之間存在一段距離。事實證明,AIR彌補了這個空白。
最后,我非常喜歡它的完全將業(yè)務(wù)層與展現(xiàn)層分開的特點。這是RESTful服務(wù)的成功之處,而Flex對這一點可以很好的支持。那么,我們可以想創(chuàng)建多少客戶端都可以,而不用管它們是使用Flex、Silverlight或傳統(tǒng)的AJAX技術(shù)。
3.RESTful服務(wù)
當(dāng)然這不是一個新技術(shù),但是隨著JAX-RS的發(fā)布,我認為在2009年企業(yè)將開始開發(fā)越來越多的RESTful風(fēng)格的服務(wù)。
在2008年,SOAP網(wǎng)絡(luò)服務(wù)和RESTful服務(wù)的比例大約是70:30或60:40,顯然SOAP服務(wù)占據(jù)優(yōu)勢。但是我認為在2009年兩者之間的比例將反過來。我甚至認為RESTful服務(wù)將實現(xiàn)更大的突破。
熱議技術(shù):云計算,軟件即服務(wù)(SaaS)
眾多IT巨頭已經(jīng)紛紛進軍云計算領(lǐng)域,云計算的出現(xiàn),恰好解決了SaaS發(fā)展過程中面臨的一些問題,當(dāng)SaaS提供商的客戶快速增加到一定程度,客戶所消耗的巨大資源將迫使SaaS供應(yīng)商提供更多的硬件資源,但由于成本的問題,SaaS又不想花費大量資金購買硬件或帶寬資源的時候,云計算無疑是個不錯的選擇。
窮途末路的技術(shù)
1.ESB的衰落
坦白的說,我已經(jīng)徹底對失去了對“SOA需要ESB”說法的信心。我只在一個項目(使用Mule ESB)中感覺這個說法言之有理,我們具有需要同步的多個完全不同應(yīng)用(數(shù)據(jù)庫、命令行、服務(wù)),Mule ESB證明了自己是這個問題的最完美解決方案。在其它項目中,我看到企業(yè)只是簡單的使用一個ESB來代理/路由/監(jiān)控服務(wù)請求。但是我可以使用Apache來完成這些任務(wù)。
而且,SOAP只是企業(yè)整合的途徑之一,但并非唯一途徑。另外,如果人們甚至沒有任何企業(yè)整合需求時,又有多少人會實施SOA呢?
2.Web框架/AJAX的下滑
我曾經(jīng)認為所有這些Web框架都是好東西,我喜歡嘗試新產(chǎn)品,我喜歡具有創(chuàng)新性的事物。但是現(xiàn)在它們卻讓我感到厭煩。
先來說一下AJAX,的確你可以使用它來做出許多非常酷的東西,但是這些是否是你想要或真正需要的呢?很明顯,人們沒有從需要的角度來考慮其能實現(xiàn)什么功能,而只是為了實現(xiàn)這個功能而使用這個功能。不過我認為,如果你不能放棄你喜愛的Web框架,那你將不得不繼續(xù)使用AJAX。
3.復(fù)雜的“組合”
這是Web框架下滑的一種延伸影響。我對到處充滿各種“組合”的過去記憶深刻,我們有Hibernate、Struts和Spring。然后我們必須增加一個安全框架和Web服務(wù)客戶端,諸如此類舉不勝舉。
我們最終得到的是一個相當(dāng)復(fù)雜的組合,因為這樣就有了一個真正模塊化的應(yīng)用程序,你可以使用其它同類技術(shù)來替換出特定的層。不過,這沒有多大意義,這種需要很少發(fā)生。一旦一個組合被設(shè)定后,很少再會去修改它?,F(xiàn)在我喜歡讓我的應(yīng)用程序盡可能的簡單。我寧愿手動編寫一些代碼,也不愿意去增加另一個框架。
其它可疑技術(shù):商業(yè)化開源,應(yīng)用程序服務(wù)器
對于商業(yè)化開源這個業(yè)務(wù)模式,我沒有異議,我懷疑的人們對它的期望太高,一個產(chǎn)品不能因為開源了就放松對其投入,這樣會致使其體系架構(gòu)變陳舊,代碼質(zhì)量下滑。
【編輯推薦】