API設計模式|簡化整合的訊息交換技術

    本書綜合了理論與實務,包含許多深度見解但不失大局觀。這些見解基於豐富的實務經驗,並以嚴謹的學術方式撰寫,同時結合從業人員的回饋。我深信本書會為社群帶來幫助。

    Collecting
    US$27

    內容簡介


    「本書綜合了理論與實務,包含許多深度見解但不失大局觀。這些見解基於豐富的實務經驗,並以嚴謹的學術方式撰寫,同時結合從業人員的回饋。我深信本書會為社群帶來幫助。」
    —PROF. DR. DR. H. C. FRANK LEYMANN, MANAGING DIRECTOR,
    INSTITUTE OF ARCHITECTURE OF APPLICATION SYSTEMS, UNIVERSITY OF STUTTGART

    適用於任何領域、技術或平台的API設計模式

    API為各組織及生態系帶來突破性創新及數位轉型。架構師、設計師及開發者們需要專業設計指南,以建立友善、可信賴且高效的API。本書解決複雜的API通訊及內容,介紹可用於任何技術或平台的API設計方針。

    集結五位作者撰寫的專業內容,從專案啟動、設定目標,到定義需求、細化設計、規劃演進以及建立實用文件,涵蓋整個API生命週期。本書將眾多實務者的集體智慧整合為44個API設計模式,使用背景、優缺點、概念解決方案及具體範例來解釋,並以兩個不同產業的專案,就領域模型、執行案例、決策敘事及套用模式作一致性解釋,使這些設計模式更易理解。

    ‧以設計模式識別及克服API設計挑戰
    ‧合理擴增API端點及服務
    ‧設計請求和回應訊息的形式
    ‧提升訊息設計品質
    ‧API演進計畫
    ‧API文件撰寫及溝通
    ‧結合設計模式以解決實際問題,並做出最佳取捨


    撰寫本書的團隊是架構師和開發人員的黃金組合,由經驗豐富的產業專家、模式社群領導者,以及學界研究員與講師所組成。作者們忠實地運用模式概念,將從包含設計力的問題情境中帶往概念性解決方案,包括具體的範例以及相關的模式建議。

    許多模式都透過模式會議的指導與寫作者研討會,漸進且反覆地改善與加強,從中凝聚眾人知識得到結論。

    本書提供多種API設計空間觀點,從規模與架構到訊息表現結構和品質屬性驅動設計,再到API演進。其模式語言可透過不同的途徑來瀏覽,包括專案階段和結構元素。全書分以五種類別共介紹44種模式,每個模式都有專屬的圖示幫助表達其本質,用作為助記符號及描繪API與其元素。

    本書在提供決策模型中採取了獨特且新穎的一步,蒐集關於應用程式的重複出現問題、選項及標準,提供逐步、容易遵循的設計指南,且不會過度簡化API設計固有的複雜性。

    本書結合理論與豐富的實務經驗為基礎,包含大量有價值的深刻建議而不失大局,並以學術性的嚴謹和從業人員社群的回饋方式記錄。不論是現在或是未來,與API設計與演進有關的研究、開發及教育的API設計人員,都將從模式中獲益。

    作者介紹


    Olaf Zimmermann 是軟體架構教授、國際開放標準組織TOG的傑出IT架構師,同時也是IEEE Software Insights專欄的共同編輯,他的專長是應用整合和微服務。Mirko Stocker 是軟體工程教授,專精於Web開發和雲端解決方案。
    Daniel Lübke 是獨立程式設計師和架構顧問,專業為商業流程自動化和數位化專案。Uwe Zdun 是軟體架構教授,專注於分散式系統工程、DevOps、設計模式、建模和實證軟體工程。Cesare Pautasso 是大學教授,領導架構、設計和網路資訊系統工程研究小組。

    本書作者們都是活躍的設計模式寫作工作坊社群成員,帶領著其他作者、在多個程式委員會服務及主持研討會。

    目錄


    叢書編輯 Vaughn Vernon推薦序
    Frank Leymann推薦序
    前言
    致謝
    關於作者

    Part 1 基礎及敘事
    第1章 應用程式介面(API)基礎
    從本地介面到遠端API
    API 設計中的決策驅動要素
    遠端API領域模型

    第2章 Lakeside Mutual案例研究
    業務背景及需求
    架構概觀
    API設計活動
    API規範目標

    第3章 API決策敘事
    序幕:以模式作為決策選項,力量作為決策準則
    基礎API決策與模式
    API角色及職責決策
    選擇訊息表現模式
    插曲:Lakeside Mutual案例的職責及結構模式
    治理API品質
    API品質改善決策
    API演進決策
    插曲:Lakeside Mutual案例的品質及演進模式

    Part 2 模式

    第4章 模式語言介紹
    定位及範圍
    模式:原因及方法
    模式導覽
    基礎:API 可見性與整合類型
    基本結構模式

    第5章 定義端點型態與操作
    API角色與職責介紹
    端點角色(又稱服務粒度)
    操作職責

    第6章 設計請求與回應訊息表現
    訊息表現設計介紹
    元素刻板
    特殊目的表現

    第7章 改善訊息設計品質
    API品質介紹
    訊息粒度
    客戶端驅動訊息內容(即:回應塑形)
    訊息交換最佳化(即:溝通效率)

    第8章 演進 API
    API演進介紹
    版本控制和相容性管理
    生命週期管理保證

    第9章 API規約文件與傳達
    API文件介紹
    文件模式

    Part 3 模式實戰(現在和過去)

    第10章 真實世界的模式故事
    瑞士抵押貸款業務的大規模業務流程整合
    建築營造業的報價和訂單處理

    第 11 章 結論
    簡短回顧
    API研究:模式重構,MDSL及更多
    API的未來
    其他資源
    最終備註

    附錄A 端點識別與模式選擇指南
    附錄B Lakeside Mutual案例實現
    附錄C 微服務領域特定語言(MDSL)

    Content

    • 1-1
      封面頁
    • 1-2
      書名頁
    • 1-3
      對本書的讚譽
    • 1-4
      Pearson 對多元、平等和包容的承諾
    • 1-5
      目錄
    • 1-6
      叢書編輯Vaughn Vernon 推薦序
    • 1-7
      Frank Leymann 推薦序
    • 1-8
      前言
    • 1-9
      致謝
    • 1-10
      關於作者
    • 1-11
      Part 1基礎及敘事
    • 1-12
      Ch01 應用程式介面(API)基礎
    • 1-13
      從本地介面到遠端API
    • 1-14
      遠端API 及分散式系統的簡史
    • 1-15
      遠端API:透過整合協議存取服務
    • 1-16
      API 的重要性
    • 1-17
      API 設計中的決策驅動要素
    • 1-18
      API 成功的原因?
    • 1-19
      API 設計的差異?
    • 1-20
      API 設計的挑戰?
    • 1-21
      架構的明顯需求
    • 1-22
      開發者體驗
    • 1-23
      遠端API 領域模型
    • 1-24
      通訊參與者
    • 1-25
      端點提供操作規約
    • 1-26
      訊息作為會話建構方塊
    • 1-27
      訊息結構與表現
    • 1-28
      API 規約
    • 1-29
      本書使用的領域模型
    • 1-30
      總結
    • 1-31
      Ch02 Lakeside Mutual 案例研究
    • 1-32
      業務背景及需求
    • 1-33
      使用者故事與期望品質
    • 1-34
      分析層級的領域模型
    • 1-35
      架構概觀
    • 1-36
      系統背景
    • 1-37
      應用程式架構
    • 1-38
      API 設計活動
    • 1-39
      API 規範目標
    • 1-40
      總結
    • 1-41
      Ch03 API 決策敘事
    • 1-42
      序幕:以模式作為決策選項,力量作為決策準則
    • 1-43
      基礎API 決策與模式
    • 1-44
      API 可見性
    • 1-45
      API 整合類型
    • 1-46
      API 文件
    • 1-47
      API 角色及職責決策
    • 1-48
      API 端點的架構角色
    • 1-49
      改善資訊持有者角色
    • 1-50
      定義操作職責
    • 1-51
      選擇訊息表現模式
    • 1-52
      表現元素的扁平vs 巢狀結構
    • 1-53
      元素刻板
    • 1-54
      插曲:Lakeside Mutual 案例的職責及結構模式
    • 1-55
      治理API 品質
    • 1-56
      API 客戶端的識別與驗證
    • 1-57
      API 消費計量及收費
    • 1-58
      防止客戶端過度使用API
    • 1-59
      明確的品質目標與罰則規範
    • 1-60
      錯誤通訊
    • 1-61
      明確上下文表示
    • 1-62
      API 品質改善決策
    • 1-63
      分頁
    • 1-64
      其他避免不必要資料傳輸的方式
    • 1-65
      處理訊息中的參照資料
    • 1-66
      API 演進決策
    • 1-67
      版本控制與相容性管理
    • 1-68
      引用與停用策略
    • 1-69
      插曲:Lakeside Mutual 案例的品質及演進模式
    • 1-70
      總結
    • 1-71
      Part 2模式
    • 1-72
      Ch04 模式語言介紹
    • 1-73
      定位及範圍
    • 1-74
      模式:原因及方法
    • 1-75
      模式導覽
    • 1-76
      結構組織:以範圍找出模式
    • 1-77
      主題種類:搜尋主題
    • 1-78
      時間維度:遵循設計改善步驟
    • 1-79
      導覽方式:MAP 地圖
    • 1-80
      基礎:API 可見性與整合類型
    • 1-81
      模式:前端整合
    • 1-82
      模式:後端整合
    • 1-83
      模式:公開API
    • 1-84
      模式:社群API
    • 1-85
      模式:解決方案內部API
    • 1-86
      基礎模式總結
    • 1-87
      基本結構模式
    • 1-88
      模式:原子參數
    • 1-89
      模式:原子參數列表
    • 1-90
      模式:參數樹
    • 1-91
      模式:參數森林
    • 1-92
      基本結構模式總結
    • 1-93
      總結
    • 1-94
      Ch05 定義端點型態與操作
    • 1-95
      API 角色與職責介紹
    • 1-96
      挑戰與品質期望
    • 1-97
      本章模式
    • 1-98
      端點角色(又稱服務粒度)
    • 1-99
      模式:處理資源
    • 1-100
      模式:資訊持有者資源
    • 1-101
      模式:可操作資料持有者
    • 1-102
      模式:主資料持有者
    • 1-103
      模式:參照資料持有者
    • 1-104
      模式:連結查詢資源
    • 1-105
      模式:資料傳輸資源
    • 1-106
      操作職責
    • 1-107
      模式:狀態建立操作
    • 1-108
      模式:檢索操作
    • 1-109
      模式:狀態轉移操作
    • 1-110
      模式:計算函式
    • 1-111
      總結
    • 1-112
      Ch06 設計請求與回應訊息表現
    • 1-113
      訊息表現設計介紹
    • 1-114
      設計訊息表現時的挑戰
    • 1-115
      本章模式
    • 1-116
      元素刻板
    • 1-117
      模式:資料元素
    • 1-118
      模式:元資料元素
    • 1-119
      模式:ID 元素
    • 1-120
      模式:連結元素
    • 1-121
      特殊目的表現
    • 1-122
      模式:API 金鑰
    • 1-123
      模式:錯誤回報
    • 1-124
      模式:上下文表示
    • 1-125
      總結
    • 1-126
      Ch07 改善訊息設計品質
    • 1-127
      API 品質介紹
    • 1-128
      改善API 品質的挑戰
    • 1-129
      本章模式
    • 1-130
      訊息粒度
    • 1-131
      模式:嵌入實體
    • 1-132
      模式:連結資訊持有者
    • 1-133
      客戶端驅動訊息內容(即:回應塑形)
    • 1-134
      模式:分頁
    • 1-135
      模式:願望清單
    • 1-136
      模式:願望模板
    • 1-137
      訊息交換最佳化(即:溝通效率)
    • 1-138
      模式:條件請求
    • 1-139
      模式:請求綑綁
    • 1-140
      總結
    • 1-141
      Ch08 演進API
    • 1-142
      API 演進介紹
    • 1-143
      API 演進時的挑戰
    • 1-144
      本章模式
    • 1-145
      版本控制和相容性管理
    • 1-146
      模式:版本識別符
    • 1-147
      模式:語義版本控制
    • 1-148
      生命週期管理保證
    • 1-149
      模式:實驗性預覽
    • 1-150
      模式:積極退役
    • 1-151
      模式:有限生命週期保證
    • 1-152
      模式:雙版本
    • 1-153
      總結
    • 1-154
      Ch09 API 規約文件與傳達
    • 1-155
      API 文件介紹
    • 1-156
      撰寫API 文件的挑戰
    • 1-157
      本章模式
    • 1-158
      文件模式
    • 1-159
      模式:API 敘述
    • 1-160
      模式:計價方案
    • 1-161
      模式:速率限制
    • 1-162
      模式:服務水準協議
    • 1-163
      總結
    • 1-164
      Part 3模式實戰(現在和過去)
    • 1-165
      Ch10 真實世界的模式故事
    • 1-166
      瑞士抵押貸款業務的大規模業務流程整合
    • 1-167
      業務背景和領域
    • 1-168
      技術挑戰
    • 1-169
      API 角色與狀態
    • 1-170
      模式使用與實現
    • 1-171
      回顧與展望
    • 1-172
      建築營造業的報價和訂單處理
    • 1-173
      業務背景和領域
    • 1-174
      技術挑戰
    • 1-175
      API 的角色與狀態
    • 1-176
      模式使用與實現
    • 1-177
      回顧與展望
    • 1-178
      總結
    • 1-179
      Ch11 結論
    • 1-180
      簡短回顧
    • 1-181
      API 研究:模式重構,MDSL 及更多
    • 1-182
      API 的未來
    • 1-183
      其他資源
    • 1-184
      最終備註
    • 1-185
      附錄 A端點識別與模式選擇指南
    • 1-186
      附錄 BLakeside Mutual 案例實現
    • 1-187
      附錄 C微服務領域特定語言(MDSL)
    • 1-188
      參考書目
    • 1-189
      索引
    • 1-190
      版權頁
    • 1-191
      封底頁

    FAQ

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    Recommendations

    Reviews

    | Collecting

    Sales Plans