注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計JAVA及其相關J2EE核心模式(原書第2版)

J2EE核心模式(原書第2版)

J2EE核心模式(原書第2版)

定 價:¥55.00

作 者: (美)Deepak Alur,(美)John Crupi,(美)Dan Malks著;劉天北等譯;劉天北譯
出版社: 機械工業(yè)出版社
叢編項: Sun公司核心技術叢書
標 簽: J2EE

ISBN: 9787111159421 出版時間: 2005-03-01 包裝: 平裝
開本: 24cm 頁數(shù): 500 字數(shù):  

內(nèi)容簡介

  本書講解使用J2EE核心技術實現(xiàn)企業(yè)應用過程中的模式、最佳實踐、設計策略以及經(jīng)過驗證的解決方案,涵蓋了JSP、servlet、EJB、JMS等技術,其中J2EE模式目錄包括21個模式以及大量策略,幫助讀者迅速熟練掌握J2EE技術,從而構建出健壯、高效的企業(yè)應用。本書是計算機應用開發(fā)人員、架構師、技術經(jīng)理等人員的必備參考書。本書前言譯者序為一部由GradyBooch和MartinFowler作序的作品寫序言,這個念頭本身就足夠荒謬和僭越,不啻于在莎翁之后再寫一個關于丹麥王子復仇的劇本。大師們的判斷是中肯而毫不含糊的:“沒有這本書,就別開發(fā)EJB?!彼麄兊膿W阋源_認本書在其論域中舍我其誰的地位。是的,這就是“那本”J2EE書。當然,對于廣大中國開發(fā)者而言,我們早就已經(jīng)在“沒有這本書”的條件下開發(fā)了大量J2EE乃至EJB應用系統(tǒng)。那些波折的、不乏磨難的開發(fā)歷程似乎使不少人具備了一種不無理由的自信,在掌握了若干API細節(jié)、若干應用服務器配置訣竅、若干框架類庫用法之后,他們或是公開、或是暗自地把自己當成了當之無愧的Java企業(yè)開發(fā)專家。—不,這些話沒有任何揶揄的意思:我們想說的其實是,本書恰恰是為以上這一類開發(fā)者寫的。對于他們想成為“Java企業(yè)開發(fā)專家”的隱秘欲望,本書就是最大限度的補救和成全。如果說,此前的各種教程都是在介紹J2EE開發(fā)中的“內(nèi)容”要素—也就是,教給我們“做什么”的話,本書關注的則是這里的“形式”要素,即“怎樣做”才能開發(fā)出高效的、優(yōu)雅的J2EE系統(tǒng)。讀者從中學到的,將不僅僅是“J2EE技術”,而是“如何使用J2EE技術進行設計”。換句話說,如果你以前沒有進行過J2EE實踐,但明早將應聘一個需要“1年J2EE開發(fā)經(jīng)驗”的職位,本書中不包含你今晚要徹夜吞咽的那一類知識;相反,如果你,這位未來的“Java企業(yè)開發(fā)專家”,追求的職位是“資深Java應用系統(tǒng)架構師”,如果你預料到未來的上司明天將問起“怎樣實現(xiàn)訪問控制”、“何時采用細粒度的接口設計”等“高階”問題,那么恭喜你,今晚—乃至今后—閱讀本書,你選對了補課的讀物。作為本書第1版的忠實讀者,我們(半是欣喜、半是驚訝地)發(fā)現(xiàn),眼前的這部第2版構成了全新的閱讀體驗。作者們按照最新版J2EE技術規(guī)范(尤其是EJB2.1)全面修訂了技術細節(jié);根據(jù)模式社區(qū)的研究交流,作者們補入了若干模式;即使是一些不涉及技術更新的部分,論述方式、示例也完全不同于第1版;原有的PSA項目(第1版“尾聲”一章)融入了其余各章的“示例代碼”部分;而新增的討論“微架構”的尾聲、對WebService等技術的關注、對各種的持久化方案(定制持久化、EJB、JDO等)的深入討論,都體現(xiàn)出作者們對本書新版的大量投入。受益于本書有年,在此,我們想冒昧地為本書的中國讀者們建議一條高效的閱讀路徑:與第1章相比,第5章“J2EE模式概覽”是讀者更合理的起步點。請?zhí)貏e關注其中對“分層”、“術語”和模式/策略區(qū)別的討論,這些都是貫穿全書的重要概念!其次,應該通讀第2章“表現(xiàn)層設計考慮和不佳實踐”和第3章“業(yè)務層設計考慮和不佳實踐”:即使你不打算使用任何模式,甚至,即使你根本不關心J2EE開發(fā),只要你的工作與分布式企業(yè)應用系統(tǒng)有關,這兩章涉及的問題都是你遲早會遇到的。至于每個具體模式本身,我們則推薦讀者留意其中詳盡的“策略”部分和那些散布其中的“設計手記”。前者討論了對同一個模式的多種實現(xiàn)方案,后者則突出介紹了特定開發(fā)領域的一些核心概念和考慮。一部英文技術論著在漢語中的旅行,永遠是一段難以捉摸的行程。對于本書的漢語譯者,“技術難度”并非挑戰(zhàn):全書討論的正是譯者們最為熟知的一個領域,所以我們能夠負責任地說,在這個中譯本里,沒有任何技術細節(jié)會因為譯者的無知或生疏而發(fā)生變形或曲解。這次翻譯的原則和前提是對原文的徹底領會。事實上,譯者在翻譯工作中遇到的困難主要發(fā)生在“語匯”層面。簡單地說,J2EE專著的譯者總要面對“翻,還是不翻”的兩難處境:對象、函數(shù)的名稱,UML圖中的各種元素,這些內(nèi)容由英語表示早就是約定俗成,即使是英語程度略低的開發(fā)者大概也都能讀懂,所以,在讀者能夠理解的部分盡可能保留原文似乎是一種合理的做法—畢竟開發(fā)工作最終是與代碼有關,而代碼則肯定是要用“英文”的。但在另一方面,翻譯的責任就在于讓不諳英文的讀者也能通達作品,如果譯文中大量段落(不包括示例代碼)都仍保留為英文或“類英文”,那么讀者也就無法直觀地獲得原文包含的信息。反復權衡之后,在這個譯本中譯者的解決方式還是折衷的。工作中我們采取了以下原則:1)術語盡可能采用通用文獻定譯,不自創(chuàng)譯法。對于各個模式的名稱、模式文檔模板各部分名稱、重構手法名稱,我們參考了李英軍等譯《設計模式》(機械工業(yè)出版社,2000年)、熊節(jié)等譯《重構》(中國電力出版社,2003年)等譯作,以及IBMDeveloperWorks中文網(wǎng)站的部分資源。2)本領域的一些常見術語,如果沒有定譯,本書也不自創(chuàng)新語,強譯為中文,而是保留英文原字。這一類的術語包括:applet、servlet、bean、JavaBean、entitybean、sessionbean、EJB、finder、Context、cookie、RowSet、null、scriptlet、WebService。根據(jù)我們的觀察,國內(nèi)的開發(fā)者在日常工作中已經(jīng)習慣按原文使用以上術語。在一些情況下,我們也以注釋形式澄清了這些術語的用法。另外,一些非常直觀的英文表達方式,比如“versus/vs”(“AversusB”即“A對B”、“A與B相比較/對照”),我們也徑用原文—改為漢語既羅嗦,也不直觀。3)模式中的對象名稱,往往按照代碼風格命名,比如“BusinessObject”、“CustomerTO”等。如果對此完全不加翻譯,那么很多充斥這類表達的段落就很難理解。我們的原則是,在每個自然段第一次出現(xiàn)某個這類表達方式時,用括號注明,比如“BusinessObject(業(yè)務對象)”、“CustomerTO(客戶傳輸對象)”等。希望這個做法能夠維持易懂和簡潔之間的平衡。4)書中示例代碼占有相當大的比重,而代碼注釋則是理解這些代碼的關鍵。我們把所有代碼注釋譯為中文。而對在視圖中顯示特定結(jié)果的代碼(比如調(diào)試信息等),我們沒有改為中文,只是在必要時對輸出信息的含義加以注解。如果讀者更信賴代碼原貌,還可以從本書官方網(wǎng)http://www.corej2eepatterns.com/下載原始代碼。5)原書不包含注解,目前的所有注解都是譯注。6)原書申義未暢處,譯文中以方括號[]加以解釋、補足,略去生澀。這與上面三條原則一樣,都類似于在原作講話時的插嘴—但翻譯任務本身,似乎本就已經(jīng)是一種“插嘴”了。在博學的讀者看來,有時候譯者或許還不如保持體面的沉默—但我們只能力圖做到插嘴而不多嘴。7)原書引用了Apache項目的若干代碼,所以附錄中包含Apache軟件授權協(xié)議一頁。中譯本照錄了這份法律文件,未加翻譯。8)幾個關鍵術語的譯名考慮:*application:一般譯為“應用程序”或“應用”。本書中這個詞單獨出現(xiàn)時,往往指的是“企業(yè)應用”,亦即企業(yè)信息應用系統(tǒng)??紤]到“應用程序”容易被理解為“桌面程序(desktopapplication)”,在該詞含有“企業(yè)應用”意味時,我們譯為“應用系統(tǒng)”,其他情況下則譯為“應用”,以示區(qū)別。*client:譯為“客戶端”。但本書中所說的“客戶端”常常是指特定組件的調(diào)用者,不一定是“桌面程序客戶端”,反倒很可能本身也是另一種組件、甚至一個子系統(tǒng)。希望讀者注意該詞在書中的用法。*POJO:軟件方法論大師MartinFowler在《PatternsofEnterpriseApplicationArchitecture》(PEAA)中創(chuàng)造的說法,是plainoldJavaobject的縮寫,指普通Java對象(而不是EJB等組件)。中譯本仍采用“POJO”名稱。*enterprisebean:直譯為“企業(yè)bean”,在本書中就是“enterpriseJavaBean/EJB”的另一說法。為了直觀,我們統(tǒng)一譯為“EJB”。*tier/layer:字面上都是“層”/“層次”。本書中“tier”指的往往是“架構”意義上的分層,比如“表現(xiàn)層”、“業(yè)務層”、“集成層”等,而“l(fā)ayer”既分享了前者的含義,有時也指tier內(nèi)部的中間層次,比如“會話門面”就構成了客戶端和業(yè)務服務之間的一個“l(fā)ayer”。這兩種意思實在很難區(qū)分,中譯本只能都譯為“層”、“層次”。希望讀者在閱讀中體察這種細微差別。*delegate:是設計模式中的重要概念。一般譯為“委派”。但在我們看來,這個譯法還不完整,因為“委派”在漢語中只是動詞,而delegate往往還充當名詞。這次中譯本的做法是,動詞delegate仍譯為“委派”,比如“A把功能F委派給業(yè)務層的B”,而名詞delegate則譯為“代表”,比如“B是A在業(yè)務層的代表”。希望讀者體察,并推薦更好的譯法。原書中所有模式、重構手法、策略的名稱以斜體標出,要點以黑體標出。中譯本一仍其舊。原書經(jīng)多人、多版修訂完成,難免有錯漏、亂排之處。譯者根據(jù)本書官方網(wǎng)站的最新勘誤表訂正,并結(jié)合參照本書第1版《CoreJ2EEPatterns:BestPracticesandDesignStrategies》(AddisonWesley,2001),另外修正了數(shù)十處錯誤。

