去年你曾預(yù)言J2EE正在迎來(lái)一次劃時(shí)代的變革,關(guān)鍵詞是EJB,對(duì)此你能再做一次闡述嗎?
J2EE可以說(shuō)是這幾年發(fā)展非常快速的一個(gè)應(yīng)用開(kāi)發(fā)平臺(tái),這和Java這種靈活、方便、開(kāi)放、跨平臺(tái)的語(yǔ)言具有不可分隔的聯(lián)系。Java是一個(gè)講求實(shí)用的語(yǔ)言,所有對(duì)應(yīng)用開(kāi)發(fā)有用的特性都被吸收進(jìn)來(lái),成為Java平臺(tái)的一部分,而那些花稍但無(wú)實(shí)際作用的特性被摒棄。Java的類庫(kù)豐富、開(kāi)發(fā)社區(qū)完善等特色標(biāo)志著它還將在相當(dāng)長(zhǎng)的時(shí)期內(nèi)保持旺盛的生命力。
J2EE可以說(shuō)是在Java平臺(tái)中應(yīng)用最為廣泛的技術(shù),而且正在逐步走向成熟。JCP組織在總結(jié)了過(guò)去J2EE實(shí)踐中的經(jīng)驗(yàn)和教訓(xùn),在將來(lái)的Java EE 5.0規(guī)范中將對(duì)J2EE技術(shù)做一個(gè)相當(dāng)大的調(diào)整,其中最受影響的就是EJB規(guī)范。過(guò)去EJB給人的感覺(jué)過(guò)重,而且開(kāi)發(fā)過(guò)程復(fù)雜,不易維護(hù),因此在實(shí)際項(xiàng)目中使用EJB的很少。在EJB3中,EJB的開(kāi)發(fā)方法將徹底改變,不再使用Home, Remote接口等概念,而采取輕量級(jí)的開(kāi)發(fā)模式,以Java 5.0中引進(jìn)的annotation作為EJB描述工具,特別是實(shí)體Bean的角色將被重新定位,使其單純擔(dān)負(fù)起O/R Mapping的作用。所有這些舉措都是為了使EJB的開(kāi)發(fā)過(guò)程更加簡(jiǎn)單、效率更高、維護(hù)更方便。
在Web開(kāi)發(fā)方面,Java EE 5增加了新的JSF規(guī)范,這是一個(gè)類似于struts之類的web開(kāi)發(fā)框架,但比它們更方便。JSF基于事件及UI組件模型的開(kāi)發(fā)方式顛覆了傳統(tǒng)的web開(kāi)發(fā)習(xí)慣,結(jié)合開(kāi)發(fā)工具的支持,將使其更接近于一個(gè)真正的MVC編程環(huán)境。使用JSF開(kāi)發(fā)表現(xiàn)層現(xiàn)在看起來(lái)更象swing編程,基于UI組件的模型能夠把web界面定制的很多工作獨(dú)立出來(lái),廠商可以針對(duì)具體的目標(biāo)定制更多更好用的組件。而我們作為國(guó)產(chǎn)中間件廠商,比國(guó)外廠商理應(yīng)更了解國(guó)內(nèi)客戶的需求,因此我們的應(yīng)用開(kāi)發(fā)平臺(tái)Apusic Studio將成為以JSF為基礎(chǔ)的一個(gè)強(qiáng)大的web應(yīng)用開(kāi)發(fā)平臺(tái)。
現(xiàn)在很多應(yīng)用已經(jīng)轉(zhuǎn)移到所謂的輕量級(jí)J2EE方案上去了,比如Spring,已經(jīng)紅了快兩年了,F(xiàn)在才推出Java EE 5.0是不是來(lái)得太晚些了?怎樣預(yù)期Java EE對(duì)于整個(gè)產(chǎn)業(yè)的影響?
在我們主辦的“Java俱樂(lè)部”地面活動(dòng)上,也有技術(shù)愛(ài)好者問(wèn)及我這個(gè)問(wèn)題,當(dāng)時(shí)我回答到“非官方和官方互相促進(jìn),Java EE 5.0來(lái)得并不晚”。
開(kāi)源社區(qū)(往往是非官方標(biāo)準(zhǔn))代表的經(jīng)常是理想主義者,而商業(yè)公司(往往是官方標(biāo)準(zhǔn))代表的經(jīng)常是現(xiàn)實(shí)主義者。兩者之間有相互競(jìng)爭(zhēng)的地方,但從長(zhǎng)遠(yuǎn)來(lái)看,更多的是一種是相互補(bǔ)充、相互促進(jìn)的過(guò)程。
Spring及Hibernate等開(kāi)源框架,已經(jīng)對(duì)Java EE的技術(shù)發(fā)展趨勢(shì)產(chǎn)生了非常重大的影響;蛘哒f(shuō)Java EE的發(fā)展,也借鑒并吸取了這些開(kāi)源框架的一些優(yōu)秀的思想。從技術(shù)層面來(lái)看,這反而會(huì)使Java EE具有一定的后發(fā)優(yōu)勢(shì);同時(shí),這些新技術(shù)在業(yè)界的廣泛使用,總是需要一定的周期,并且,采用Java EE構(gòu)建業(yè)務(wù)系統(tǒng)的最終用戶,也總是希望能夠獲得諸多廠商的官方支持與商業(yè)標(biāo)準(zhǔn)。因此,從這些方面來(lái)看,Java EE 5.0 來(lái)得其實(shí)并不晚。至于Java EE對(duì)于整個(gè)產(chǎn)業(yè)的影響,可能是J2EE這個(gè)概念自誕生以來(lái)比較重量級(jí)的一次震撼。它所帶來(lái)的影響是深遠(yuǎn)的(更多的表現(xiàn)在對(duì)J2EE開(kāi)發(fā)過(guò)程的影響),但用戶自1.4平臺(tái)向5.0平臺(tái)之上的遷移,卻是平緩的。
讓我們把話題再回到你的心血杰作Apusic Platform產(chǎn)品家族上,有人曾說(shuō),國(guó)產(chǎn)中間件的出路是專注于某個(gè)產(chǎn)品、用單一化的差異優(yōu)勢(shì)競(jìng)爭(zhēng)。以前同樣有人講APUSIC產(chǎn)品線單一,但現(xiàn)在我聽(tīng)說(shuō)你們馬上要推出消息中間件和開(kāi)發(fā)平臺(tái),在這里你能否對(duì)這兩種產(chǎn)品作一點(diǎn)介紹?
過(guò)去我們的產(chǎn)品線是比較單一,僅有一個(gè)應(yīng)用服務(wù)器產(chǎn)品,這次我們推出了Apusic MQ和Apusic Studio這兩個(gè)產(chǎn)品,使產(chǎn)品線有了很大的擴(kuò)充,形成一個(gè)相對(duì)比較完整的Apusic Platform產(chǎn)品家族。在這個(gè)產(chǎn)品家族中Apusic Studio將扮演一個(gè)非常重要的角色。我們知道,各廠商的應(yīng)用服務(wù)器產(chǎn)品都是大同小異的,用戶主要根據(jù)性能、易用性、售后服務(wù)等指標(biāo)來(lái)進(jìn)行選擇。但是僅有應(yīng)用服務(wù)器產(chǎn)品是不夠的,還需要一個(gè)好的開(kāi)發(fā)工具來(lái)支持。過(guò)去我們就深受缺少開(kāi)發(fā)工具的困擾,很多用戶其實(shí)很喜歡Apusic應(yīng)用服務(wù)器,覺(jué)得用起來(lái)很不錯(cuò),但開(kāi)發(fā)起來(lái)太麻煩,甚至有人先在其他平臺(tái)上開(kāi)發(fā),等開(kāi)發(fā)完了再移植過(guò)來(lái),這種困擾多少打擊了一部分開(kāi)發(fā)人員的積極性。
在Apusic Studio立項(xiàng)會(huì)議上,我們一開(kāi)始是想為JBuilder、Eclipse等寫一些插件,利用第三方開(kāi)發(fā)工具來(lái)支持Apusic的開(kāi)發(fā),但我們最終拋棄了這一想法,決定搞一個(gè)和Apusic應(yīng)用服務(wù)器緊密結(jié)合的,更接近于應(yīng)用開(kāi)發(fā)的平臺(tái)。金蝶集團(tuán)具有十幾年的應(yīng)用開(kāi)發(fā)歷史,積累了大量的經(jīng)驗(yàn)和教訓(xùn),在這樣的基礎(chǔ)上,我們更應(yīng)該秉承“幫助客戶成功”的集團(tuán)宗旨,不僅向用戶提供一個(gè)方便、高效的開(kāi)發(fā)工具,更重要的是要在產(chǎn)品中和用戶分享金蝶的應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn),以開(kāi)發(fā)思想、開(kāi)發(fā)模式、開(kāi)發(fā)工具、應(yīng)用組件等全方位的開(kāi)發(fā)平臺(tái)提供給客戶。
Apusic Studio以Eclipse為基礎(chǔ),不僅具有大多數(shù)J2EE開(kāi)發(fā)工具所應(yīng)當(dāng)具有的功能,還提供了以XP方法為代表的輕量級(jí)開(kāi)發(fā)方面的工具,另外,我們還提供了一些現(xiàn)成的組件,以幫助用戶快速構(gòu)建應(yīng)用系統(tǒng)。我們知道,在J2EE規(guī)范中,將一個(gè)應(yīng)用的開(kāi)發(fā)分解成若干個(gè)角色,包括開(kāi)發(fā)、配置、部署、管理等,但實(shí)際上,部署、配置、管理等階段,都是開(kāi)發(fā)過(guò)程中必不可少的一個(gè)階段。那么,怎么把這些階段有機(jī)的集成在一起呢?Apusic Studio就是這樣一個(gè)統(tǒng)一的開(kāi)發(fā)平臺(tái),它基于Eclipse技術(shù),通過(guò)與Apusic應(yīng)用服務(wù)器的緊密集成,給開(kāi)發(fā)人員提供了一個(gè)輕量級(jí)的J2EE開(kāi)發(fā)平臺(tái)。
最后一個(gè)問(wèn)題說(shuō)點(diǎn)輕松的,國(guó)內(nèi)很多程序員都曾看過(guò)你那篇?jiǎng)?chuàng)下點(diǎn)擊幾十萬(wàn)的牛帖《程序員的幾個(gè)基本原則》,那么現(xiàn)實(shí)生活中你真是這樣生活的嗎?比如寫累了休息時(shí)瘋狂打暴力游戲?
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)Java經(jīng)典算法大全匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |