J2EE開發(fā)框架畢業(yè)論文中英文資料外文翻譯文獻(xiàn)_第1頁
J2EE開發(fā)框架畢業(yè)論文中英文資料外文翻譯文獻(xiàn)_第2頁
J2EE開發(fā)框架畢業(yè)論文中英文資料外文翻譯文獻(xiàn)_第3頁
J2EE開發(fā)框架畢業(yè)論文中英文資料外文翻譯文獻(xiàn)_第4頁
J2EE開發(fā)框架畢業(yè)論文中英文資料外文翻譯文獻(xiàn)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、外語翻譯漢英材料翻譯漢英材料翻譯J2EE發(fā)展框架羅德約翰遜Java2企業(yè)版在中間件領(lǐng)域的思想統(tǒng)一方面發(fā)揮了巨大作用。例如,J2EE為分布式事務(wù)管理、目錄服務(wù)和消息服務(wù)提供了一組標(biāo)準(zhǔn)編程接口。J2EE基金會(huì)J2SE已經(jīng)成功地為Java提供了一套訪問關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)。然而,正如本文“J2EE缺乏對(duì)編程的支持”中提到的,J2EE平臺(tái)不能提供令人滿意的應(yīng)用編程模型。Sun公司和一些大型應(yīng)用服務(wù)器供應(yīng)商希望使用開發(fā)工具來降低開發(fā)的復(fù)雜性,但是這些工具不如其他JAVA開發(fā)工具好,而且后者擁有高級(jí)的重構(gòu)工具。相比之下。NET平臺(tái),J2EE工具支持非常差。許多J2EE開發(fā)工具自動(dòng)生成與這些工具本身一樣復(fù)雜的代

2、碼。在開源社區(qū)中,許多小的J2EE開發(fā)者選擇了另一種開發(fā)方法,這可以降低J2EE開發(fā)的難度。一些流行的開發(fā)框架,如Struts、Hibernate和Spring Framework,在當(dāng)今許多J2EE項(xiàng)目中扮演著重要的角色。為什么要使用框架?為什么要使用框架?該框架由一些類組成,這些類正式地為應(yīng)用程序提供了一個(gè)可重用的設(shè)計(jì)或者是我們經(jīng)常提到的應(yīng)用程序的一個(gè)層。應(yīng)用程序代碼訪問類庫來執(zhí)行任務(wù),而框架調(diào)用應(yīng)用程序代碼來管理程序流。這就是好萊塢常說的原則:“不要試圖聯(lián)系我們,到時(shí)候我們會(huì)通知你?!遍_發(fā)人員編寫的程序由框架在運(yùn)行時(shí)調(diào)用。設(shè)計(jì)一個(gè)可以在各種未知背景下使用的框架是非常具有挑戰(zhàn)性的。該框架適

3、用于復(fù)雜的J2EE開發(fā),可以為開發(fā)者提供一個(gè)簡(jiǎn)單易用的模型。采用設(shè)計(jì)良好的開源框架有許多優(yōu)點(diǎn):1。在一個(gè)好的框架下,開發(fā)人員只需要編寫一些必要的代碼;他們不需要直接接觸底層的API。這非常重要。2.一個(gè)設(shè)計(jì)良好的框架可以為程序提供一個(gè)清晰的結(jié)構(gòu),并提高程序的內(nèi)聚性。外語翻譯的結(jié)構(gòu)使其他人更容易加入這個(gè)項(xiàng)目。3.一個(gè)易于使用的框架可以通過一些例子和文檔為用戶提供最佳實(shí)踐。4.框架成功的代碼比它自己的代碼更容易測(cè)試。5.該框架只有在提供一些值得使用的功能時(shí)才會(huì)流行。J2EE項(xiàng)目只有在真正需要的時(shí)候才使用框架,但他們自己的框架不是這樣,后者處于主導(dǎo)地位。J2EE本身也提供了一些框架。例如,企業(yè)Jav

