
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗(yàn)證碼 ” ,獲取驗(yàn)證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。如果喜歡,請(qǐng)購買正版!
一.資料圖片
二.資料簡介
《SOA與Java:用Java技術(shù)實(shí)現(xiàn)面向服務(wù)》幾位作者均是業(yè)界專家和領(lǐng)袖,首席作者ThomasErl更是SOA領(lǐng)域的領(lǐng)軍人物,撰寫過多本關(guān)于SOA的圖書,廣受歡迎。本書介紹了使用Java技術(shù)實(shí)現(xiàn)SOA的方法,對(duì)于想要學(xué)習(xí)SOA的Java程序員,以及想要使用Java實(shí)現(xiàn)設(shè)計(jì)的SOA從業(yè)者,均能提供幫助。首先,本書對(duì)全書內(nèi)容進(jìn)行概覽,并為全書使用的案例提供背景信息。然后,使用四部分講解內(nèi)容。第一部分介紹了基礎(chǔ)知識(shí),有助于理解后續(xù)的內(nèi)容。第二部分介紹了面向服務(wù)原則,以及如何使用Java技術(shù)實(shí)現(xiàn)這些原則。第三部分討論了如何設(shè)計(jì)和實(shí)現(xiàn)完整的基于Java的SOA解決方案。第四部分是附錄,對(duì)背景案例進(jìn)行了總結(jié),并列舉了一些對(duì)SOA從業(yè)人員很有幫助的信息。
如今,基于SOAP的Web服務(wù)仍然是最主要的SOA實(shí)現(xiàn)方法之一。WS-*標(biāo)準(zhǔn)是使用最廣泛的與SOA相關(guān)的跨供應(yīng)商標(biāo)準(zhǔn),不管是在云內(nèi)還是云外,都得到了企業(yè)的廣泛采用。本書的幾位作者均是業(yè)界專家和領(lǐng)袖,首席作者Thomas Erl更是SOA領(lǐng)域的領(lǐng)軍人物,撰寫過多本關(guān)于SOA的圖書,廣受歡迎。
作為Java新手,如何把SOA實(shí)踐運(yùn)用到實(shí)際開發(fā)中?作為架構(gòu)師或開發(fā)人員,如何構(gòu)建單獨(dú)的服務(wù)?隨著程序的增長,如何構(gòu)建復(fù)合服務(wù),同時(shí)不破壞面向服務(wù)原則?作者通過大量的實(shí)用案例和代碼,對(duì)此進(jìn)行了詳盡的講解。
本書以一種一致的方式將經(jīng)常引起混淆的標(biāo)準(zhǔn)和實(shí)現(xiàn)放到一起,讓讀者輕松掌握這個(gè)關(guān)鍵領(lǐng)域。關(guān)于Java與基于Web的服務(wù)如何接口,作者介紹了JAX-WS和JAX-RS等標(biāo)準(zhǔn)及對(duì)應(yīng)的Spring標(biāo)準(zhǔn),并且使用大量代碼來說明要點(diǎn),例如,如何讓應(yīng)用程序獲得最大吞吐量或安全性。此外,本書還詳細(xì)介紹如何使用Java構(gòu)建特定類型的服務(wù),讓這些服務(wù)在遵守面向服務(wù)原則的同時(shí)以良好性能運(yùn)行,并介紹了WSDL、與REST進(jìn)行數(shù)據(jù)映射以及如何實(shí)現(xiàn)松散耦合等細(xì)節(jié)內(nèi)容。
三.資料目錄
序作者及貢獻(xiàn)者簡介
第1章 概述 .1
1.1 關(guān)于本書 .1
1.1.1 本書目標(biāo) 1
1.1.2 本書面向的讀者 .1
1.1.3 本書特征 2
1.2 必要閱讀 .2
1.3 本書結(jié)構(gòu) .2
1.4 本書使用原則和模式的方式 4
1.5 符號(hào)和圖形 .4
第2章 案例分析示例 5
2.1 案例分析示例的使用 5
2.1.1 風(fēng)格特點(diǎn) .5
2.1.2 案例與抽象內(nèi)容的關(guān)系 .5
2.1.3 代碼示例 5
2.2 案例分析背景:NovoBank 6
2.2.1 技術(shù)基礎(chǔ)設(shè)施 .6
2.2.2 自動(dòng)化解決方案 6
2.2.3 業(yè)務(wù)阻礙和目標(biāo) 7
2.2.4 未來IT路線圖 7
2.3 案例分析背景:SmartCredit公司 .8
2.3.1 技術(shù)基礎(chǔ)設(shè)施 .8
2.3.2 自動(dòng)化解決方案 .8
2.3.3 業(yè)務(wù)目標(biāo) 9
2.3.4 未來的IT路線圖 .9
第一部分 基 礎(chǔ)
第3章 SOA基本概念 .13
3.1 基本術(shù)語和概念 .13
3.1.1 面向服務(wù)計(jì)算 .13
3.1.2 面向服務(wù) 15
3.1.3 面向服務(wù)架構(gòu) .15
3.1.4 SOA宣言 17
3.1.5 服務(wù) .18
3.1.6 云計(jì)算 18
3.1.7 IT資源 19
3.1.8 服務(wù)模型 19
3.1.9 服務(wù)庫存 20
3.1.10 服務(wù)組合 20
3.1.11 服務(wù)候選.21
3.1.12 服務(wù)契約 21
3.1.13 服務(wù)相關(guān)的粒度 .21
3.1.14 服務(wù)概要 22
3.1.15 SOA設(shè)計(jì)模式 22
3.2 延伸閱讀 .24
第4章 基本的Java分布式技術(shù) .26
4.1 Java分布式計(jì)算的基礎(chǔ)知識(shí) .26
4.1.1 Java SE的架構(gòu) .27
4.1.2 Java EE的架構(gòu) .27
4.1.3 應(yīng)用程序的打包和部署 .28
4.1.4 Java EE架構(gòu)的各層 .29
4.2 Java分布式技術(shù)和API 30
4.2.1 Java SE API .30
4.2.2 Java EE API 32
4.3 XML標(biāo)準(zhǔn)和Java API 38
4.3.1 XML .39
4.3.2 XML模式定義 .40
4.3.3 XSLT 41
4.3.4 JAXP 41
4.3.5 JAXB 42
4.4 使用Java組件構(gòu)建服務(wù) 42
4.4.1 組件作為服務(wù) 42
4.4.2 應(yīng)用程序協(xié)議 42
4.4.3 服務(wù)契約 44
4.4.4 組件作為服務(wù)和面向服務(wù) .46
4.5 Java供應(yīng)商平臺(tái) 47
4.5.1 GlassFish企業(yè)服務(wù)器 47
4.5.2 IBM WebSphere Application Server 48
4.5.3 IBM WebSphere Application Server Community Edition 50
4.5.4 Oracle WebLogic Server .50
第5章 基于Web的服務(wù)技術(shù) 52
5.1 基于SOAP的Web服務(wù) .52
5.1.1 Web服務(wù)標(biāo)準(zhǔn)的擴(kuò)展(WS-*) .56
5.1.2 常用Web服務(wù)中間件 .61
5.2 REST服務(wù) .64
5.2.1 HTTP響應(yīng)代碼 65
5.2.2 資源和地址 .66
5.2.3 HTTP方法 68
5.2.4 資源表示 69
5.2.5 accept頭部 70
第6章 使用Java構(gòu)建基于Web的服務(wù) .71
6.1 JAX-WS 71
6.1.1 SAAJ 73
6.1.2 處理程序 76
6.1.3 Web服務(wù)引擎和工具包 .76
6.1.4 JAXR 77
6.2 WS-*標(biāo)準(zhǔn)的Java實(shí)現(xiàn) 78
6.2.1 高級(jí)Web服務(wù)標(biāo)準(zhǔn)和框架 78
6.2.2 服務(wù)組件架構(gòu) 79
6.2.3 Spring-WS 79
6.3 JAX-RS .80
6.3.1 實(shí)現(xiàn)JAX-RS .80
6.3.2 實(shí)現(xiàn)REST服務(wù) 83
6.3.3 可擴(kuò)展性 84
6.3.4 安全性 86
6.3.5 REST服務(wù)支持 87
第二部分 服 務(wù)
第7章 Java基于Web服務(wù)中的面向服務(wù)原則 91
7.1 服務(wù)可重用性 .91
7.1.1 無關(guān)功能性上下文 91
7.1.2 高度泛型的服務(wù)邏輯 92
7.1.3 泛型可擴(kuò)展服務(wù)契約 94
7.1.4 并發(fā)訪問服務(wù)邏輯 .95
7.2 標(biāo)準(zhǔn)服務(wù)契約 .99
7.2.1 自頂向下和自底向上 99
7.2.2 在Java和WSDL之間映射 .100
7.2.3 包裝文檔/字面值契約 100
7.2.4 隱式和顯式頭部 .101
7.2.5 REST中的數(shù)據(jù)映射 .105
7.2.6 使用行業(yè)標(biāo)準(zhǔn) .117
7.3 服務(wù)松散耦合 .118
7.3.1 分離契約和實(shí)現(xiàn) .118
7.3.2 獨(dú)立功能性上下文 .119
7.3.3 服務(wù)消費(fèi)者耦合 .120
7.4 服務(wù)抽象 .123
7.4.1 抽象技術(shù)細(xì)節(jié) .123
7.4.2 隱藏服務(wù)細(xì)節(jié) .123
7.4.3 文檔約束 .126
7.5 服務(wù)可組合性 .126
7.5.1 運(yùn)行時(shí)環(huán)境的效率 .127
7.5.2 服務(wù)契約的靈活性 .128
7.5.3 基于標(biāo)準(zhǔn)的運(yùn)行時(shí) .128
7.6 服務(wù)自治 .129
7.6.1 定義明確的功能邊界 .129
7.6.2 控制運(yùn)行時(shí)環(huán)境 .129
7.6.3 高并發(fā)性 .130
7.7 服務(wù)無狀態(tài)性 .131
7.7.1 編制基礎(chǔ)設(shè)施 131
7.7.2 會(huì)話狀態(tài) .132
7.7.3 存儲(chǔ)狀態(tài) .132
7.8 服務(wù)可發(fā)現(xiàn)性 .136
7.8.1 設(shè)計(jì)時(shí)的可發(fā)現(xiàn)性 .136
7.8.2 運(yùn)行時(shí)的可發(fā)現(xiàn)性 .137
7.8.3 服務(wù)注冊(cè)中心 .138
第8章 使用Java構(gòu)建實(shí)用服務(wù) .140
8.1 Java實(shí)用服務(wù)的原理 140
8.1.1 架構(gòu)考慮 .140
8.1.2 實(shí)用服務(wù)分類 .145
8.2 實(shí)用服務(wù)的設(shè)計(jì)和實(shí)現(xiàn) 146
8.2.1 實(shí)用服務(wù)的設(shè)計(jì) .146
8.2.2 實(shí)用服務(wù)和Java版本 149
8.2.3 實(shí)用服務(wù)和開源框架 .150
8.2.4 將實(shí)用服務(wù)作為基于Web的服務(wù) 152
8.2.5 測(cè)試考慮 157
8.2.6 打包考慮 157
8.3 實(shí)用服務(wù)的類型 158
8.3.1 公共實(shí)用服務(wù) .158
8.3.2 資源實(shí)體服務(wù) .163
8.3.3 微實(shí)用服務(wù) .167
8.3.4 包裝器實(shí)用服務(wù) .169
第9章 使用Java構(gòu)建實(shí)體服務(wù) .173
9.1 Java實(shí)體服務(wù)的內(nèi)部原理 .174
9.1.1 架構(gòu)考慮 .174
9.1.2 域?qū)嶓w與消息實(shí)體 .175
9.1.3 數(shù)據(jù)聚合 .176
9.1.4 數(shù)據(jù)訪問模式 .177
9.1.5 修改通知 .178
9.2 Java實(shí)體服務(wù)的設(shè)計(jì)和實(shí)現(xiàn) .179
9.2.1 實(shí)體服務(wù)設(shè)計(jì) .179
9.2.2 實(shí)體服務(wù)實(shí)現(xiàn) .184
9.2.3 將實(shí)體服務(wù)作為基于Web的服務(wù) 187
9.2.4 使用SOAP的實(shí)體Web服務(wù) .187
9.2.5 REST實(shí)體服務(wù) .193
9.2.6 測(cè)試考慮 201
9.2.7 Java打包考慮 201
第三部分 服務(wù)組合與基礎(chǔ)設(shè)施
第10章 使用Java構(gòu)建任務(wù)服務(wù) .205
10.1 任務(wù)服務(wù)的內(nèi)部原理 205
10.2 構(gòu)建任務(wù)服務(wù) .211
10.2.1 實(shí)現(xiàn)考慮 .212
10.2.2 基于Web的任務(wù)服務(wù) 213
10.2.3 測(cè)試考慮 .223
10.2.4 打包考慮 .224
第11章 使用Java進(jìn)行服務(wù)組合 .225
11.1 服務(wù)組合的內(nèi)部原理 225
11.1.1 服務(wù)組合角色 .225
11.1.2 組合與MEP .226
11.1.3 同步和異步調(diào)用 .226
11.1.4 服務(wù)水平協(xié)議 .227
11.2 Java服務(wù)組合的設(shè)計(jì)和實(shí)現(xiàn) .228
11.2.1 組合邏輯:編碼和編制 228
11.2.2 REST服務(wù)組合考慮229
11.2.3 組合成員端點(diǎn) .230
11.2.4 錯(cuò)誤處理.231
11.2.5 模式類型重用 .238
11.2.6 基于Web的服務(wù)與Java組件 242
11.2.7 打包、測(cè)試和部署被組合服務(wù) .244
11.3 服務(wù)和服務(wù)組合性能指導(dǎo)原則 .248
11.3.1 測(cè)量性能.248
11.3.2 測(cè)試性能.249
11.3.3 緩存 .249
11.3.4 使用狀態(tài)擴(kuò)展服務(wù) .252
11.3.5 處理失敗.252
11.3.6 解析和編組 .253
第12章 使用ESB作為SOA基礎(chǔ)設(shè)施 255
12.1 基本的傳統(tǒng)消息框架 .255
12.2 基本的服務(wù)消息框架 .261
12.2.1 不使用ESB時(shí)的基本服務(wù)消息處理 .261
12.2.2 使用ESB時(shí)的基本服務(wù)消息處理 263
12.3 與SOA相關(guān)的常用ESB特性 .267
12.3.1 服務(wù)查找和調(diào)用 .267
12.3.2 服務(wù)處理 .269
12.3.3 服務(wù)組合支持 .270
12.3.4 REST API管理支持 270
第四部分 附 錄
附錄A 案例分析結(jié)論 273
附錄B 面向服務(wù)原則參考 275
附錄C SOA設(shè)計(jì)模式參考 280
附錄D 帶注釋的SOA宣言 312