乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      JR - 精品文章 - 為什么是Java EE?5(轉(zhuǎn)自pconline)

       lovelydog 2005-09-20
      什么是Java EE 5(轉(zhuǎn)自pconline)
      autumn_thermal 轉(zhuǎn)貼  (參與分:11472,專(zhuān)家分:820)   發(fā)表:2005-09-06 17:39   版本:1.0   閱讀:181

      最近,SUN的伙伴們(the folks at SUN)將J2EE 1.5改名為java EE 5,當(dāng)然以前J2EE版本還是稱(chēng)為J2EE,之所以改名,目的還是讓大家清楚J2EE只是Java企業(yè)應(yīng)用,用我的話來(lái)說(shuō),J2EE就是Java在數(shù)據(jù)庫(kù)服務(wù)器端的應(yīng)用。
        看來(lái),現(xiàn)在大多數(shù)人傾向于更加突出Java了,J2EE容易讓初學(xué)者誤解是獨(dú)立于一套Java的技術(shù)方案。

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

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

        筆者曾經(jīng)在2004年底中國(guó)軟件技術(shù)大會(huì)Ioc微容器演講中指出:我們需要一個(gè)跨J2SE/WEB/EJB的微容器,保護(hù)我們的業(yè)務(wù)核心組件(中間件),以延續(xù)它的生命力,而不是依賴(lài)J2SE/J2EE版本,如下圖:
       
        此次J2EE改名為Java EE,實(shí)際也反映出業(yè)界這種共同心聲。
      讓我們看看Java EE 5有哪些新的功能或規(guī)定,我們可以從SUN網(wǎng)站下載Java EE 5規(guī)范。其架構(gòu)圖如下:
       
        圖中灰色加黑部分是Java EE 5新的功能,我們看到,在WEB層主要加入了JSF這個(gè)新的表現(xiàn)層框架,和我們?nèi)粘i_(kāi)發(fā)關(guān)系密切的是,引入了新的Java Persistence標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)正在由EJB 3.0專(zhuān)家組制定。

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

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

        當(dāng)然,Java EE 5重要改變還是:Java EE不再象以前那樣只注重大型商業(yè)系統(tǒng)的開(kāi)發(fā),而是更關(guān)注小到中型系統(tǒng)的開(kāi)發(fā),簡(jiǎn)化這部分系統(tǒng)開(kāi)發(fā)步驟。
      落實(shí)這一簡(jiǎn)化行動(dòng)的最大特征是在Java 5.0(Java 1.5)中加入Annotations,通過(guò)Annotations引入,降低Java EE開(kāi)發(fā)時(shí),既要寫(xiě)code,又要寫(xiě)XML配置文件之苦,來(lái)回照顧,疲于奔命,Annotations既是得益于C++語(yǔ)言,也是從開(kāi)源項(xiàng)目xDoclet實(shí)踐中獲得經(jīng)驗(yàn)。

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

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

        資源注射(Resource injection)設(shè)計(jì)概念其實(shí)是來(lái)自Ioc模式(Dependency Injection ),筆者設(shè)計(jì)開(kāi)發(fā)的Jdon框架其實(shí)已經(jīng)將Annotations這一宗旨的目的實(shí)現(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ù)庫(kù)的JNDI名java:/TestDS注射到JdbcDAO中。Jdon Framework下一個(gè)版本將是基于Java 5.0,這行配置 將可通過(guò) Annotations寫(xiě)在jdbcDAO代碼中,方便程序員開(kāi)發(fā)。

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

        初學(xué)者可從Eclipse+Xdoclet開(kāi)發(fā)EJB 2.0開(kāi)始學(xué)習(xí), EJB 3.0 = EJB 2.0 + xDoclet,使用JBossIDE非常簡(jiǎn)單,無(wú)需Lomboz等插件。

        Security安全是Java EE的一個(gè)重要特點(diǎn),也就是基于容器的安全訪問(wèn),無(wú)需自己手工編碼。
      事務(wù)管理Transaction Management也是Java EE 5的一個(gè)重要部分,該標(biāo)準(zhǔn)文檔 從幾個(gè)方面闡述了事務(wù)管理的要點(diǎn),標(biāo)準(zhǔn)中規(guī)定了在WEB層中使用事務(wù)和線程的處理關(guān)系,標(biāo)準(zhǔn)中規(guī)定:Web服務(wù)器如Tomcat無(wú)需在Web層提供事務(wù)支持,因?yàn)閃eb組件根本不支持事務(wù)繁衍/傳遞。

        因?yàn)槟壳耙恍┘軜?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ù)就不可以跨一個(gè)客戶(hù)端的多個(gè)請(qǐng)求,事務(wù)只能在一個(gè)請(qǐng)求(Servlet/Jsp)中完成,這個(gè)標(biāo)準(zhǔn)規(guī)定了我們?cè)赪eb架構(gòu)中(如上述架構(gòu))無(wú)法使用長(zhǎng)事務(wù)(如工作流/狀態(tài)圖中跨頁(yè)面請(qǐng)求事務(wù)),針對(duì)一個(gè)客戶(hù)端跨請(qǐng)求的事務(wù)目前只有唯一解決方案:只有使用EJB的有態(tài)Session。參考文章:I manage long duration transactions? 
        以上是Java EE 5主要部分,Java EE包含更多其他技術(shù)部分如Jdbc JMS JCA JNDI 等等,需要用戶(hù)在實(shí)踐中摸索。

      附:Java EE 5.0帶來(lái)簡(jiǎn)化開(kāi)發(fā)革命是否名至實(shí)歸?

        作者Debu Panda在其發(fā)表的一篇文章“Is Java EE 5.0 really simplifying development?”中,提出了有關(guān)Java EE 5.0簡(jiǎn)化開(kāi)發(fā)的思索。

        作者在文中提到,“‘JavaEE 5.0通過(guò)公審?fù)镀?#8217;是一件值得關(guān)注的事。因?yàn)镴ava EE 5.0將使Java得企業(yè)開(kāi)發(fā)變得更容易。EJB 3.0,JSF和Web服務(wù)元數(shù)據(jù),這些技術(shù)的應(yīng)用將帶來(lái)開(kāi)發(fā)的簡(jiǎn)化革命。”

        “盡管采用JavaEE 5.0簡(jiǎn)化了商業(yè)的應(yīng)用開(kāi)發(fā),然而我所不能確定的是,應(yīng)用這些技術(shù)的過(guò)程究竟是否得到了簡(jiǎn)化?很早以前我就認(rèn)識(shí)到,在J2EE中調(diào)用web services是一件非常復(fù)雜且易出錯(cuò)的事情;過(guò)程需要簡(jiǎn)化,然而Java EE 5.0草案中并沒(méi)有體現(xiàn)這一點(diǎn)。”

        作者最后指出,“如果EJBs和Web services的客戶(hù)使用并沒(méi)有得到簡(jiǎn)化,就不能說(shuō)Java EE 5.0真正簡(jiǎn)化了開(kāi)發(fā)!”

        全文鏈接:http://radio./0135826/2005/08/17.html

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多