4、a-Beans (EJB)容器或Servlet引擎,它們都使用“采用好萊塢原則”的思想,并使用運(yùn)行時(shí)來管理對(duì)象。像Struts這樣的開源網(wǎng)絡(luò)應(yīng)用框架是在這兩個(gè)框架的基礎(chǔ)上正式建立的。本文的重點(diǎn)也放在像Struts這樣的J2EE框架上,它為開發(fā)人員提供了更簡(jiǎn)單的模型和其他好處。開源框架的出現(xiàn)開源框架的出現(xiàn)許多大型J2EE項(xiàng)目使用自己的內(nèi)部框架來隱藏平臺(tái)的復(fù)雜性。直到最近,人們才逐漸發(fā)現(xiàn)許多項(xiàng)目中的一些常見問題,這些問題可以通過更統(tǒng)一的解決方案來解決。一些框架可以作為這些問題的解決方案。現(xiàn)在有一個(gè)明顯的趨勢(shì),與以前的內(nèi)部框架相比,這些框架將成為這些問題的更“標(biāo)準(zhǔn)化”的解決方案。J2EE平臺(tái)的成熟是

5、這些框架流行的原因之一。開發(fā)人員知道有些地方是J2EE的標(biāo)準(zhǔn)應(yīng)用編程接口做不到的。根據(jù)他們的經(jīng)驗(yàn),很難彌補(bǔ)這個(gè)缺陷。同時(shí),一些優(yōu)秀的開源框架也是可用的,它們提供了豐富的技術(shù)文檔。他們背后有一個(gè)專業(yè)團(tuán)隊(duì)支持他們,一切都是免費(fèi)的。當(dāng)網(wǎng)絡(luò)應(yīng)用程序出現(xiàn)時(shí),它有一個(gè)開源框架。在1999-2000年間,開發(fā)人員意識(shí)到了JSP“模型1”的缺陷。JSP充滿了請(qǐng)求處理代碼和靜態(tài)數(shù)據(jù)模板,這意味著您必須將業(yè)務(wù)邏輯與復(fù)雜的HTML和其他標(biāo)簽混合在一起。當(dāng)時(shí),沒有標(biāo)準(zhǔn)框架和J2EE標(biāo)準(zhǔn)支持。為了解決這個(gè)問題,開發(fā)人員必須自己實(shí)現(xiàn)前端控制器,這樣就可以將業(yè)務(wù)邏輯分成java類,從而降低JSP的維護(hù)難度。在MVC架構(gòu)中經(jīng)

