天天看點

2005 Java 綜述&2006 Java 展望(轉)

http://java.chinaitlab.com/dynamic/39331.html

2005 就要過去了。

  過去的一年,Mustang 沒能出來,EJB3剛剛才送出最終草案,Ajax興起但是五花八門不知道應該用誰,Aspectj 5出來了,但是缺乏驚喜。

  或許我們會說,過去的2005,Java界缺乏成績,但是卻毫無疑問,Java遙遙領先于其他語言。從11月的語言排行榜Java遙遙領先,到今年的Java圖書銷售統計上,Java圖書銷售總數是C#的2倍,PHP的2.5倍,Perl的4倍,Ruby/Python的9倍。

  這足以讓我們對2006充滿想象。

  不過,還是讓我們先回顧下2005吧……

  1.2005 之 Java 對手

  過去的2005,Java無疑是最受歡迎的語言。但是Java也面臨其他語言的挑戰,其中Bruce A. Tate,在一文中,提出了有可能挑戰Java開發的4種技術,包括動态語言,Continuation,Conventions,元程式設計等。

  Ruby可以說是最有可能挑戰Java的語言,剛剛釋出的Rails1.0引起了Fans的瘋狂。Rails會不會是下一代偉大的架構?有可能。要做一個選擇的話,Rails應該會是在使用Ruby或是其他動态程式設計語言的元程式設計架構潮流中的第一個。但是Java已經開始引進Ruby的特性了,比如Trails,Groovy.

  2.2005 之 Java 新玩意

  。Drools:Drools 是一個基于Charles Forgy's的Rete算法的,專為Java語言所設計的規則引擎。Rete算法應用于面向對象的接口将使基于商業對象的商業規則的表達更為自然。Drools是用Java寫的,但能同時運作在Java和。Net上。Drools提供了聲明式程式設計(Declarative Programming),并且使用域描述語言(Domain Specific Languages (DSL))。Web和持久層架構我們已經有很多選擇了,但是處在中間層的商務邏輯有好的架構嗎?你希望每次經理給你一個新的指令就不得不重編譯那些複雜的if …… then 意大利面條代碼嗎?Drools- 商務邏輯架構的選擇這篇文章中,保羅布朗推薦的Drools的規則引擎或許是完成這類任務的最好選擇;為你的基于SPRING的應用增加簡單規則引擎描述如何為流行的Spring架構開發簡單的規則引擎;在你的企業級java應用中使用Drools一文則向你展示如何在企業級Java應用中使用Drools.

  。Portlet:“Portlets是一種Web元件-就像servlets-是專為将合成頁面裡的内容聚集在一起而設計的。通常請求一個portal頁面會引發多個portlets被調用。每個portlet都會生成标記段,并與别的portlets生成的标記段組合在一起嵌入到portal頁面的标記内。”(摘自Portlet規範,JSR 168)。2005,Portlet架構層出不窮。什麼是Portlet ?讓你的Portlet之旅從這裡開始。

  。Ajax:2005年,還有什麼比Ajax更火呢?Ajax興起, 傳統Web架構将走向何方? 引起廣泛讨論,一度讓人感受到了Ajax的兇猛之勢。雖然Ajax和Java沒有直接關系,但是毫無疑問Ajax也是Java界關心的東西。Ajax: Web應用的新方法介紹了這個将令人們興奮的技術。

  Ajax的應用也層出不窮,比如Google就成功地使用了Ajax.用AJAX來控制書簽和回退按鈕告訴我們如何用AJAX來控制書簽和回退按鈕。

  一系列架構也随之而出來,比如DWR, Ajaxanywhere,Ajaxtags.其中:DWR讓AJAX如此簡單展示DWR如何使得AJAX的應用既簡單又快捷。初探AjaxTags展示如何使用Ajaxtags進行Ajax開發。

  。SOA:當然,2005不僅是架構,2005還有SOA,BEA, IBM, ORACLE…… 一家又一家企業公布了他們的SOA方案, 宣稱他們的産品支援SOA功能。 SCA和SDO也将組成新的SOA程式設計模型。SCA和SDO将組成新的SOA程式設計模型說明了如何在實作了J2EE1.4規範的應用伺服器之間,比如Oracle Application Server 10g,使用J2EE1.4建立可互操作的,輕便靈活的服務;SOA架構中的事件驅動服務讨論使用Mule實作一個高效的事件驅動和面向服務的平台; 面對SOA, 你準備好了嗎?

  。RPC:Web應用的RPC方式調用,随着Web2.0的興起,RPC方式逐漸成為Web調用的一種方式。

  。分布式元件開發:在一個分布式應用當中,提供一個統一對外接口,通過可重用的外部API來滿足需求。Java元件開發:一個概念架構提出了一個建構概念架構地解決方案。

  3.Hibernate繼續前進

  Hibernate仍然是最受歡迎的企業級開發持久層方案,Ejb 3.0 的出現是否會讓Hibernate的發展有什麼變化嗎? 這無疑是讓大家都感興趣的事情。過去的一年,關于Hibernate也有很多有趣的東西:Hibernate 3 的Formulas展現formula的各種特征是如何輔助模式轉換的;而Magicgod的Hibernate的思考則提出了提到了Hibernate的一些弱點;。

  4.Spring大熱

  沒有什麼文章,比POJO應用架構:Spring與EJB3.0的比較 奪得更多的人的眼球了。Spring架構雖然很流行但并不是一個标準的開源架構,EJB3.0是由Java Community Process (JCP)制訂的标準架構,為所有主要的J2EE廠商支援。兩者都大量地使用了依賴注入。在SPRING中實作事務暫停讨論了Spring的事務管理特性。在Spring中配置Hibernate事務探讨了怎麼用Spring來裝配元件及其事務管理。愛上Spring的5個理由裡作者描述了他為何喜歡上了Spring;而使用EJB 3.0簡化企業級Java開發闡述了如何使用EJB 3.0 注釋來開發藕合松散的POJO應用及容器伺服器如何管理POJO.

  2006,看來還有一場大戰。

  5.在Eclipse的影子下

  調查表示,超過70%的開發者使用Eclipse進行開發。Eclipse毫無疑問已經占據了IDE的主流市場。Eclipse的興起,也間接引起了Borland的離去。但是也引起了IDE工具的競争加劇,對開發者是件不折不扣的好事。成為Eclipse熱鍵高手提到了那些會讓你的手指動的飛快的熱鍵組合。這隻是Eclipse快捷友善的一個縮影。剛釋出的WTP, 好用的Myeclipse,都推動着Eclipse的不斷發展,或許這就是社群的力量。

  6.ANT?

  ANT仍然很受歡迎。ANT不僅僅是一個Build工具,它還可以作更多的事情。使用Ant進行Web開發介紹WEB 應用程式的部署,包括get, serverdeploy, 和 scp等。使項目開發自動化描繪了用Ant自動化你的項目能帶來的好處。

  7.2006的Java期待?

  。EJB3: EJB3最終草案送出,預示着EJB3的即将到來了,相信明年一定程度上是EJB3年,簡化開發是否真的實至名歸?

  。Mustang: 不知道Mustang 的出現,會給Java性能帶來多大的改變,寄存器優化不知道是不是能帶來革命的效果?

  。JBI-ESB:JBI這個提了很多年的名詞,終于在今年大熱,相信明年JBI仍然會繼續發展。

  。JSF:JSF有太多對手了,Struts,Spring mvc,特别是Webwork加入Struts之後,不過相信JSF也是值得我們期待

  。AJAX:雖然有很多AJAX架構出來,但是killer級别的架構是誰呢?2006會揭曉嗎?

  。Groovy:社群的力量使得Groovy越來越成熟和完善了。

  。Rails:Ruby雖然和Java無關,但是我想多數人都在關心Rails.畢竟Rails還是我們所期待的東西。

  。Spring2.0:Spring 2.0明年初就會釋出了,相信會繼續帶動Spring社群的狂熱。

  相信在所有技術語言中,Java是2006年的熱點所在,讓我們共同期待2006.