出版時(shí)間:2009-12 出版社:電子工業(yè) 作者:劉中兵 頁數(shù):552 字?jǐn)?shù):1044000
Tag標(biāo)簽:無
前言
一、本書培訓(xùn)舊標(biāo) Java Web即Java EE,它是面向企業(yè)級(jí)的網(wǎng)絡(luò)系統(tǒng),其中的“企業(yè)級(jí)”和“網(wǎng)絡(luò)”(分布式)代表了JavaWeb開發(fā)的核心目標(biāo)。在Java EE最新的規(guī)范中提供了進(jìn)行企業(yè)級(jí)開發(fā)的框架組件EJB,并同時(shí)提供了多種分布式服務(wù)開發(fā)技術(shù)方案,以及多種企業(yè)應(yīng)用的業(yè)務(wù)解決方案?! ≡谶M(jìn)行分布式架構(gòu)和設(shè)計(jì)中涉及到如下5個(gè)層次的技術(shù): 本書將針對(duì)這5個(gè)層次的技術(shù)進(jìn)行詳細(xì)講解: 如果說1ava Web的各種技術(shù)與框架是構(gòu)建一個(gè)大廈的磚與梁,那么進(jìn)行Java Web系統(tǒng)的設(shè)計(jì)與架構(gòu),就是使用這些磚和梁來建造各種結(jié)構(gòu)和風(fēng)格的大廈,這就是軟件架構(gòu)設(shè)計(jì)的主旨。要進(jìn)行Java Web系統(tǒng)的架構(gòu)設(shè)計(jì),首先需要從抽象的層次對(duì)Java語言進(jìn)行各種基本功的訓(xùn)練?! 。?)Java與UML建模:建模是進(jìn)行軟件架構(gòu)設(shè)計(jì)的表示工具,共5類10種圖,包括用例圖、靜態(tài)圖(類圖、對(duì)象圖、包圖)、實(shí)現(xiàn)圖(組件圖、部署圖)、行為圖(狀態(tài)圖、活動(dòng)圖)、交互圖(序列圖、協(xié)作圖)?! 。?)Java設(shè)計(jì)模式:設(shè)計(jì)模式是進(jìn)行軟件架構(gòu)設(shè)計(jì)的代碼模式,共包括3種類型21種模式?! ?chuàng)建型模式(5種):抽象工廠/建造者/工廠方法/原型/單例。 結(jié)構(gòu)型模式(7種):適配器/橋接/組合/裝飾/外觀/享元/代理?! ⌒袨樾湍J剑?1種):責(zé)任鏈/命令/解釋器/迭代子/中介者/備忘錄/觀察者/狀態(tài)/策略/模板方法/訪 ?! 栒??! ∪缓笥?xùn)練各種風(fēng)格的架構(gòu)形式,除了Java Web高級(jí)技術(shù)中講解的分布式架構(gòu)外,還有3種架構(gòu)形式。 ?。?)面向服務(wù)架構(gòu)SOA:以WebService為基礎(chǔ),基于SOAP協(xié)議實(shí)現(xiàn)與各種語言系統(tǒng)的分布式調(diào)用,講解的技術(shù)包括: Web服務(wù)協(xié)議(SOAP、WSDL、UDDI)?! eb服務(wù)開發(fā)技術(shù)(使用JAX-WS、Axis開發(fā)Web服務(wù))?! OA架構(gòu)技術(shù)(Sun公司的JBI和IBM/BEA公司的SCA/SDO、OSGi架構(gòu))?! OA延伸技術(shù)(BPEL業(yè)務(wù)流程管理、ESB企業(yè)服務(wù)總線與EAI企業(yè)應(yīng)用集成)?! OA擴(kuò)展應(yīng)用(Portal門戶組件與Pottlet窗口組件)?! 。?)面向資源架構(gòu)ROA:以資源的形式規(guī)劃網(wǎng)絡(luò)結(jié)構(gòu),將網(wǎng)絡(luò)上的各種增、刪、改、查的操作都定義為統(tǒng)一的URL資源,保持永久的唯一性,這就是Restful風(fēng)格?! 。?)面向云架構(gòu)(20A:以云的形式提供廣闊的網(wǎng)絡(luò)服務(wù),讓用戶能夠隨時(shí)隨地利用互聯(lián)網(wǎng)做各種事情,講解的技術(shù)包括網(wǎng)格計(jì)算、集群計(jì)算、分布式計(jì)算、云計(jì)算。 以上內(nèi)容實(shí)際上也是進(jìn)行分布式架構(gòu)設(shè)計(jì)的完美詮釋。
內(nèi)容概要
本書講解JavaWeb系統(tǒng)設(shè)計(jì)與架構(gòu),包括Java與UML建模技術(shù)、Java設(shè)計(jì)模式、面向服務(wù)架構(gòu)SOA、面向資源架構(gòu)ROA、面向云架構(gòu)COA,這5部分內(nèi)容層層遞進(jìn),涵蓋了JavaEE開發(fā)中的各種設(shè)計(jì)與架構(gòu)技術(shù)。講解的主要內(nèi)容包括如下。 Java與UML建模:講解UML建模的5類10種圖,包括用例圖、靜態(tài)圖(類圖、對(duì)象圖、包圖)、實(shí)現(xiàn)圖(組件圖、部署圖)、行為圖(狀態(tài)圖、活動(dòng)圖)、交互圖(序列圖、協(xié)作圖),并結(jié)合Bug管理系統(tǒng)、ATM取款機(jī)等實(shí)例進(jìn)行講解。 Java設(shè)計(jì)模式:包括5種創(chuàng)建型模式(工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式)、7種結(jié)構(gòu)型模式(適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式)、11種行為型模式(策略模式、模板方法模式、觀察者模式、迭代子模式、責(zé)任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問者模式、中介者模式、解釋器模式),并通過Java中的經(jīng)典案例進(jìn)行展示。 面向服務(wù)架構(gòu)SOA:講解Web服務(wù)協(xié)議(SOAP、WSDL、UDDI)、Web服務(wù)開發(fā)技術(shù)(使用JAX-WS、Axis開發(fā)Web服務(wù))、SOA架構(gòu)技術(shù)(Sun公司的JBI和IBM/BEA公司的SCA/SDO、OSGi架構(gòu))、SOA延伸技術(shù)(BPEL業(yè)務(wù)流程管理、ESB企業(yè)服務(wù)總線與EAI企業(yè)應(yīng)用集成)、SOA擴(kuò)展應(yīng)用(Portal門戶組件與Portlet窗口組件)。 面向資源架構(gòu)ROA:講解REST產(chǎn)生的背景、概念、基本原理、設(shè)計(jì)方法,以及常用REST開源框架、ROA面向資源架構(gòu)。 面向云架構(gòu)COA:講解云計(jì)算的幾個(gè)發(fā)展階段的概念,包括網(wǎng)格計(jì)算、集群計(jì)算、分布式計(jì)算和云計(jì)算,以及云服務(wù)的特點(diǎn)、實(shí)現(xiàn)形式和實(shí)際應(yīng)用。隨書附贈(zèng)光盤內(nèi)容為本書各種原型包、系統(tǒng)源程序。 本書適合作為Java相關(guān)培訓(xùn)機(jī)構(gòu)的教材,也可作為Java自學(xué)人員的參考手冊。
作者簡介
劉中兵,Java研究室首席技術(shù)專家,應(yīng)用數(shù)學(xué)專業(yè),曾任職于清華同方、NEC等企業(yè),長期深入Java/Java EE大型企業(yè)應(yīng)用的架構(gòu)、設(shè)計(jì)與開發(fā)工作,目前專注于手機(jī)無線互聯(lián)網(wǎng)與網(wǎng)絡(luò)通信領(lǐng)域的架構(gòu)設(shè)計(jì)與研究工作。
書籍目錄
緒論 軟件設(shè)計(jì)與架構(gòu)概述 一、Java與UML建模 二、Java設(shè)計(jì)模式 1.創(chuàng)建型模式 2.結(jié)構(gòu)型模式 3.行為型模式 三、系統(tǒng)架構(gòu) 1.面向服務(wù)架構(gòu)SOA 2.面向資源架構(gòu)ROA 3.面向云架構(gòu)COA第1部分 Java與UML建?!〉?課 UML快速入門 1.1 UML建模概述 1.1.1 面向?qū)ο蠓椒ā? 1.1.2 面向?qū)ο蠼MT 1.1.3 統(tǒng)一建模語言UML 1.1.4 UML的起源和發(fā)展 1.1.5 為什么要使用UML 1.2 UML基本構(gòu)成元素 1.2.1 4種事物 1.結(jié)構(gòu)事物(Structural Things) 2.行為事物(Behavioral Things) 3.分組事物(Grouping Things) 4.注釋事物(Annotational Things) 1.2.2 4種關(guān)系 1.依賴(Dependencies) 2.關(guān)聯(lián)(Association) 3.泛化(Generalization) 4.實(shí)現(xiàn)(Realization) 1.2.3 10種圖 1.用例圖(UsecaseDiagram) 2.類圖(ClassDiagram) 3.對(duì)象圖(Object Diagram) 4.包圖(Package Diagram) 5.組件圖(Compoment Diagram) 6.部署圖(Deployment Diagram) 7.狀態(tài)圖(Statechart Diagram) 8.活動(dòng)圖(Activity Diagram) 9.序列圖(Sequence Diagram) 10.協(xié)作圖(Collaboration Diagram) 1.2.4 UML圖的分類 1.3 UML設(shè)計(jì)工具 1.3.1 使用Rose進(jìn)行UML建?!? 1.3.2 使用Visio進(jìn)行UML建?! ?.4 本課小結(jié) 1.4.1 本課圖例打包UML.mdl 1.4.2 總結(jié)本課的知識(shí)點(diǎn) 1.4.3 要掌握的關(guān)鍵點(diǎn) 1.4.4 課后上機(jī)作業(yè) 1.4.5 繼續(xù)下一課:用例圖 第2課 用例圖 2.1 用例概述 2.1.1 什么是用例 2.1.2 為什么要使用用例 2.1.3 用例圖的基本模型元素 2.2 用例圖的繪制 2.2.1 參與者的表示法 2.2.2 用例的表示法 2.2.3 系統(tǒng)邊界的表示法 2.2.4 通信關(guān)聯(lián)的表示法 2.3 用例圖的建立過程 2.3.1 發(fā)現(xiàn)參與者及檢查標(biāo)準(zhǔn) 2.3.2 發(fā)現(xiàn)用例及檢查標(biāo)準(zhǔn) 2.3.3 編寫用例規(guī)約 2.3.4 用例圖創(chuàng)建技巧 2.4 本課小結(jié) 2.4.1 本課圖例打包usecase.mdl 2.4.2 總結(jié)本課的知識(shí)點(diǎn) 2.4.3 要掌握的關(guān)鍵點(diǎn) 2.4.4 課后上機(jī)演練——企業(yè)產(chǎn)品生產(chǎn)銷售管理系統(tǒng) 2.4.5 繼續(xù)下一課:靜態(tài)圖一類圖、對(duì)象圖、包圖 第3課 靜態(tài)圖——類圖、對(duì)象圖、包圖 3.1 類圖的繪制 3.1.1 類圖的表示法 1.類圖的表示法 2.類圖屬性的表示法 3.類圖操作的表示法 3.1.2 接口的表示法 3.1.3 類圖之問的4種關(guān)系 1.泛化關(guān)系(Generalization)——表示類的繼承 2.關(guān)聯(lián)關(guān)系(Association)——表示類的變量 3.依賴關(guān)系(Dependency)——表示局部變量 4.實(shí)現(xiàn)關(guān)系(Realization)——表示接口的實(shí)現(xiàn) 3.2 對(duì)象圖的繪制 3.2.1 對(duì)象圖的表示法 3.2.2 對(duì)象圖的使用場景一序列圖和協(xié)作圖 3.3 包圖的繪制 3.3.1 包圖的表示法 3.3.2 使用包包含類 3.3.3 使用包包含子包 3.3.4 包的依賴關(guān)系 3.4 本課小結(jié) 3.4.1 本課圖例打包c(diǎn)lass.mdl 3.4.2 總結(jié)本課的知識(shí)點(diǎn) 3.4.3 課后上機(jī)演練一企業(yè)信息管理系統(tǒng)用戶登錄和注冊模塊 3.4.4 繼續(xù)下一課:實(shí)現(xiàn)圖——組件圖與部署圖 第4課 實(shí)現(xiàn)圖——組件圖與部署圖 4.1 組件圖的繪制 4.1.1 組件的表示法 4.1.2 程序的表示法 1.子程序規(guī)范 2.子程序體 3.主程序 4.1.3 包的表示法 1.包規(guī)范 2.包體 4.1.4 任務(wù)的表示法 1.任務(wù)規(guī)范 2.任務(wù)體 4.1.5 組件之間的依賴 4.2 部署圖的繪制 4.2.1 處理器節(jié)點(diǎn)的表示法 4.2.2 設(shè)備節(jié)點(diǎn)的表示法 4.2.3 節(jié)點(diǎn)之間的關(guān)聯(lián) 4.3 本課小結(jié) 4.3.1 本課圖例打包c(diǎn)omponent.mdl 4.3.2 總結(jié)本課的知識(shí)點(diǎn) 4.3.3 要掌握的關(guān)鍵點(diǎn) 4.3.4 課后上機(jī)演練一企業(yè)信息管理系統(tǒng)部署圖 4.3.5 繼續(xù)下一課:行為圖一狀態(tài)圖 第5課 行為圖——狀態(tài)圖 5.1 狀態(tài)圖的繪制 5.1.1 狀態(tài)圖的基本模型 5.1.2 狀態(tài)的表示法 5.1.3 轉(zhuǎn)換的表示法 5.2 狀態(tài)的繪制 5.2.1 初始狀態(tài)的表示法 5.2.2 終止?fàn)顟B(tài)的表示法 5.2.3 子狀態(tài)的表示法 5.2.4 歷史狀態(tài)的表示法 5.3 本課小結(jié) 5.3.1 本課圖例打包statechart.mdl 5.3.2 總結(jié)本課的知識(shí)點(diǎn) 5.3.3 要掌握的關(guān)鍵點(diǎn) 5.3.4 課后上機(jī)演練 1.Bug管理系統(tǒng)狀態(tài)圖 2.ATM機(jī)存取款狀態(tài)圖 3.Java線程類Thread的狀態(tài)圖 5.3.5繼續(xù)下一課:行為圖——活動(dòng)圖 第6課 行為圖——活動(dòng)圖 6.1 活動(dòng)圖的繪制 6.1.1 活動(dòng)圖的基本模型 6.1.2 活動(dòng)的表示法 6.1.3 轉(zhuǎn)換的表示法 6.1.4 分支與合并的表示法 6.1.5 分叉與匯合的表示法 6.1.6 泳道的表示法 6.2 本課小結(jié) 6.2.1 本課圖例打包activity.mdl 6.2.2 總結(jié)本課的知識(shí)點(diǎn) 6.2.3 要掌握的關(guān)鍵點(diǎn) 6.2.4 課后上機(jī)演練 1.Bug管理系統(tǒng)活動(dòng)圖 2.ATM機(jī)存取款活動(dòng)圖 3.Java線程類Thread的活動(dòng)圖 第7課 交互圖——序列圖 7.1 序列圖的繪制 7.1.1 序列圖的基本模型 7.1.2 對(duì)象生命線的表示法 7.1.3 激活的表示法 7.1.4 消息的表示法 7.1.5 自調(diào)用消息的表示法 7.2 本課小結(jié) 7.2.1 本課圖例打包sequence.mdl 7.2.2 總結(jié)本課的知識(shí)點(diǎn) 7.2.3 要掌握的關(guān)鍵點(diǎn) 7.2.4 課后上機(jī)演練 1.Bug管理系統(tǒng)序列圖 2.ATM機(jī)存取款序列圖 3.打電話序列圖 7.2.5 繼續(xù)下一課:交互圖——協(xié)作圖 第8課 交互圖——協(xié)作圖 8.1 協(xié)作圖的繪制 8.1.1 協(xié)作圖的基本模型 8.1.2 對(duì)象的表示法 8.1.3 連接的表示法 8.1.4 消息的表示法 8.1.5 自調(diào)用消息的表示法 8.2 本課小結(jié) 8.2.1 本課圖例打包c(diǎn)ollaboration.mdl 8.2.2 總結(jié)本課的知識(shí)點(diǎn) 8.2.3 要掌握的關(guān)鍵點(diǎn) 8.2.4 課后上機(jī)演練 1.Bug管理系統(tǒng)協(xié)作圖 2.ATM機(jī)存取款協(xié)作圖 3.打電話協(xié)作圖 8.2.5 繼續(xù)下一課:使用UML進(jìn)行系統(tǒng)設(shè)計(jì)——Bug管理系統(tǒng) 第9課 使用UML進(jìn)行系統(tǒng)設(shè)計(jì)——Bug管理系統(tǒng) 9.1 UML系統(tǒng)設(shè)計(jì)概述 9.1.1 軟件開發(fā)的驅(qū)動(dòng)方法 1.數(shù)據(jù)庫驅(qū)動(dòng)開發(fā)DDD(Database-Driven Development) 2.測試驅(qū)動(dòng)開發(fā)TDD(Test-Driven Development) 3.模型驅(qū)動(dòng)開發(fā)MDD(Model.Driven Development) 9.1.2 正向工程與逆向工程 1.正向工程(Forward Engineering) 2.逆向工程(Reverse Engineering) 9.1.3 UML建模的受眾分析 9.1.4 UML建模的過程 9.2 Bug管理系統(tǒng)的模型驅(qū)動(dòng)開發(fā)過程 9.2.1 需求分析一用例圖 9.2.2 系統(tǒng)分析:分析業(yè)務(wù)規(guī)則一狀態(tài)圖 9.2.3 系統(tǒng)分析:分析業(yè)務(wù)流程一活動(dòng)圖 9.2.4 系統(tǒng)設(shè)計(jì):設(shè)計(jì)靜態(tài)結(jié)構(gòu)——類圖和包圖 9.2.5 系統(tǒng)設(shè)計(jì):Action類被調(diào)用關(guān)系——序列圖 9.2.6 系統(tǒng)設(shè)計(jì):用戶調(diào)用Action類的過程一協(xié)作圖 9.2.7 系統(tǒng)架構(gòu)一組件圖和部署圖 9.2.8 編碼實(shí)現(xiàn) 9.2.9 UML圖例打包bug.mdl 9.3 本課小結(jié) 9.3.1 總結(jié)本課的知識(shí)點(diǎn) 9.3.2 要掌握的關(guān)鍵點(diǎn) 9.3.3 課后上機(jī)演練 9.3.4 繼續(xù)下一課:Java設(shè)計(jì)模式第2部分 Java設(shè)計(jì)模式 第10課 設(shè)計(jì)模式概述 10.1 了解設(shè)計(jì)模式 10.1.1 設(shè)計(jì)模式的概念 10.1.2 設(shè)計(jì)模式的產(chǎn)生——23種設(shè)計(jì)模式與GoF“四人幫” 10.1.3 設(shè)計(jì)模式不是技術(shù)而是思想——構(gòu)建可重用的程序 …… 第11課 5種創(chuàng)建型模式 第12課 7種結(jié)構(gòu)型模式 第13課 11種行為型模式第3部分 面各服務(wù)架構(gòu)SOA 第14課 Web服務(wù)協(xié)議——SOAP、WSDL、UDDI和WS協(xié)議集 第15課 Web服務(wù)開發(fā)技術(shù)——使用JAX-WS開發(fā)Web服務(wù) 第16課 Web服務(wù)開發(fā)框架——使用Axis框架開發(fā)Web服務(wù) 第17課 SOA面向服務(wù)架構(gòu)——Sun的JBI和IBM/BEA的SCA/SDO 第18課 JBI業(yè)務(wù)集成架構(gòu)——Java實(shí)現(xiàn)SOA的標(biāo)準(zhǔn)途徑 第19課 SCA服務(wù)組件架構(gòu)——實(shí)現(xiàn)SOA的最佳方式 第20課 SDO服務(wù)數(shù)據(jù)對(duì)象——SCA數(shù)據(jù)服務(wù)組件 第21課 OSGi體系架構(gòu)——SCA的一種實(shí)現(xiàn)方式 第22課 SOA延伸技術(shù)——BPEL業(yè)務(wù)流程管理、ESB企業(yè)服務(wù)總線與EAI企業(yè)應(yīng)用集成 第23課 SOA擴(kuò)展應(yīng)用——Portal門戶組件與Portlet窗口組件 第24課 SOA服務(wù)架構(gòu)開發(fā)實(shí)戰(zhàn)——基于Tuscany+Spring企業(yè)信息管理系統(tǒng) 第25課 ROA面向資源架構(gòu)——基于REST風(fēng)格的Web服務(wù)第5部分 面向云架構(gòu)COA 第26課 COA面向架構(gòu)——云計(jì)算與云架構(gòu)第6部分 架構(gòu)師之路 第27課 軟件架構(gòu)師職業(yè)規(guī)劃《高手真經(jīng)》系列后記
章節(jié)摘錄
以前,我們在用FORTRAN、C語言進(jìn)行編程時(shí),使用了面向過程的程序設(shè)計(jì)方法,也就是所謂的結(jié)構(gòu)化方法。這種方法強(qiáng)調(diào)對(duì)系統(tǒng)功能進(jìn)行抽象,系統(tǒng)功能的實(shí)現(xiàn)是通過對(duì)若干個(gè)模塊的調(diào)用來完成的。這種方法并不能夠降低軟件開發(fā)成本,提高軟件生產(chǎn)率。為了提高生產(chǎn)效率,便產(chǎn)生了面向?qū)ο蟮姆椒?。 在面向?qū)ο蠓椒ㄖ?,把客觀世界的實(shí)體稱為問題對(duì)象,對(duì)象都有自己的運(yùn)動(dòng)狀態(tài)及運(yùn)動(dòng)規(guī)律,不同對(duì)象之間的相互作用和相互通信就構(gòu)成了完整的客觀世界。由于采用了數(shù)據(jù)抽象和封裝技術(shù),面向?qū)ο蟮某绦蛟O(shè)計(jì)降低了各模塊間的關(guān)聯(lián)程度,這就相對(duì)減少了程序員之間的相互影響。這項(xiàng)技術(shù)是在設(shè)計(jì)初期只有很少的程序員介入的情況下,通過在對(duì)象系統(tǒng)中建立一個(gè)高層次的通信環(huán)境來實(shí)現(xiàn)的,它使得今后更改引起的成本大大降低。使用面向?qū)ο蟮姆椒ㄔ敿?xì)定義用戶的數(shù)據(jù)類型,將它們封裝在一起又能夠提高代碼利用率?! ∶嫦?qū)ο蟮姆椒ㄖ袑?duì)象是核心,封裝、繼承和多態(tài)是面向?qū)ο蟮娜筇匦?。因此,面向?qū)ο蟮姆椒ǖ暮诵乃枷刖褪菍?duì)象、封裝、繼承與多態(tài)?! ?duì)象就是人們所感興趣的任何事物,它可以是有形的實(shí)體、某種作用及性能等。對(duì)象都有其運(yùn)動(dòng)狀態(tài)和運(yùn)動(dòng)規(guī)律,因此對(duì)象具有很強(qiáng)的表達(dá)能力和描述功能。對(duì)象中包含數(shù)據(jù)和對(duì)數(shù)據(jù)操作的代碼,它實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合。具有相同結(jié)構(gòu)、操作并遵守相同約束規(guī)則的對(duì)象的集合就是類。 封裝是一種組織軟件的方法,它的基本思想是把客觀世界中聯(lián)系緊密的元素及相關(guān)操作組織在一起,構(gòu)造具有獨(dú)立含義的軟件實(shí)現(xiàn),使其相互關(guān)系隱藏在內(nèi)部,而對(duì)外僅僅表現(xiàn)為與其他封裝體間的接口關(guān)系。封裝的目的就是信息隱匿。在面向?qū)ο蟮姆椒ㄖ?,是通過對(duì)象和類來實(shí)現(xiàn)封裝的?! ±^承用于描述類之間的共同性質(zhì),它減少了相似類的重復(fù)說明。繼承使得程序員對(duì)共同的操作及屬性只說明一次,并且在具體的情況下可以擴(kuò)展、細(xì)化這些屬性及操作。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
Java高手真經(jīng)(系統(tǒng)架構(gòu)卷) PDF格式下載