6、常使用前端控制器模式,在面向?qū)ο笳Z言的圖形用戶界面開發(fā)中經(jīng)常使用MVC模式(這個(gè)名字總是被誤解,而WEB MVC中的視圖是從模型中“提取”數(shù)據(jù);在經(jīng)典的MVC中,模型將事件“推”到視圖中。初始前端控制器的質(zhì)量參差不齊。從2001年到2002年,由Apache開源組織發(fā)布的Struts改變了這種情況。盡管它不是一個(gè)完美的框架,但它足以成為該領(lǐng)域兩種外語翻譯的標(biāo)準(zhǔn)。Struts向人們展示了開源框架的一些優(yōu)點(diǎn),例如,初學(xué)者可以很容易地熟悉它的結(jié)構(gòu)。在2002年底,這是許多J2EE項(xiàng)目的自然選擇,每個(gè)認(rèn)真的J2EE開發(fā)商都會(huì)熟悉它。幾乎每個(gè)J2EE項(xiàng)目都使用Struts,這使得它成為J2EE建筑的重要

7、組成部分。甚至許多保守的組織都將它視為軟件底層的一部分,并同意接受Apache的開源協(xié)議。休眠休眠的下一個(gè)崩潰的多骨Nomi卡是持久性。J2EE提供了兩種持久的方法:JDBC,這是標(biāo)準(zhǔn)的空氣污染指數(shù);用于訪問J2SE的關(guān)系數(shù)據(jù)庫系統(tǒng);另一個(gè)是實(shí)體Beans,它是EJB的一個(gè)組件,專門為持久實(shí)體建模。JDBC使用了錯(cuò)誤的編程模型來迫使開發(fā)人員使用Java代碼來處理關(guān)系思想。實(shí)體豆,更不用說孫和其他主要供應(yīng)商的吹噓,給人一種沉重的感覺:起初,這種技術(shù)的應(yīng)用范圍很窄,甚至持久對(duì)象之間的關(guān)系都無法處理。這使得應(yīng)用程序難以測(cè)試,并且使用了糟糕的查詢語言。直到2003年,盡管EJB2.0和2.0做了很多改

8、進(jìn),但是開發(fā)人員很少使用它。早期嘗試早期嘗試持久化問題的解決方案由關(guān)系對(duì)象映射(ORM)解決,它可以透明地持久化普通的java對(duì)象(POJO)。注釋中解釋了這個(gè)想法。雖然這個(gè)方案不是java獨(dú)有的。然而,ORM在java社區(qū)中比其他社區(qū)更受歡迎。NET(。NET開發(fā)人員總是對(duì)此有所懷疑)。早在1990年,一些商業(yè)ORM工具就出現(xiàn)了,比如TopLink。然而,由于其價(jià)格高、結(jié)構(gòu)復(fù)雜且與孫的實(shí)體bean標(biāo)準(zhǔn)相反,很少有人會(huì)使用它。無論如何,與JDBC和實(shí)體Bean相比,這些工具在持久化POJO方面取得了巨大的進(jìn)步。2001年,Java數(shù)據(jù)對(duì)象出現(xiàn)在Java社區(qū)進(jìn)程()的規(guī)范中

9、。它為一般的POJO提供了最持久的實(shí)現(xiàn)(盡管許多實(shí)現(xiàn)是針對(duì)關(guān)系數(shù)據(jù)庫的)。然而,Sun公司和其他技術(shù)提供商對(duì)此技術(shù)漠不關(guān)心。因此,JDO并沒有變得受歡迎。3冬眠在外語翻譯中的出現(xiàn)2002年ORM領(lǐng)域發(fā)生了巨大變化,原因有二。首先,實(shí)體Beans在實(shí)踐中失敗了,J2EE的開發(fā)者忽略了它。它向開發(fā)人員展示了一個(gè)規(guī)范是如何將開發(fā)拖入困境的。另一個(gè)原因是Hibernate的發(fā)布,這是第一個(gè)解決關(guān)系對(duì)象映射的功能解決方案。雖然它在功能上不如TopLink多樣。然而,Hibernate在最常用的功能上更加健壯,并且有一個(gè)非常專業(yè)的團(tuán)隊(duì)提供全職開發(fā)。Hibernate不是全新的,它的ORM思想在這個(gè)領(lǐng)域非常

10、普遍,但是它提供的編程模型比任何其他競(jìng)爭(zhēng)對(duì)手更容易使用和更直接,并且它提供了一種更容易使用和更便宜的使用ORM的方法。同時(shí),新一代商業(yè)產(chǎn)品為關(guān)系數(shù)據(jù)庫提供了極其高效的JDO規(guī)范實(shí)現(xiàn)。這樣,開發(fā)商的選擇就更豐富了;此外,TopLink也朝著對(duì)開發(fā)人員友好的方向發(fā)展,它的許可也越來越開放。ORM贏得了一場(chǎng)大勝利。贏得一場(chǎng)大勝利。所有這些因素使ORM比以前更加標(biāo)準(zhǔn)化。盡管許多項(xiàng)目仍然使用它們自己的持久性框架,但是Hibernate、TopLink和一些高端JDO實(shí)現(xiàn)使得使用它們自己的持久性框架更加困難,并且降低了可維護(hù)性。自然,沒有理由使用自己的框架。盡管這些框架的功能覆蓋面非常大,但仍有許多地方?jīng)]

