注冊 | 登錄讀書好,好讀書,讀好書!
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計程序設計綜合RESTful Web Clients:基于超媒體的可復用客戶端

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

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

定 價:¥99.00

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

購買這本書可以去


ISBN: 9787121337581 出版時間: 2018-07-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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