注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合RESTful Web Clients:基于超媒體的可復(fù)用客戶端

RESTful Web Clients:基于超媒體的可復(fù)用客戶端

RESTful Web Clients:基于超媒體的可復(fù)用客戶端

定 價:¥99.00

作 者: (美)Mike Amundsen(邁克·阿蒙森)
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787121337581 出版時間: 2018-07-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  Web開發(fā)領(lǐng)域的REST運(yùn)動已經(jīng)進(jìn)行了很多年了,在REST的Richardson成熟度模型提出后,第3級——HATEOAS的應(yīng)用——仍然沒有得到廣泛應(yīng)用。事實上,其中一個難點在于客戶端如何支持HATEOAS。之前很多REST相關(guān)書籍聚焦于如何打造服務(wù)端的RESTful API,本書則著重研究RESTful客戶端,介紹了如何把一個針對服務(wù)端規(guī)約硬編碼的定制客戶端重構(gòu)為一個支持HATEOAS的通用客戶端,并提供了多格式支持、超媒體類型、版本化、微服務(wù)等相關(guān)問題的全面指導(dǎo)。本書附有所有樣例代碼的GitHub地址,方便讀者快速理解和實踐。本書適合Web應(yīng)用開發(fā)者,尤其適合希望Web應(yīng)用程序的服務(wù)端與客戶端能夠獨(dú)立演化的Web架構(gòu)師。

作者簡介

  作為國際知名的作家和演說家,Mike Amundsen在全球各地咨詢和研討網(wǎng)絡(luò)架構(gòu)、Web開發(fā)和其他議題。而作為CA Technologies API學(xué)院的架構(gòu)總監(jiān),他與公司致力于提供Web API方面的洞見,以便可以限度地利用面向消費(fèi)者和企業(yè)的Web API的機(jī)會。曾著,畢業(yè)于北京大學(xué),互愛(北京)科技股份有限公司技術(shù)副總裁。徐必濤,霓風(fēng)網(wǎng)絡(luò)科技有限公司軟件架構(gòu)師,曾任ThoughtWorks高級軟件工程師、DevOps咨詢師。

圖書目錄

前言  xx
開場:嗯,那是一次有趣的旅行,不是嗎  xxviii
Bob、Carol 和BigCo 公司  xxx
 
第1 章 從HTML 到簡單Web API 1
任務(wù)處理系統(tǒng)(TPS)Web 應(yīng)用 4
來自服務(wù)器的HTML 5
將通用Web 瀏覽器作為客戶端 9
評價 9
Task 服務(wù)Web API 10
Web API 的常規(guī)實踐 10
設(shè)計TPS Web API 11
實現(xiàn)TPS Web API18
評價 24
總結(jié) 25
參考資料 26
 
第2 章 JSON 客戶端 29
JSON Web API 客戶端 30
Objects 31
Addresses 34
Actions 35
小結(jié) 38
JSON 單頁面客戶端38
HTML 容器 38
頂層解析循環(huán) 40
Objects、Addresses 和Actions 41
小結(jié) 47
應(yīng)對變化 47
添加字段和過濾器 48
編寫一個新客戶端 52
總結(jié) 54
參考資料 57
 
第3 章 表述器模式 59
XML 還是JSON :選一個吧62
新的分支:超媒體格式 63
“正確”的謬誤 65
重建(reframe)問題 66
表述器(Representor)模式 68
從功能中分離格式 69
選擇算法 69
適配和翻譯 71
服務(wù)端模型 74
處理HTTP Accept 頭部參數(shù) 74
實現(xiàn)消息翻譯器模式 74
通用表述器模塊 76
WeSTL 格式 76
表述器的范例 81
總結(jié) 84
參考資料 86
 