11、有包括在其中。例如,在基于struts和hibernate的項(xiàng)目中,業(yè)務(wù)邏輯很難處理。盡管J2EE規(guī)范提出了這個(gè)問題的解決方案(EJB),但仍然沒有合適的編程模型。Spring J2EE框架已經(jīng)被大規(guī)模地應(yīng)用到項(xiàng)目中,并且項(xiàng)目總是負(fù)責(zé)連接這些框架和它自己的業(yè)務(wù)代碼,以便它們能夠真正地集成在一起。Spring專注于這個(gè)問題,并且與Hibernate很好地集成在一起。本質(zhì)上,Spring是IOC(控制反轉(zhuǎn))和AOP的結(jié)合。它是一個(gè)非侵入性框架,增強(qiáng)了POJO的功能。通過服務(wù)抽象,它將程序代碼從J2EE環(huán)境分離到普通的java對(duì)象(自然,這些代碼可以在沒有J2EE的各種環(huán)境中運(yùn)行)。它還在許多函數(shù)中

12、提供了EJB以外的選項(xiàng)例如,為所有的POJO提供聲明性事務(wù)。Spring廣泛應(yīng)用于許多項(xiàng)目,從小型web程序到大型企業(yè)應(yīng)用程序。這一領(lǐng)域還有其他產(chǎn)品,如海豐和南豐。前者與斯普林的想法大致相同,但在國(guó)際奧委會(huì)中有很大的不同;后者將許多服務(wù)集成到微微容器的IOC容器中。這些產(chǎn)品和J2EE的區(qū)別在于它們非常便攜。在J2EE空氣污染指數(shù)下測(cè)試非常困難。這些容器將POJO與J2EE API分開,這大大降低了測(cè)試的難度。要測(cè)試一個(gè)普通的java對(duì)象,您不需要首先將應(yīng)用程序部署到服務(wù)器,或者您必須自己模擬J2EE環(huán)境。提供一個(gè)日益流行的測(cè)試驅(qū)動(dòng)開發(fā)環(huán)境(這是開發(fā)人員應(yīng)得的)是這些輕量級(jí)容器流行的一個(gè)關(guān)鍵因素

13、。下一個(gè)是誰?下一個(gè)是誰?開源框架越來越受到人們的關(guān)注,它大大降低了許多項(xiàng)目的成本,提高了投入使用和維護(hù)的速度。如今,開源框架質(zhì)量很高,它們都提供了很好的文檔&一些書可以被出版商參考。盡管如此,兩個(gè)主要因素是J2EE領(lǐng)域充滿了不確定性:開源領(lǐng)域和J2EE“標(biāo)準(zhǔn)”之間的沖突,以及AOP日益增長(zhǎng)的重要性。開源和標(biāo)準(zhǔn)之間有兩個(gè)沖突。一個(gè)是表示層。跟在后面的是Sun公司和其他大公司,像Struts這樣的開源產(chǎn)品在這個(gè)領(lǐng)域與之競(jìng)爭(zhēng)。在中間層,EJB 3.0使用J2SE5.0的注釋來實(shí)現(xiàn)依賴注入功能,但該功能只是Spring的一個(gè)子集。在這兩個(gè)領(lǐng)域,開源產(chǎn)品更具創(chuàng)新性。JSP借鑒了ASP.NET的經(jīng)驗(yàn),而Tapestry采用了WebObjects的思想。類似地,我不知道為什么EJB3.0試圖標(biāo)準(zhǔn)化依賴注入,盡管它將不可避免地丟失許多功能。EJB 3.0似乎進(jìn)入了編程領(lǐng)域,但是J2EE規(guī)范還沒有涉足這個(gè)領(lǐng)域。與此同時(shí),AOP在J2EE社區(qū)的重要性已經(jīng)飆升,并且AOP越來越受到開發(fā)者的青睞。Spring和dynaop等“拐杖式aop”的實(shí)現(xiàn),促進(jìn)了AOP的普及。純AOP技術(shù),如AspectJ,將在未來幾年變得流行。其次,JBoss通過JCP與EJB3.0保持一致,這極大地促進(jìn)了AOP技術(shù)的發(fā)展。即便如此,JCP也沒有任何轉(zhuǎn)向美國(guó)石油公

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論