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