第4 章 HAL 客戶端 89
HAL 格式 91
Links 93
Objects 和Properties 94
內(nèi)嵌Links 和Objects 95
小結(jié) 97
HAL 表述器 97
Links 98
Properties 99
內(nèi)嵌內(nèi)容  100
HAL 表述器構(gòu)建TPS 輸出示例  102
HAL SPA 客戶端 104
HTML 容器  105
頂層解析循環(huán)  106
Links  107
內(nèi)嵌內(nèi)容  109
Properties  113
為HAL 處理Action  114
小結(jié)  116
應(yīng)對變化  117
添加ACTION  117
HAL-FORMS 擴(kuò)展  121
規(guī)范  121
請求HAL-FORMS 文檔  123
實現(xiàn)  124
總結(jié)  125
參考資料  128
 
第5 章 可重用客戶端應(yīng)用的挑戰(zhàn) 131
你在解決什么問題  133
設(shè)計的雙鉆石模型  134
閉合方案 vs 開放方案  134
交互建模  136
Maldonado 的機(jī)制  137
Verplank 的人類視角  139
超媒體交互循環(huán)  141
RPW 循環(huán)  141
用代碼實現(xiàn)RPW 143
處理Verplank 的KNOW 步驟  144
總結(jié)  148
參考資料  150
 
第6 章 Siren 客戶端 153
Siren 格式  155
Entities  157
Class  158
Properties  158
Links  159
Actions  159
SubEntities  160
小結(jié)  162
Siren 表述器  162
頂層循環(huán)  163
Class  164
Properties  164
Entities  165
Actions  166
Links  168
TPS 通過Siren 表述器輸出示例  169
Siren SPA 客戶端  172
HTML 容器  173
頂層解析循環(huán)  173
Links  174
Entities  176
Properties  178
Actions  181
小結(jié)  184
應(yīng)對變化  184
添加郵箱字段和過濾器  185
測試郵箱字段  187
Profile 對象描述(POD)擴(kuò)展  190
POD 規(guī)范  191
實現(xiàn)  192
在Siren 中使用POD 展示對象  194
小結(jié)  195
總結(jié)  196
參考資料  198
 
第7 章 版本化與Web 199
互聯(lián)網(wǎng)中的版本化  201
TCP/IP 的健壯性原則  202
HTTP 中的MUST IGNORE  203
HTML 的向后兼容性  205
非破壞性變更指南  206
API 設(shè)計者  206
服務(wù)端實現(xiàn)者  209
客戶端實現(xiàn)者  215
總結(jié)  223
參考資料  225
 
第8 章 Collection JSON 客戶端 227
Collection JSON 格式  229
Links  232
Items  233
Queries  234
Template  235
Error  237
小結(jié)  237
xviii | 目錄
Collection JSON 表述器  238
頂層處理循環(huán)  238
Links  239
Items  240
Queries  243
Template  244
Error  245
Collection JSON SPA 客戶端  246
HTML 容器  246
頂層解析循環(huán)  248
Links  249
Items  250
Queries  253
Template  255
Error  257
小結(jié)  258
處理變更  258
在TPS API 中添加Note 對象  259
Cj 和OAA 挑戰(zhàn)  265
小結(jié)  266
擴(kuò)展Collection JSON  266
用Cj-Types 支持改善的輸入  267
Cj-Suggest 擴(kuò)展  271
小結(jié)  275
總結(jié)  275
參考資料  279
 
第9 章 超媒體與微服務(wù) 281
UNIX 哲學(xué)  284
BigCo 的TPS 微服務(wù)  285
Task 服務(wù)與Collection JSON  286
User 服務(wù)與Siren  290
Note 服務(wù)與HAL  293
一個客戶端,統(tǒng)領(lǐng)全局  296
Home 服務(wù) 297
多格式客戶端SPA 容器  298
可以切換格式的客戶端UI  301
 
總結(jié)  308
參考資料  312
 
結(jié)語:擁抱你的未來 313
附錄A 項目清單 315
附錄B 工具與資源 319

本目錄推薦

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