TSS座談會上Cameron Purdy, Rod Johnson, Bruce Snyder, Bruce Tate, Floyd Marinescu和Ari Zilka作了一個“企業級Java的未來如何?”的座談。
下面是infoQ上關于這個座談的一個總結,不是原文,是摘要。
首先大家談一談關于企業級Java的未來的想法:
Bruce Tate:企業級Java狀態良好,缺乏的是Java對低端應用開發的支持(在Web應用領域看,明顯是在暗指Ruby on Rails)。
Ari Zilka:可伸縮性問題突顯出來,將會傾向于讓更多的機器分布式工作來代替花很多錢在一臺巨強的機器。“我認為AOP將會改變應用程序服務器市場的面貌。”
Floyd Marinescu:Java本身正在變化,它不再是單純的語言,它是JDK+JVM=bytecode=任何語言。Java將成為DSL和腳本語言的平臺。Web開發框架將會是創新的領域。Rails就是證據。但是我們需要這種形式與Java的更優整合。Web2.0正在使web從一個發布平臺向一個應用程序平臺轉變,它會改變我們所做的應用程序開發。
Bruce Snyder:同意Web2.0的觀點。開發必須要更簡單,API必須簡化。說說這個東西到底有多酷,如果我們對元模型編碼,將他們從開發中抽象出來,就像EJB vs. JAX-WS,而且你可以在編譯時生成它們(聽起來像MDD,模型驅動開發)。這種方式可能與SOA和Web2.0的想法相關聯。
Cameron Purdy:同意關于Web2.0的觀點,但實際上是我們不應該假設Java會是Web2.0應用的基礎。
Rod Johnson:很興奮的看到面向對象開發的復興。EJB持久化API潤許我們構造真正的領域模型,而不是貧血的。我們將會看到AspectJ在未來的幾年中應用越發廣泛。最難理解的是JVM而不是Java。最難預測的是Web曾將會發生什么,有大量相互競爭的實現。
Ted問了一個很難回答的問題:你認為EJB的機會的窗口已經關閉了么?將會永遠的關閉,或者還有機會?
Bruce Tate:“我偷偷的告訴你,我認為EJB3已經死了,是Rod扼殺了它。”
Rod Johnson:持久化部分令人敬畏,并且將會被廣泛擁抱。其它部分比起現在的方案要差,例如監聽能力。[編輯解釋:Spring+JPA將好于EJB3]。
Floyd Marinescu:這個問題實際上是“標準在新的開源世界中將扮演什么角色”?在開源世界中,最好的解決方案會成為標準,并且這樣的方案不會變成廠商依賴而所定于某種商業項目,所以真正的問題是人們在已經有了Spring+Hibernate的時候是否會接受EJB。標準將會帶來大面積的合作,這里穩定性問題要比創新更重要,但是我不認為小的項目會轉入EJB3中。
Bruce Tate:“我不那樣認為,EJB與那些都無關。它主要是包裝和消滅POJO周圍的服務,比如Spring……比如JBoss,它們給我們的很多東西和周圍的API都是第二位的。”
Ari Zilka:一定要分辨出巨大變化的催化劑。對持久化部分有催化劑/需求,并且它是獨立的。目前EJB2的項目沒有足夠的理由轉移到EJB3,因為在功能角度沒有足夠多的變化。
而后是一些關于開源、Linux等方面的問題,具體參照原文。
http://www.infoq.com/news/Future-of-Enterprise-Java-Panel
抽出一下:
1、Java從語言轉向平臺。如同.Net,JVM本身提供了平臺的抽象。將會擴展動態語言與腳本語言的支持。
2、企業應用的開發過程將簡化,如MDD一類,但目的是集中精力開發商業邏輯,而不是純簡化代碼或者什么什么。小型應用可能會轉向動態語言或腳本語言所營造的舒適開發框架,如RoR,或其它Rails。
3、富領域模型替代貧血模型,基于JPA。
4、目前的AOP、IoC工具依然會流行,而不一定會限定于EJB3模型中。事實說了算,Spring這種事實性標準影響力還是很大的。
5、分布式的考慮,可伸縮型問題凸顯。如何透明實現分布式是個關鍵性問題,AOP是技術契機。
6、Web2.0會產生巨大影響力,但Java絕不是唯一選擇。Java要找好自己的位置,同時在平臺上最好能夠更多的融合,如讓JVM支持PHP/Ruby/Python。
7、Web部分競爭激烈,并會持續。EJB3的JSF命運難測。看Web2.0的浪潮了。