作者簡介

  Deepak Alur是Sun Java中心的企業(yè)Java架構師,具有14年以上的開發(fā)經(jīng)驗。他的主要研究興趣在于利用面向?qū)ο蠹夹g、模式、Java和J2EE技術完成大型企業(yè)應用的架構、設計和實現(xiàn)。 John Crupi是Sun Java中心的杰出工程師和首度Java架構,他有17年以上的分布式對象開發(fā)經(jīng)驗,他的主要研究興趣在于創(chuàng)建可重用的、可擴展的J2EE架構,以及進一步提升J2EE模式的水準。 Dan Malks是Sun Java中心的主任工程師。他有16年以上的開發(fā)經(jīng)驗,他的主要研究興趣在于面向?qū)ο蠹夹g以及這種技術在企業(yè)級的、基于Web Service的項目中的應用。他發(fā)表過很多作品,其中既有在行業(yè)雜志上發(fā)表的論文,也有討論Jave、J2EE技術及模式的專著。

圖書目錄

第一部分  模式和J2EE
第1章  導論      
什么是J2EE        
什么是模式        
歷史回顧        
模式的定義        
模式的分類        
J2EE模式目錄        
演化過程        
怎樣使用J2EE模式目錄        
使用模式的益處        
模式、框架和重用        
小結(jié)        
第2章  表現(xiàn)層設計考慮和不佳實踐      
表現(xiàn)層設計考慮      
會話管理      
控制客戶端訪問        
驗證        
助手類屬性—完整性和一致性        
表現(xiàn)層不佳實踐        
多個視圖中都包括控制代碼      
把表現(xiàn)層的數(shù)據(jù)結(jié)構暴露給業(yè)務層      
把表現(xiàn)層數(shù)據(jù)結(jié)構暴露給業(yè)務領域?qū)ο?nbsp;     
允許重復提交表單      
把敏感資源暴露給客戶端的直接訪問      
假定 <jsp:setProperty> 會重置Bean屬性      
創(chuàng)建出“胖控制器”      
把視圖助手當成scriplet使用      
第3章  業(yè)務層設計考慮和不佳實踐      
業(yè)務層設計考慮      
使用session bean      
使用entity bean        
緩存EJB的遠程引用和句柄      
業(yè)務層和集成層不佳實踐      
把對象模型直接映射為entity bean模型      
把關系型模型直接映射為entity bean模型      
把每個用例映射為一個session bean      
通過Getter/Setter方法暴露EJB的所有屬性        
在客戶端中包括服務尋址代碼      
把entity bean當成只讀對象使用      
把entity bean當成細粒度對象使用      
存儲entity-bean的整個從屬對象拓撲結(jié)構      
把EJB相關的異常暴露給非EJB客戶端      
使用entity bean finder方法返回大型結(jié)果集      
客戶端負責聚合來自業(yè)務組件的數(shù)據(jù)      
把EJB用于長時間持續(xù)的事務      
每次調(diào)用無狀態(tài)session bean都要重建對話狀態(tài)      
第4章  J2EE重構      
表現(xiàn)層的重構        
引入控制器      
引入同步器令牌      
隔離不同邏輯      
對業(yè)務層隱藏表現(xiàn)細節(jié)      
去除視圖中的轉(zhuǎn)換        
對客戶端隱藏資源      
業(yè)務層和集成層的重構        
用session bean包裝entity bean        
引入業(yè)務代表        
合并session bean        
減少entity bean之間的通信        
將業(yè)務邏輯移至session bean        
一般的重構        
分離數(shù)據(jù)訪問代碼        
按層重構系統(tǒng)架構      
使用連接池        
第二部分  J2EE模式目錄
第5章  J2EE模式概覽      
什么是模式        
發(fā)現(xiàn)模式      
模式 vs. 策略      
分層思路      
J2EE模式      
表現(xiàn)層模式        
業(yè)務層模式      
集成層模式      
J2EE模式目錄指南      
術語        
UML的使用      
模式模板      
J2EE模式關系        
與現(xiàn)有其他模式的關系      
模式路線圖      
小結(jié)      
第6章  表現(xiàn)層模式      
攔截過濾器      
問題        
約束        
解決方案        
效果        
相關模式    
前端控制器        
問題        
約束        
解決方案        
效果        
相關模式        
Context對象      
問題      
約束        
解決方案        
效果      
相關模式        
應用控制器        
問題        
約束        
解決方案      
效果        
相關模式        
視圖助手      
問題        
約束        
解決方案        
效果        
相關模式        
復合視圖        
問題      
約束      
解決方案        
效果        
示例代碼        
相關模式        
服務到工作者        
問題        
約束        
解決方案      
效果        
示例代碼        
相關模式      
分配器視圖        
問題        
約束        
解決方案        
效果        
示例代碼        
相關模式        
第7章  業(yè)務層模式      
業(yè)務代表        
問題        
約束        
解決方案        
效果        
示例代碼        
相關模式        
服務定位器        
問題        
約束        
解決方案        
效果        
示例代碼        
相關模式        
會話門面        
問題        
約束      
解決方案        
效果        
示例代碼      
相關模式        
應用服務        
問題        
約束        
解決方案        
效果        
示例代碼        
相關模式        
業(yè)務對象        
問題        
約束      
解決方案        
效果        
示例代碼        
相關模式        
復合實體        
問題        
約束        
解決方案        
效果        
示例代碼        
相關模式        
傳輸對象        
問題        
約束      
解決方案        
效果        
示例代碼        
相關模式        
傳輸對象組裝器        
問題        
約束        
解決方案        
效果        
示例代碼        
相關模式        
值列表處理器        
問題        
約束        
解決方案        
效果        
示例代碼        
相關模式        
第8章  集成層模式        
數(shù)據(jù)訪問對象        
問題        
約束        
解決方案        
效果        
相關模式        
服務激活器        
問題        
約束        
解決方案      
效果        
相關模式        
業(yè)務領域存儲        
問題        
約束        
解決方案        
效果        
相關模式        
Web Service中轉(zhuǎn)        
問題        
約束        
解決方案      
效果        
相關模式        
尾聲        
Web Worker微架構縱覽        
工作流簡介        
Web Worker微架構        
問題      
約束      
解決方案        
效果        
參考書目        
Apache軟件授權協(xié)議,1.1版        
索引        

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號