走近JavaEE5與Glassfish應(yīng)用服務(wù)器
2006年的Sun科技日正在上海和北京如火如荼地舉行,時(shí)間分別是上海:2006年9月22 -24日,北京:2006年9月27 -29日。 回憶起一年前JavaChina2005大會(huì)的火爆場(chǎng)景,相信這次科技日一定能進(jìn)一步激發(fā)大家學(xué)習(xí)和使用Java的激情。這次的科技日,我們部門(mén)沒(méi)有參加 到Speaker的行列,希望通過(guò)在這篇Blog中和大家分享一下JavaEE5規(guī)范的最新進(jìn)展和Sun開(kāi)源JavaEE應(yīng)用服務(wù)器--Glassfish。
JavaEE5規(guī)范
2006年4月18日,JavaEE規(guī)范專(zhuān)家組全票通過(guò)JavaEE5規(guī)范。5月,最新的JavaEE的規(guī)范可以從這里下載到。在J2EE1.4發(fā)布1年半之后,Java企業(yè)開(kāi)發(fā)技術(shù)的業(yè)界標(biāo)準(zhǔn)終于又向前跨了一大步。我說(shuō)的這一大步不僅僅是名字從J2EE到JavaEE的變化,也 不是簡(jiǎn)單把版本從1.4升級(jí)到5。應(yīng)該說(shuō),JavaEE5的發(fā)布把Java技術(shù)在企業(yè)開(kāi)發(fā)的業(yè)界標(biāo)準(zhǔn)又推向一個(gè)新的高度,對(duì)一些重要的規(guī)范都本質(zhì)的改動(dòng)。
JavaEE5規(guī)范最主要的目的就是簡(jiǎn)化開(kāi)發(fā),提高開(kāi)發(fā)的效率.同時(shí),隨著JavaEE規(guī)范變得逐漸龐大,JavaEE5對(duì)已有的子規(guī)范進(jìn)行了系統(tǒng)的分 類(lèi),分別包括:企業(yè)應(yīng)用、Web應(yīng)用、Web服務(wù)和管理四個(gè)方面,如此分類(lèi)讓開(kāi)發(fā)人員更加清晰,更容易選擇相關(guān)規(guī)范進(jìn)行學(xué)習(xí).
JavaEE5主要的新特征包括:
• EJB規(guī)范
EJB規(guī)范在保證向后兼容性的同時(shí),做了較大的改動(dòng),EJB規(guī)范的版本從2.1升級(jí)到3.0,在版本升級(jí)的背后包含了如下的顯著特征:EJB成為輕量級(jí)的 POJO,可以脫離容器運(yùn)行和測(cè)試;EJB3.0中引入的持久化規(guī)范可以脫離JavaEE運(yùn)行環(huán)境,單獨(dú)運(yùn)行在標(biāo)準(zhǔn)的Java應(yīng)用程序中. 這也是對(duì)Java持久化規(guī)范的一個(gè)重大貢獻(xiàn).我的同事Wynne Wang寫(xiě)了一篇關(guān)于EJB3.0的Blog,里面詳細(xì)介紹了其新特性。
• Web層規(guī)范
引入了Java Server Faces(JSF) 1.2和Java Server Pages Standard Tag Library 1.2.在傳統(tǒng)的JSP和Servlet的基礎(chǔ)之上,這兩個(gè)規(guī)范的引入也將大大簡(jiǎn)化Web層或者說(shuō)是展現(xiàn)層的開(kāi)發(fā),其中包括通用的組件、流程控制等。
• 標(biāo)注(Annotation)的使用
標(biāo)注(Annotation)是JavaSE5在Java語(yǔ)言上的一個(gè)重大變化,JavaEE5大量使用了標(biāo)注。標(biāo)注的使用可以簡(jiǎn)化JavaEE應(yīng)用程序 的發(fā)布過(guò)程,使得開(kāi)發(fā)人員可以從代碼和發(fā)布文件的同步中解脫出來(lái);同時(shí),標(biāo)注也可以大大簡(jiǎn)化應(yīng)用程序中資源(例如:JDBC Connection,EJB遠(yuǎn)程接口)的查找過(guò)程,使得開(kāi)發(fā)人員不用過(guò)多考慮系統(tǒng)環(huán)境的問(wèn)題,專(zhuān)注于業(yè)務(wù)的開(kāi)發(fā)。
值得一提的是,不可否認(rèn),Java企業(yè)開(kāi)發(fā)技術(shù)的業(yè)界標(biāo)準(zhǔn)也吸收了很多大家耳熟能詳?shù)目蚣艿脑O(shè)計(jì)思想(包括Hibernate, Spring, Toplink和JDO等等),例如,Hibernate的創(chuàng)始人Gavin King是EJB3.0規(guī)范的專(zhuān)家成員之一。我想從這一點(diǎn)也可以看出JavaEE的業(yè)界標(biāo)準(zhǔn)是一個(gè)開(kāi)放的標(biāo)準(zhǔn)。
Glassfish---Sun開(kāi)源JavaEE應(yīng)用服務(wù)器
Sun公司不僅僅是開(kāi)發(fā)規(guī)范制定的領(lǐng)導(dǎo)者,同時(shí)也在規(guī)范的實(shí)現(xiàn)和推廣上也做了很大的努力和貢獻(xiàn)。從JavaEE參考實(shí)現(xiàn)到產(chǎn)品級(jí)別的應(yīng)用服務(wù)器(Sun Java System Application Server),Sun都一套完整的產(chǎn)品線(xiàn)。
2005年6月,JavaOne大會(huì)上Sun開(kāi)始了GlassFish項(xiàng)目。GlassFish項(xiàng)目使用CDDL規(guī)范.開(kāi)發(fā)者可以查看、使用、修改和發(fā)布Glassfish的代碼。
Sun公司把其商用應(yīng)用服務(wù)器的代碼貢獻(xiàn)到GlassFish項(xiàng)目中,Oracle也貢獻(xiàn)了Toplink的代碼實(shí)現(xiàn)EJB的持久化功能。在正在開(kāi)發(fā)中Glassfish V2版本中,還將包括集群等特性。 雖然知道Glassfish的開(kāi)發(fā)人員不是很多,但是我想,就象Sun的另一個(gè)開(kāi)源產(chǎn)品NetBeansJavaIDE工具一樣,在不久的將來(lái)一定會(huì)有越來(lái)越多的人使用Glassfish!
如果您還在猶豫,可以看看這篇Blog:Why to use Glassfish? 相信你看后一定會(huì)躍躍欲試。
讓我們跟上時(shí)代的步伐,不要成為JavaEE5的淘汰者!
作者簡(jiǎn)介
黃健昌是一位擅長(zhǎng)Java、JavaEE和Web服務(wù)技術(shù)的顧問(wèn).目前就職于Sun中國(guó)工程研究院,任職Technical Consultant,負(fù)責(zé)Sun Java Enterprise System(JES)產(chǎn)品支持和Java技術(shù)咨詢(xún). 您可以通過(guò)[email protected]與他聯(lián)系.
相關(guān)文章:
1. PHP 編碼規(guī)范及建議2. 最新Android & iOS設(shè)計(jì)尺寸規(guī)范3. 詳解JS ES6編碼規(guī)范4. 使用pycharm和pylint檢查python代碼規(guī)范操作5. Sun提交Java模塊系統(tǒng)規(guī)范 力求解決Java應(yīng)用部署難題6. JavaScript編碼規(guī)范7. PHP Document 代碼注釋規(guī)范8. Java程序的編碼規(guī)范(4)9. JavaScript中ES6規(guī)范中l(wèi)et和const的用法和區(qū)別10. Python語(yǔ)言規(guī)范之Pylint的詳細(xì)用法
