<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學(xué)日益,為道日損。

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
    最近,SUN的伙伴們(the folks at SUN)將J2EE 1.5改名為java EE 5,當(dāng)然以前J2EE版本還是稱為J2EE,之所以改名,目的還是讓大家清楚J2EE只是Java企業(yè)應(yīng)用,用我的話來說,J2EE就是Java在數(shù)據(jù)庫服務(wù)器端的應(yīng)用(見初學(xué)者如何開發(fā)出一個高質(zhì)量的J2EE系統(tǒng))。

      看來,現(xiàn)在大多數(shù)人傾向于更加突出Java了,J2EE容易讓初學(xué)者誤解是獨(dú)立于一套Java的技術(shù)方案。

      從更深層次來看,Java誕生十年來,很多近十年前的業(yè)務(wù)組件至今還可以使用,軟件應(yīng)用不再由于語言的更迭革命帶來毀滅的打擊了。

      但是,隨著WEB和EJB容器概念誕生,使得軟件應(yīng)用業(yè)開始擔(dān)心SUN的伙伴們是否還在Java平臺上不斷推出翻新的標(biāo)準(zhǔn)框架,致使軟件應(yīng)用業(yè)的業(yè)務(wù)核心組件架構(gòu)無所適從,從一直以來是否需要EJB的討論聲中說明了這種彷徨。

      筆者曾經(jīng)在2004年底中國軟件技術(shù)大會Ioc微容器(也就是Jdon框架的實現(xiàn)原理)演講中指出:我們需要一個跨J2SE/WEB/EJB的微容器,保護(hù)我們的業(yè)務(wù)核心組件(中間件),以延續(xù)它的生命力,而不是依賴J2SE/J2EE版本,如下圖:

      此次J2EE改名為Java EE,實際也反映出業(yè)界這種共同心聲。

      讓我們看看Java EE 5有哪些新的功能或規(guī)定,我們可以從SUN網(wǎng)站下載Java EE 5規(guī)范。其架構(gòu)圖如下:

      圖中灰色加黑部分是Java EE 5新的功能,我們看到,在WEB層主要加入了JSF這個新的表現(xiàn)層框架,和我們?nèi)粘i_發(fā)關(guān)系密切的是,引入了新的Java Persistence標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)正在由EJB 3.0專家組制定。

      值得指出的是,這個Java持久化標(biāo)準(zhǔn)也可以嵌入在WEB層調(diào)用,所以,它肯定不會從屬于EJB標(biāo)準(zhǔn),這樣,當(dāng)前所有的Java持久層標(biāo)準(zhǔn)如:JDBC/JDO/Hibernate/Entity Bean將可能統(tǒng)一,減少用戶的架構(gòu)選擇 痛苦。

      從架構(gòu)圖可以看出,無論Web結(jié)構(gòu)或EJB結(jié)構(gòu),提供實現(xiàn)的功能相差不多,這樣,我們的業(yè)務(wù)核心組件就可以根據(jù)需要部署在Web或EJB中運(yùn)行,而不依賴具體的Java EE容器了。前面一章圖的目標(biāo)在Java EE 5中可以實現(xiàn)了。

      當(dāng)然,Java EE 5重要改變還是:Java EE不再象以前那樣只注重大型商業(yè)系統(tǒng)的開發(fā),而是更關(guān)注小到中型系統(tǒng)的開發(fā),簡化這部分系統(tǒng)開發(fā)步驟。

      落實這一簡化行動的最大特征是在Java 5.0(Java 1.5)中加入Annotations,通過Annotations引入,降低Java EE開發(fā)時,既要寫code,又要寫XML配置文件之苦,來回照顧,疲于奔命,Annotations既是得益于C++語言,也是從開源項目xDoclet實踐中獲得經(jīng)驗。

      但是Annotations是一把雙刃劍,初學(xué)者用得不好,將會使得原本在XML中的Hard code(硬編碼) 寫進(jìn)入代碼Annotations,破壞代碼的簡潔和靈活性,Annotations討論按這里

      當(dāng)然,Annotations的引入不只是解決XML配置,從大的概念說,是解決一個資源注射問題(XML屬于其中一個資源),在原理J2EE中,容器管理的資源都是由JNDI向應(yīng)用程序提供的,現(xiàn)在通過Annotations可以方便實現(xiàn)注射。

      資源注射(Resource injection)設(shè)計概念其實是來自Ioc模式(Dependency Injection ),筆者設(shè)計開發(fā)的Jdon框架其實已經(jīng)將Annotations這一宗旨的目的實現(xiàn),在Jdon框架應(yīng)用演示源碼SimpleJdonFrameworkTest中,在jdonframework.xml中有一段如下配置:

    <pojoService class="com.jdon.framework.test.dao.JdbcDAO" name="jdbcDAO">
      <constructor value="java:/TestDS"/>
    </pojoService>

      這段配置是將數(shù)據(jù)庫的JNDI名java:/TestDS注射到JdbcDAO中。Jdon Framework下一個版本將是基于Java 5.0,這行配置 將可通過 Annotations寫在jdbcDAO代碼中,方便程序員開發(fā)。

      從這里,大家也可以知道EJB 3.0和EJB 2.0的區(qū)別了,有的人疑惑,是學(xué)習(xí)EJB 3.0還是學(xué)習(xí)EJB 2.0,其實EJB 3.0并沒有在原理機(jī)制上對EJB有多大改動,只是做了編程方面的簡化,另外EJB CMP參考了Hibernate新特點,EJB 3.0最大簡化變動是CMP編程方法上。所以,無論學(xué)習(xí)EJb 3.0/2.0,EJB原理和運(yùn)行機(jī)制都是一樣,這部分才是學(xué)習(xí)EJB最大的困難處,而不是因為到了EJB 3.0,理解EJB就會容易。

      初學(xué)者可從Eclipse+Xdoclet開發(fā)EJB 2.0開始學(xué)習(xí), EJB 3.0 = EJB 2.0 + xDoclet,這里有一篇Eclipse開發(fā)EJB教程,使用JBossIDE非常簡單,無需Lomboz等插件。

      Security安全是Java EE的一個重要特點,也就是基于容器的安全訪問,無需自己手工編碼,具體實現(xiàn)可參考Jdon框架應(yīng)用演示源碼JdonNews。這雖然是基于J2EE 1.3編寫,但是和Java EE 5區(qū)別不是很大。

      事務(wù)管理Transaction Management也是Java EE 5的一個重要部分,該標(biāo)準(zhǔn)文檔 從幾個方面闡述了事務(wù)管理的要點,標(biāo)準(zhǔn)中規(guī)定了在WEB層中使用事務(wù)和線程的處理關(guān)系,標(biāo)準(zhǔn)中規(guī)定:Web服務(wù)器如Tomcat無需在Web層提供事務(wù)支持,因為Web組件根本不支持事務(wù)繁衍/傳遞。

      因為目前一些架構(gòu)如Struts+Spring+Hibernate/Struts+Hibernate是標(biāo)準(zhǔn)中的Web結(jié)構(gòu),因此Java EE 5在J2EE 4.2.2規(guī)定了 Web組件事務(wù)的生命周期,如果Web組件直接調(diào)用JTA,事務(wù)就不可以跨一個客戶端的多個請求,事務(wù)只能在一個請求(Servlet/Jsp)中完成,這個標(biāo)準(zhǔn)規(guī)定了我們在Web架構(gòu)中(如上述架構(gòu))無法使用長事務(wù)(如工作流/狀態(tài)圖中跨頁面請求事務(wù)),針對一個客戶端跨請求的事務(wù)目前只有唯一解決方案:只有使用EJB的有態(tài)Session。參考文章:I manage long duration transactions?

      以上是Java EE 5主要部分,Java EE包含更多其他技術(shù)部分如Jdbc JMS JCA JNDI 等等,需要用戶在實踐中摸索。



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=821836

    posted on 2006-11-24 14:58 放水老倌 閱讀(440) 評論(0)  編輯  收藏 所屬分類: J2EE
    主站蜘蛛池模板: 亚洲国产精品专区在线观看| 亚洲综合久久综合激情久久| 中文字幕av免费专区| 亚洲一区二区影院| 日本免费一本天堂在线| 国产成人免费ā片在线观看老同学| 亚洲校园春色小说| 又粗又硬免费毛片| 亚洲一区二区三区免费视频| 日韩毛片一区视频免费| 亚洲天堂一区二区三区四区| 亚洲av无码不卡私人影院| 无码国产精品一区二区免费虚拟VR| 无人视频在线观看免费播放影院| 78成人精品电影在线播放日韩精品电影一区亚洲 | 免费无遮挡无遮羞在线看| 亚洲日本在线观看| 亚洲精品无码AV中文字幕电影网站| 免费观看黄色的网站| 好男人资源在线WWW免费| 亚洲中文字幕无码爆乳app| 久久亚洲AV午夜福利精品一区 | 亚洲精品无码专区2| 久久精品毛片免费观看| www永久免费视频| 久久亚洲国产成人影院| 久久香蕉国产线看观看亚洲片| 国产在线观看免费完整版中文版| 91老湿机福利免费体验| a在线视频免费观看在线视频三区| 亚洲AV无码成人专区| 精品国产综合成人亚洲区| 日本一区二区三区日本免费| 四虎影视成人永久免费观看视频| 边摸边脱吃奶边高潮视频免费| 亚洲另类图片另类电影| 亚洲国产成人私人影院| 国产亚洲精品成人a v小说| 久久久久国色AV免费观看性色| 久久99热精品免费观看动漫| 久久成人永久免费播放|