出版時(shí)間:2005年03月 出版社:機(jī)械工業(yè)出版社 作者:(美)Deepak Alur 頁(yè)數(shù):500 譯者:劉天北
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書(shū)講解使用J2EE核心技術(shù)實(shí)現(xiàn)企業(yè)應(yīng)用過(guò)程中的模式、最佳實(shí)踐、設(shè)計(jì)策略以及經(jīng)過(guò)驗(yàn)證的解決方案,涵蓋了JSP、servlet、EJB、JMS等技術(shù),其中J2EE模式目錄包括21個(gè)模式以及大量策略,幫助讀者迅速熟練掌握J(rèn)2EE技術(shù),從而構(gòu)建出健壯、高效的企業(yè)應(yīng)用。本書(shū)是計(jì)算機(jī)應(yīng)用開(kāi)發(fā)人員、架構(gòu)師、技術(shù)經(jīng)理等人員的必備參考書(shū)。
作者簡(jiǎn)介
Deepak Alur是Sun Java中心的企業(yè)Java架構(gòu)師,具有14年以上的開(kāi)發(fā)經(jīng)驗(yàn)。他的主要研究興趣在于利用面向?qū)ο蠹夹g(shù)、模式、Java和J2EE技術(shù)完成大型企業(yè)應(yīng)用的架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)。
John Crupi是Sun Java中心的杰出工程師和首度Java架構(gòu),他有17年以上的分布式對(duì)象開(kāi)發(fā)經(jīng)驗(yàn)
書(shū)籍目錄
第一部分 模式和J2EE 第1章 導(dǎo)論 什么是J2EE 什么是模式 歷史回顧 模式的定義 模式的分類(lèi) J2EE模式目錄 演化過(guò)程 怎樣使用J2EE模式目錄 使用模式的益處 模式、框架和重用 小結(jié) 第2章 表現(xiàn)層設(shè)計(jì)考慮和不佳實(shí)踐 表現(xiàn)層設(shè)計(jì)考慮 會(huì)話(huà)管理 控制客戶(hù)端訪問(wèn) 驗(yàn)證 助手類(lèi)屬性—完整性和一致性 表現(xiàn)層不佳實(shí)踐 多個(gè)視圖中都包括控制代碼 把表現(xiàn)層的數(shù)據(jù)結(jié)構(gòu)暴露給業(yè)務(wù)層 把表現(xiàn)層數(shù)據(jù)結(jié)構(gòu)暴露給業(yè)務(wù)領(lǐng)域?qū)ο? 允許重復(fù)提交表單 把敏感資源暴露給客戶(hù)端的直接訪問(wèn) 假定 會(huì)重置Bean屬性 創(chuàng)建出“胖控制器” 把視圖助手當(dāng)成scriplet使用 第3章 業(yè)務(wù)層設(shè)計(jì)考慮和不佳實(shí)踐 業(yè)務(wù)層設(shè)計(jì)考慮 使用session bean 使用entity bean 緩存EJB的遠(yuǎn)程引用和句柄 業(yè)務(wù)層和集成層不佳實(shí)踐 把對(duì)象模型直接映射為entity bean模型 把關(guān)系型模型直接映射為entity bean模型 把每個(gè)用例映射為一個(gè)session bean 通過(guò)Getter/Setter方法暴露EJB的所有屬性 在客戶(hù)端中包括服務(wù)尋址代碼 把entity bean當(dāng)成只讀對(duì)象使用 把entity bean當(dāng)成細(xì)粒度對(duì)象使用 存儲(chǔ)entity-bean的整個(gè)從屬對(duì)象拓?fù)浣Y(jié)構(gòu) 把EJB相關(guān)的異常暴露給非EJB客戶(hù)端 使用entity bean finder方法返回大型結(jié)果集 客戶(hù)端負(fù)責(zé)聚合來(lái)自業(yè)務(wù)組件的數(shù)據(jù) 把EJB用于長(zhǎng)時(shí)間持續(xù)的事務(wù) 每次調(diào)用無(wú)狀態(tài)session bean都要重建 對(duì)話(huà)狀態(tài) 第4章 J2EE重構(gòu) 表現(xiàn)層的重構(gòu) 引入控制器 引入同步器令牌 隔離不同邏輯 對(duì)業(yè)務(wù)層隱藏表現(xiàn)細(xì)節(jié) 去除視圖中的轉(zhuǎn)換 對(duì)客戶(hù)端隱藏資源 業(yè)務(wù)層和集成層的重構(gòu) 用session bean包裝entity bean 引入業(yè)務(wù)代表 合并session bean 減少entity bean之間的通信 將業(yè)務(wù)邏輯移至session bean 一般的重構(gòu) 分離數(shù)據(jù)訪問(wèn)代碼 按層重構(gòu)系統(tǒng)架構(gòu) 使用連接池 第二部分 J2EE模式目錄 第5章 J2EE模式概覽 …… 第6章 表現(xiàn)層模式 第7章 業(yè)務(wù)層模式 第8章 集成層模式 參考書(shū)目 Apache軟件授權(quán)協(xié)議,1.1版 索引
媒體關(guān)注與評(píng)論
“Java領(lǐng)域的版圖上撒滿(mǎn)了各種類(lèi)庫(kù)、工具和技術(shù)規(guī)范。而缺乏的則是把這些內(nèi)容融合在一起、解決真實(shí)情況下的問(wèn)題的專(zhuān)業(yè)能力。本書(shū)中的這些模式,成為了J2EE軟件建設(shè)過(guò)程中的智能水泥?! 狫ohn Vlissides,《設(shè)計(jì)模式》的作者之一 “〈J2EE核心模式》的作者們提取了一組真正實(shí)用的模式。他們介紹了應(yīng)該如何應(yīng)用這些模式、如何重構(gòu)你的系統(tǒng)以便從模式中獲益。這就像有一個(gè)專(zhuān)家組坐在你旁邊一樣。 ——Grady Booch,Rational軟件公司首席科學(xué)家 “作者們介紹了大量對(duì)于應(yīng)用架構(gòu)極有幫助的模式,這是一項(xiàng)了不起的工作。單單是書(shū)中的‘重構(gòu)’部分就值整本書(shū)的價(jià)錢(qián)!” ——Craig McClanahan,Struts首席架構(gòu)師,JavaServer Faces技術(shù)規(guī)范組負(fù)責(zé)人 開(kāi)發(fā)者們常常把“學(xué)會(huì)一種技術(shù)”和“學(xué)會(huì)使用這種技術(shù)進(jìn)行設(shè)計(jì)”混為一談。在本書(shū)中,Sun Java中心的資深架構(gòu)師們分享了他們多年積累的使用J2EE技術(shù)進(jìn)行設(shè)計(jì)的經(jīng)驗(yàn)?! ”緯?shū)關(guān)注的主要內(nèi)容,是使用J2EE的核心技術(shù)蜒包括JSPTM、Servlet、EJBTM、JMSTMAPI等蜒實(shí)現(xiàn)企業(yè)應(yīng)用過(guò)程中的模式、最佳實(shí)踐、設(shè)計(jì)策略以及經(jīng)過(guò)驗(yàn)證的解決方案。其中的J2EE模式目錄包括21個(gè)模式以及大量策略,有助于記錄、促成運(yùn)用以上技術(shù)的最佳實(shí)踐?! ∏把浴 ∽詮谋緯?shū)第1版出版以來(lái),關(guān)于最初那15個(gè)模式,我們收到了大量反饋意見(jiàn)。最近幾年來(lái),J2EE模式社區(qū)目錄服務(wù)器(JPCLS)上的活動(dòng)一直都非?;钴S、非常成功,每天都有很多精彩的意見(jiàn)交流。在這段時(shí)間里,我們也和客戶(hù)一起進(jìn)行了不少重要的大型J2EE架構(gòu)設(shè)計(jì)、開(kāi)發(fā)項(xiàng)目。把這段時(shí)期的經(jīng)驗(yàn)和反饋植入到原有模式的更新工作和新模式的歸檔工作中,也確實(shí)是一個(gè)費(fèi)力而艱苦的過(guò)程。我們特別關(guān)注了反饋中提及最多的內(nèi)容:對(duì)J2EE技術(shù)規(guī)范和Web Service最新版本的支持?! ∥覀兺耆抻?、更新了最初的15個(gè)模式,使得本書(shū)覆蓋了J2EE技術(shù)1.4版的規(guī)范。我們?cè)谶@些最初的模式中加入了很多新的策略。另外,我們還記錄了6種新模式,以便改進(jìn)模式語(yǔ)言,為構(gòu)建、理解、使用J2EE框架提供更好的概念抽象。雖然這些模式中的每一個(gè)本身都極為實(shí)用,但我們還進(jìn)一步相信,當(dāng)開(kāi)發(fā)者將其組合起來(lái)解決大型問(wèn)題時(shí),它們更能顯出威力。因此在本書(shū)的新版中,引入了一個(gè)我們正在探究的、與此相關(guān)的全新領(lǐng)域,我們稱(chēng)此為“微架構(gòu)”。 所謂“微架構(gòu)”,就是搭建應(yīng)用程序和系統(tǒng)的積木塊。與列入目錄的那些單獨(dú)模式相比,這個(gè)概念是一種更高層面的抽象,它常常表現(xiàn)為一組相互關(guān)聯(lián)的模式組合,用于解決在應(yīng)用架構(gòu)中經(jīng)常重現(xiàn)的一些共通問(wèn)題?! ∥覀儤?lè)于把“微架構(gòu)”當(dāng)作一種由相互關(guān)聯(lián)的模式組成的網(wǎng)絡(luò),由此形成一種現(xiàn)成的解決方案,用于解決一個(gè)粒度更大的問(wèn)題,比如子系統(tǒng)的設(shè)計(jì)?! ”景嬷邪艘粋€(gè)叫Web Worker的微架構(gòu)。它所解決的問(wèn)題是:一個(gè)J2EE應(yīng)用怎樣與一個(gè)工作流系統(tǒng)集成。它特別討論了使用系統(tǒng)集成模式讓工作流系統(tǒng)中的用戶(hù)與J2EE應(yīng)用進(jìn)行交互的問(wèn)題。 本書(shū)講述的是Java 2企業(yè)版平臺(tái)(J2EE)的模式。本書(shū)新版中記錄的J2EE模式,能夠用于解決在J2EE平臺(tái)下進(jìn)行軟件應(yīng)用開(kāi)發(fā)的設(shè)計(jì)者常常遇到的那些問(wèn)題。在這個(gè)模式目錄中記錄的模式都是在設(shè)計(jì)實(shí)戰(zhàn)中發(fā)現(xiàn)的,正是因?yàn)槭褂昧怂鼈?,我們才能為自己的客?hù)創(chuàng)建出了成功的J2EE應(yīng)用?! ”緯?shū)描述了很多在J2EE平臺(tái)下證明可行的解決方案,重點(diǎn)強(qiáng)調(diào)了以下核心J2EE技術(shù): JavaServer Pages (JSP)、servlet、Enterprise JavaBeans (EJB) 組件、Java Message Service (JMS,Java消息服務(wù))、JDBC以及 Java Naming and Directory Interface (JNDI,Java命名與目錄接口)。對(duì)于那些在J2EE平臺(tái)下經(jīng)常重現(xiàn)的問(wèn)題,我們通過(guò)J2EE模式目錄和J2EE重構(gòu)給出了解決方案。在開(kāi)發(fā)新系統(tǒng)或是改進(jìn)現(xiàn)有系統(tǒng)的設(shè)計(jì)時(shí),你可以應(yīng)用這些想法。本書(shū)記錄的這些模式能夠有助于你迅速熟練地掌握J(rèn)2EE技術(shù),從而構(gòu)建出健壯、高效的企業(yè)應(yīng)用?! 〗裉欤缫酝粯?,我們中間有很多人天真地以為,學(xué)會(huì)了一種技術(shù),也就等于是學(xué)會(huì)了用這種技術(shù)進(jìn)行設(shè)計(jì)。誠(chéng)然,對(duì)于利用某一技術(shù)進(jìn)行設(shè)計(jì)來(lái)說(shuō),懂得這種技術(shù)是成功的重要元素之一。但現(xiàn)在有很多Java圖書(shū),對(duì)技術(shù)細(xì)節(jié)(比如API的一些專(zhuān)門(mén)用法等等)做出了出色的講解,但對(duì)如何應(yīng)用這種技術(shù)卻未作深入考察。要想學(xué)會(huì)設(shè)計(jì),就需要實(shí)際設(shè)計(jì)經(jīng)驗(yàn),需要和其他開(kāi)發(fā)者一起分享關(guān)于最佳實(shí)踐和不佳實(shí)踐的知識(shí)?! ”緯?shū)中傳達(dá)的經(jīng)驗(yàn)來(lái)自我們的工作實(shí)戰(zhàn)。我們屬于Sun公司的Sun Java中心(SJC)咨詢(xún)機(jī)構(gòu)。在工作當(dāng)中,我們經(jīng)常遇到一些情況,因?yàn)榧夹g(shù)發(fā)展過(guò)于迅速,設(shè)計(jì)者和開(kāi)發(fā)者都仍然在奮力理解技術(shù)本身,而無(wú)暇理解如何使用該項(xiàng)技術(shù)進(jìn)行設(shè)計(jì)?! ∫虼?,簡(jiǎn)單地告訴設(shè)計(jì)者和開(kāi)發(fā)者怎樣寫(xiě)出優(yōu)秀代碼,或是建議他們使用servlet和JSP開(kāi)發(fā)表現(xiàn)層,用EJB組件開(kāi)發(fā)業(yè)務(wù)層,這都是不夠的?! ∧敲?,在這樣的情況下,一個(gè)熱心的J2EE架構(gòu)師又怎樣才能不單單是學(xué)到“做什么”、還能學(xué)到“不做什么”呢?哪些實(shí)踐構(gòu)成了最佳實(shí)踐?哪些是不佳實(shí)踐?怎樣完成從問(wèn)題到設(shè)計(jì),再到實(shí)現(xiàn)的整個(gè)過(guò)程?Sun Java中心與J2EE模式目錄 從初創(chuàng)時(shí)期以來(lái),Sun Java中心的架構(gòu)師們就在與來(lái)自全球的客戶(hù)一起合作,致力于成功地設(shè)計(jì)、規(guī)劃、構(gòu)建、部署各種不同類(lèi)型的基于Java和J2EE的系統(tǒng)。Sun Java中心是一個(gè)快速成長(zhǎng)的咨詢(xún)機(jī)構(gòu),一直在招募新員工,加入它經(jīng)驗(yàn)豐富的架構(gòu)師隊(duì)伍。 目前已經(jīng)有大量已驗(yàn)證有效的設(shè)計(jì)和構(gòu)架,將這些設(shè)計(jì)經(jīng)驗(yàn)固化下來(lái)并和其他人一起分享,是我們行業(yè)的一項(xiàng)重要需要。我們很早就認(rèn)識(shí)到了這種需要,從1999年就開(kāi)始以模式的形式記錄我們?cè)贘2EE平臺(tái)下的工作經(jīng)驗(yàn)。雖然我們翻閱了各種現(xiàn)有文獻(xiàn),卻沒(méi)能發(fā)現(xiàn)有哪個(gè)模式目錄是專(zhuān)門(mén)記載J2EE平臺(tái)下的模式的。有很多書(shū)論及J2EE技術(shù)中的一種或多種,出色地介紹了技術(shù),剖析了技術(shù)規(guī)范中的微妙細(xì)節(jié)。我們發(fā)現(xiàn)其中有些書(shū)還提供了一些設(shè)計(jì)上的考慮思路,因此也特別有益?! ≡?000年6月的JavaOne大會(huì)上,我們第一次公開(kāi)發(fā)表了我們關(guān)于J2EE模式的想法。從那以來(lái),我們收到了來(lái)自架構(gòu)師和開(kāi)發(fā)者的大量熱忱反饋。其中一些人表示特別樂(lè)意進(jìn)一步學(xué)習(xí)模式,還有一些人則說(shuō),他們使用過(guò)這些模式,只不過(guò)沒(méi)有加以命名、也沒(méi)有記錄下來(lái)罷了。人們體現(xiàn)出來(lái)的對(duì)J2EE模式的興趣鼓勵(lì)我們進(jìn)行進(jìn)一步的工作?! ∫虼耍覀冋沓隽薐2EE模式目錄,在2001年3月,這個(gè)目錄的beta版通過(guò)Java開(kāi)發(fā)者聯(lián)盟(JDC)首次公布給了J2EE社區(qū)?;谡麄€(gè)社區(qū)的大量反饋,那一份beta版的文稿最終發(fā)展成了你現(xiàn)在見(jiàn)到的這本書(shū)?! ∥覀兿M@些在J2EE平臺(tái)下的模式、最佳實(shí)踐、策略、不佳實(shí)踐和重構(gòu)能讓大家從中受益。本書(shū)的討論范圍 本書(shū)討論的內(nèi)容包括: * 在J2EE平臺(tái)下使用模式?! 』谖覀?cè)贘2EE平臺(tái)的經(jīng)驗(yàn),我們編纂了本書(shū)中的模式目錄。這一份J2EE模式目錄描述了在J2EE平臺(tái)下架構(gòu)和設(shè)計(jì)應(yīng)用的最佳實(shí)踐。本書(shū)著重考察了以下J2EE技術(shù):servlet、JSP、EJB組件和JMS?! ? 通過(guò)最佳實(shí)踐來(lái)設(shè)計(jì)應(yīng)用了servlet、JSP、EJB組件和JMS技術(shù)的應(yīng)用系統(tǒng)?! H僅學(xué)會(huì)了技術(shù)本身和API還不足夠,同樣重要的是要學(xué)會(huì)怎樣使用技術(shù)進(jìn)行設(shè)計(jì)。我們記錄了在我們的經(jīng)驗(yàn)中應(yīng)用這些技術(shù)的最佳實(shí)踐?! ? 防止在J2EE平臺(tái)的設(shè)計(jì)和架構(gòu)中“重新發(fā)明輪子”?! ∧J焦膭?lì)設(shè)計(jì)的重用。重用現(xiàn)成的解決方案,能夠縮短設(shè)計(jì)開(kāi)發(fā)應(yīng)用程序的周期—這也當(dāng)然包括J2EE應(yīng)用?! ? 鑒別出現(xiàn)存系統(tǒng)中的不佳實(shí)踐,并利用J2EE模式重構(gòu)這些設(shè)計(jì),以形成更好的解決方案?! ≈滥男┳龇ㄓ行?,這是一件好事。但知道哪些做法無(wú)效也同樣重要。我們?cè)诒緯?shū)中記錄了自己在設(shè)計(jì)J2EE應(yīng)用時(shí)遇到的一些不佳實(shí)踐。本書(shū)不討論的內(nèi)容 本書(shū)沒(méi)有討論以下內(nèi)容: * 如何使用Java或J2EE技術(shù)編程 本書(shū)討論的不是編程。雖然很多內(nèi)容都基于J2EE技術(shù),但我們沒(méi)有描述API細(xì)節(jié)。如果你希望學(xué)習(xí)Java編程,或是學(xué)習(xí)使用J2EE中的任何一種技術(shù),現(xiàn)有很多種出色的著作,還有不少在線(xiàn)資源,都可以作為教程。如果你想要學(xué)習(xí)某一門(mén)特定的技術(shù),我們強(qiáng)烈推薦Java官方主 * 采用哪種開(kāi)發(fā)過(guò)程和方法論 我們并不特別推薦任何一種開(kāi)發(fā)過(guò)程或方法論,因?yàn)楸緯?shū)討論的內(nèi)容與這兩方面都關(guān)系不大。所以,本書(shū)不會(huì)教授任何可以用于開(kāi)發(fā)項(xiàng)目的過(guò)程或方法論。如果你想要學(xué)習(xí)過(guò)程和方法論的話(huà),現(xiàn)已有很多論著討論各種面向?qū)ο蟮姆椒ㄕ?,?duì)于那些輕量級(jí)的過(guò)程,比如極限編程,也有不少新書(shū)論及。 * 怎樣使用統(tǒng)一建模語(yǔ)言(UML) 本書(shū)不會(huì)教你如何使用UML。我們大量地使用了UML(特別是類(lèi)圖和序列圖)來(lái)記錄模式,描述靜態(tài)和動(dòng)態(tài)交互關(guān)系。如果要學(xué)習(xí)UML,請(qǐng)參考Grady Booch、Ivar Jacobson 和James Rumbaugh的著作〈UML用戶(hù)指南》[Booch]以及〈UML參考手冊(cè)》[Rumbaugh]。誰(shuí)應(yīng)該讀這本書(shū) 本書(shū)寫(xiě)給所有熱心關(guān)注J2EE的人,程序員,架構(gòu)師,開(kāi)發(fā)者以及技術(shù)經(jīng)理。簡(jiǎn)單地說(shuō),就是任何對(duì)在J2EE平臺(tái)下設(shè)計(jì)、架構(gòu)、開(kāi)發(fā)應(yīng)用程序有點(diǎn)兒興趣的人?! ∥覀兞D讓這本書(shū)成為一部寫(xiě)給J2EE架構(gòu)師和設(shè)計(jì)者的培訓(xùn)指南。我們認(rèn)為良好的設(shè)計(jì)、架構(gòu)得當(dāng)?shù)捻?xiàng)目具有很高的重要性,所以我們需要優(yōu)秀的架構(gòu)師達(dá)到這個(gè)水準(zhǔn)?! ?duì)于那些開(kāi)發(fā)者水準(zhǔn)參差不齊的開(kāi)發(fā)團(tuán)隊(duì),如果我們把模式、最佳實(shí)踐和不佳實(shí)踐都做出詳盡的歸檔,以此在團(tuán)隊(duì)中實(shí)現(xiàn)知識(shí)與經(jīng)驗(yàn)的共享和傳播,這可能會(huì)起到難以估價(jià)的幫助作用;我們也希望本書(shū)能部分地滿(mǎn)足類(lèi)似需求。本書(shū)的組織 本書(shū)的組織分為兩部分?! 〉谝徊糠帧 〉谝徊糠帧澳J胶蚃2EE”是一個(gè)關(guān)于J2EE和模式的導(dǎo)論。它考察了開(kāi)發(fā)JSP、servlet和EJB時(shí)的設(shè)計(jì)考慮。這一部分也包括了J2EE平臺(tái)下的不佳實(shí)踐和重構(gòu)?! 〉?章“導(dǎo)論”簡(jiǎn)要地討論了多個(gè)問(wèn)題,包括模式、J2EE平臺(tái)、模式的定義以及模式的歸類(lèi)。最后引入了J2EE模式目錄?! 〉?章“表現(xiàn)層設(shè)計(jì)考慮和不佳實(shí)踐”、第3章“業(yè)務(wù)層設(shè)計(jì)考慮和不佳實(shí)踐”分別討論了表現(xiàn)層以及業(yè)務(wù)/集成層的設(shè)計(jì)考慮和不佳實(shí)踐。這里所說(shuō)的設(shè)計(jì)考慮,是指在J2EE平臺(tái)下工作時(shí),一個(gè)J2EE開(kāi)發(fā)者/設(shè)計(jì)者/架構(gòu)師需要考慮的問(wèn)題。在閱讀這兩章中的論題時(shí),可以參照其他的多種資源(比如官方技術(shù)規(guī)范以及一些出色的相關(guān)論著)來(lái)獲得相關(guān)問(wèn)題的一些細(xì)節(jié)信息?! 〉?章“J2EE重構(gòu)”考察了一些重構(gòu),我們?cè)谧约旱膶?shí)際工作中遇到了這些重構(gòu),它們也確實(shí)幫助我們把原本不夠理想的設(shè)計(jì)提升為更好的方案。這些重構(gòu)也提供了看待本書(shū)其他內(nèi)容的另一種思路,我們認(rèn)為這對(duì)于模式目錄是一種有價(jià)值的補(bǔ)充材料。本章體現(xiàn)出Martin Fowler和他的著作〈重構(gòu)》[Fowler]對(duì)我們的影響。對(duì)于熟悉〈重構(gòu)》一書(shū)的讀者,本章的形式也應(yīng)該相當(dāng)眼熟。但是,這一章的內(nèi)容完全基于J2EE技術(shù),而Martin Fowler在他的論著中則是在另一個(gè)層面考察重構(gòu)的。第二部分 第二部分“J2EE模式目錄”列出了J2EE模式目錄。目錄中包含的模式構(gòu)成了本書(shū)的核心內(nèi)容。 第5章“J2EE模式概覽”,是J2EE模式目錄的一個(gè)綜述。這一章一開(kāi)始對(duì)模式的理念進(jìn)行了高層次的討論,并且解釋了我們按照系統(tǒng)的分層對(duì)模式進(jìn)行歸類(lèi)的原因。該章也介紹了我們用來(lái)記錄本書(shū)所有模式的“J2EE模式模板”。該章考察了所有的J2EE模式,并且用一張圖描述了模式之間的相互關(guān)系。另外該章還包括了一種我們稱(chēng)為“模式目錄路線(xiàn)圖”的東西。這張路線(xiàn)圖列舉了一些與J2EE設(shè)計(jì)和架構(gòu)相關(guān)的常見(jiàn)問(wèn)題,并且把這些問(wèn)題與特定的模式或重構(gòu)關(guān)聯(lián)起來(lái),通過(guò)這些模式、重構(gòu)給出了問(wèn)題的解決方案。理解模式之間的關(guān)系以及這張路線(xiàn)圖,對(duì)于實(shí)際應(yīng)用這些模式至關(guān)重要?! 〉?章“表現(xiàn)層模式”描述了8種模式,它們處理的是在J2EE平臺(tái)的Web應(yīng)用設(shè)計(jì)中,怎樣使用servlet、JSP、JavaBeans和定制標(biāo)記的問(wèn)題。在這些模式中描述了多種實(shí)現(xiàn)策略,并且也提出了一些常見(jiàn)問(wèn)題,比如請(qǐng)求處理、應(yīng)用分隔、生成復(fù)合視圖等?! 〉?章“業(yè)務(wù)層模式”,描述了9種模式,它們處理的是怎樣應(yīng)用EJB在J2EE平臺(tái)下設(shè)計(jì)業(yè)務(wù)組件的問(wèn)題。該章介紹的模式提供了應(yīng)用EJB和JMS技術(shù)的最佳實(shí)踐。另外,這些模式的相關(guān)部分還涉及了其他技術(shù)—比如JNDI、JDBC等—的討論?! 〉?章“集成層模式”描述了4種模式,它們處理的是怎樣把J2EE應(yīng)用與資源層和各種外部系統(tǒng)集成起來(lái)的問(wèn)題。這些模式使用了JDBC和JMS技術(shù)在業(yè)務(wù)層和資源層之間實(shí)現(xiàn)集成?! 拔猜暋庇懻摰氖且粋€(gè)高層次的主題:怎樣利用多個(gè)模式一起解決一個(gè)大型問(wèn)題。該章詳盡地討論了“Web Worker微架構(gòu)”這個(gè)示例,展示了如何通過(guò)多個(gè)模式來(lái)集成一個(gè)J2EE應(yīng)用和一個(gè)工作流系統(tǒng)。本書(shū)的官方網(wǎng)站和聯(lián)絡(luò)信息 在本書(shū)的官方網(wǎng)站上,我們會(huì)提供內(nèi)容的更新信息以及其他一些資料。網(wǎng)址是: 這個(gè)網(wǎng)站也附屬于Sun Java藍(lán)圖網(wǎng)站: 你的評(píng)論、建議、反饋都可以通過(guò)以下郵箱寄給作者: j2eepatterns-feedback@sun.com 另外還有J2EE模式社區(qū)郵件列表服務(wù),郵箱為j2eepatterns-interest@java.sun.com,可以免費(fèi)訂閱和參與。通過(guò)以下網(wǎng)址,你可以訂閱興趣小組的郵件,也可以瀏覽以往的討論存檔: 我們想感謝Sun全球軟件服務(wù)副總裁Cheryln Chin、Sun杰出工程師和首席服務(wù)架構(gòu)師James Baty,如果沒(méi)有他們的支持、遠(yuǎn)見(jiàn)以及他們對(duì)我們工作的信賴(lài),本書(shū)的工作就不可能完成?! ∥覀?cè)笇⒆畲蟮母屑ず椭x意致予Rajmohan“Raj”Krishnamurthy。如果沒(méi)有他的幫助,本書(shū)就不會(huì)有這么多示例代碼,而且我們也從他出色的評(píng)論意見(jiàn)中受益匪淺。他對(duì)本書(shū)新版的規(guī)劃、開(kāi)發(fā)、評(píng)審工作做出了不可或缺的幫助?! ”緯?shū)內(nèi)容經(jīng)過(guò)多位專(zhuān)家的審讀,他們的深刻見(jiàn)解、評(píng)論意見(jiàn)、反饋建議,為本書(shū)的最終成型做出了重要貢獻(xiàn),通過(guò)他們的幫助,各個(gè)模式的表述比初稿更加清晰、實(shí)用;因此我們也愿對(duì)以下專(zhuān)家表示謝意:ThoughtWorks公司首席科學(xué)家Martin Fowler;Sun J2EE 藍(lán)圖團(tuán)隊(duì)的Sean Brydon和Inderjeet Singh;Sun公司的Craig Russel,他是 Java數(shù)據(jù)對(duì)象(JDO)技術(shù)規(guī)范的負(fù)責(zé)人/產(chǎn)品架構(gòu)師;ObjectIdentity公司的JDO專(zhuān)家David Jordan;Sun公司的JSP技術(shù)規(guī)范負(fù)責(zé)人Mark Roth;Domain Language的 Eric Evans;BEA系統(tǒng)公司的解決方案架構(gòu)師Mario Kosmiskas;LogicLibrary負(fù)責(zé)技術(shù)的副總裁Brent Carlson;Macromedia 的Sean Neville;Sun Java中心的Java架構(gòu)師Sameer Tyagi;Chris Steel;Bill Dudney;Gary Bollinger;以及ThoughtWorks公司的Gregor Hohpe?! ∠襁@樣一本書(shū),肯定需要來(lái)自各方面的難以計(jì)數(shù)的幫助才能得以完成,所以我們很難面面俱到地感謝每一個(gè)人為此做出的貢獻(xiàn)?! ∥覀兿敫兄xJames Gosling和Michael Van de Vanter 領(lǐng)導(dǎo)的Sun Jackpot團(tuán)隊(duì),他們的工作將本書(shū)推進(jìn)到了全新的舞臺(tái)上?! ∥覀冞€想感謝Chuck Geiger領(lǐng)導(dǎo)的eBay.com V3團(tuán)隊(duì)、Terry Bone領(lǐng)導(dǎo)的福特金融中心的ATD框架團(tuán)隊(duì),他們?cè)谄髽I(yè)中實(shí)際應(yīng)用了J2EE模式來(lái)構(gòu)建下一代的系統(tǒng)架構(gòu)和平臺(tái)。 感謝Sun Java中心的同事Murali Kaundinya、Ashok Mollin、Ramesh Nagappan和Heidi Schuster?! ∥覀兿敫兄xJetBrains公司提供的IntelliJ IDEA開(kāi)發(fā)工具,為本書(shū)編寫(xiě)示例代碼時(shí)我們使用了這種工具,相當(dāng)滿(mǎn)意?! ∥覀冞€想感謝J2EE模式社區(qū)郵件列表(j2eepatterns-interest@sun.com)上的很多成員,多年以來(lái)他們的討論和反饋一直很有幫助?! √貏e要對(duì)本書(shū)的技術(shù)編輯Solveig Haugland說(shuō)一聲“謝謝”。她是我們團(tuán)隊(duì)的重要一員。她在技術(shù)上的編輯工作大大提高了本書(shū)終稿的質(zhì)量?! ∥覀兿敫兄xPrentice Hall出版社的Greg Doench和Debby Van Dijk給予我們的信任和鼓勵(lì)?! √貏e感謝無(wú)糖紅牛飲料提供的動(dòng)力,讓我們能每天寫(xiě)作16小時(shí)。第1版致謝 我們想感謝Sun全球Java中心的主管Stu Stern和負(fù)責(zé).COM咨詢(xún)的副總裁Mark Bauhaus,如果沒(méi)有他們的支持、遠(yuǎn)見(jiàn)以及對(duì)我們工作的信賴(lài),本書(shū)的工作就不可能完成。 我們想感謝Ann Betser,要不是她的支持、鼓勵(lì)和循循善誘的建議,我們的工作也不會(huì)成功?! ∥覀兿雽?duì)Sun Java中心(SJC)PSA/iWorkflow參考實(shí)現(xiàn)開(kāi)發(fā)團(tuán)隊(duì)的架構(gòu)師們表達(dá)誠(chéng)摯的感謝,他們是:Fred Bloom、Narayan Chintalapati、Anders Eliasson、Kartik Ganeshan、Murali Kalyanakrishnan、Kamran Khan、Rita El Khoury、Rajmohan Krishnamurty、Ragu Sivaraman、Robert Skoczylas、Minnie Tanglao和Basant Verma?! ∥覀兿敫兄xSun Java中心J2EE模式工作組的成員們: Mohammed Akif、Thorbi歳n Fritzon、 Beniot Garbinato、Paul Jatkowski、Karim Mazouni、Nick Wilde和Andrew X. Yang?! ∥覀兿敫兄xSun Java中心的首席方法專(zhuān)家Brendan McCarthy,他令我們的工作諸事協(xié)調(diào),并提出了大量建議?! ∥覀兿敫兄x把這些模式介紹給客戶(hù)的Jennifer Helms和John Kapson。 我們想對(duì)以下來(lái)自世界各地的Sun Java中心架構(gòu)師表達(dá)謝意,他們的支持、反饋、建議都令我們受益匪淺,他們是:Mark Cade、Mark Cao、Torbj歳n Dahl巒、Peter Gratzer、Bernard Van Haecke、Patricia de las Heras、Scott Herndon、Grant Holland、Girish Ippadi、Murali Kaundinya、Denys Kim、Stephen Kirkham、Todd Lasseigne、Sunil Mathew、Fred Muhlenberg、Vivek Pande、John Prentice、Alexis Roos、Gero Vermaas、Miguel Vidal。 我們想對(duì)支持、鼓勵(lì)我們的管理者Hank Harris、Dan Hushon、Jeff Johnson、Nimish Radia、Chris Steel和Alex Wong表達(dá)謝意?! ∥覀冞€想感謝在Sun公司中與我們合作的以下同事: Sun軟件系統(tǒng)組的Bruce Delagi;Sun軟件工程部門(mén)的Mark Hapner、Vlada Matena; Forte產(chǎn)品組的Paul Butterworth和Jim Dibble;iPlanet產(chǎn)品組的Deepak Balakrishna;J2EE藍(lán)圖團(tuán)隊(duì)的Larry Freeman、Cori Kaylor、Rick Saletta和Inderjeet Singh;Heidi Dailey;Java開(kāi)發(fā)者聯(lián)盟的Dana Nourie、Laureen Hudson、Edward Ort、Margaret Ong和Jenny Pratt?! ∥覀兿敫兄x以下各位對(duì)本書(shū)的反饋、建議和支持: ThoughtWorks公司的Martin Fowler和Josh Mackenzie;Richard Monson Haefel; Goldman Sachs公司的 Phil Nosonowitz 和Carl Reed;Rational軟件公司的Jack Greenfield、Wojtek Kozaczynski和Jon Lawrence;TogetherSoft的Alexander Aptus;Zaplets.com 的Kent Mitchell ;Bill Dudney; David Geary; Hans Bergsten; J2EE模式興趣小組 (j2eepatterns-interest@ java. sun.com) 的成員?! ∥覀兿雽?duì)本書(shū)的首席技術(shù)編輯Beth Stearns表示特別的謝意和感激,她負(fù)責(zé)整理我們的手稿,讓全書(shū)明了可讀,與此同時(shí)還要隨時(shí)掌控我們的工作進(jìn)度,同我們一道完成一個(gè)高強(qiáng)度的工作計(jì)劃?! ∥覀兿敫兄x技術(shù)編輯Daniel S. Barclay、Steven J. Halter、Spencer Roberts和Chris Taylor,他們出眾的專(zhuān)業(yè)能力、細(xì)致的評(píng)審反饋對(duì)本書(shū)的完成非常重要?! ∥覀兿敫兄xPrentice Hall出版社的Greg Doench、Lisa Iarkowski、Mary Sudul和Debby Van Dijk;Sun公司出版社的Michael Alread和Rachel Borden,他們使本書(shū)的誕生成為可能。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版