目錄
譯者序
致謝
第1章 概述 1
1.1 本書中如何使用模式 2
1.2 涵蓋第1版主題的系列書籍 2
1.3 本書的組織形式 3
1.4 原則、約束條件和設計模式 4
1.5 附加信息 5
第2章 案例研究背景知識 7
2.1 如何應用案例研究 7
2.2 案例研究背景1:Transit Line Systems, Inc. 7
2.3 案例研究背景2:Midwest University Association 7
第一部分 基本原理
第3章 理解面向服務 10
3.1 面向服務簡介 10
3.1.1 業務自動化中的服務 11
3.1.2 服務是能力的集合 12
3.1.3 面向服務是一種設計范式 13
3.1.4 面向服務的設計原則 15
3.2 面向服務所解決的問題 16
3.2.1 豎井式應用架構 16
3.2.2 大量的浪費 18
3.2.3 缺乏效率 18
3.2.4 企業膨脹 19
3.2.5 產生復雜的基礎設施和錯綜復雜的企業架構 19
3.2.6 系統間集成成為永恒的挑戰 20
3.2.7 面向服務的需求 20
3.2.8 增加大量可復用解決方案邏輯 21
3.2.9 削減應用個性化業務邏輯 21
3.2.10 削減業務邏輯的總量 22
3.2.11 本征互操作性 22
3.3 面向服務對企業的影響 23
3.3.1 面向服務和“應用”的概念 23
3.3.2 面向服務和“集成”的概念 24
3.3.3 服務組合 25
3.4 面向服務計算的目的和優勢 26
3.4.1 增強本征互操作性 27
3.4.2 增強聯合 28
3.4.3 增加供應商多元化選擇 29
3.4.4 同步提升業務與技術領域 30
3.4.5 提高投資回報率 31
3.4.6 提高組織的業務敏捷性 32
3.4.7 減少IT成本 34
3.5 面向服務的4個支撐點 34
3.5.1 團隊合作 36
3.5.2 教育 36
3.5.3 紀律 36
3.5.4 平衡范圍 37
第4章 理解面向服務架構 39
4.1 SOA的4個特性 40
4.1.1 業務驅動 40
4.1.2 供應商中立 41
4.1.3 企業中心化 42
4.1.4 組合中心化 44
4.1.5 設計優先級 45
4.2 SOA的4種常見類型 46
4.2.1 服務架構 47
4.2.2 服務組合架構 50
4.2.3 服務目錄架構 55
4.2.4 面向服務的企業架構 58
4.3 面向服務和SOA的最終結果 58
4.4 SOA項目和生命周期 60
4.4.1 方法論和項目交付的策略 62
4.4.2 SOA項目階段 62
4.4.3 SOA項目采用的計劃 65
4.4.4 服務目錄分析 65
4.4.5 面向服務分析 (服務建模) 66
4.4.6 面向服務設計(服務契約) 68
4.4.7 服務邏輯設計 69
4.4.8 服務開發 69
4.4.9 服務測試 69
4.4.10 服務部署和維護 71
4.4.11 服務使用和監控 71
4.4.12 服務發現 72
4.4.13 服務版本控制和退役 72
4.4.14 項目階段和組織角色 72
第5章 理解服務與微服務的層次 74
5.1 服務層次簡介 74
5.1.1 服務模型和服務層次 74
5.1.2 服務和候選服務能力 76
5.2 分解業務問題 76
5.2.1 功能分解 76
5.2.2 服務封裝 76
5.2.3 不可知上下文 76
5.2.4 不可知能力 79
5.2.5 功能抽象 79
5.2.6 實體抽象 80
5.2.7 非不可知上下文 80
5.2.8 微任務抽象和微服務 81
5.2.9 流程抽象和任務服務 81
5.3 構建面向服務的解決方案 84
5.3.1 面向服務和服務組合 84
5.3.2 能力組合和能力再組合 84
5.3.3 邏輯集中與服務規范化 90
第二部分 面向服務的分析與設計
第6章 Web服務及微服務的分析與建模 94
6.1 Web服務建模過程 94
6.1.1 步驟1:分解業務流程(使之成為細粒度操作) 95
6.1.2 步驟2:過濾不適操作 98
6.1.3 步驟3:定義候選實體服務 99
6.1.4 步驟4:識別特定流程邏輯 101
6.1.5 步驟5:應用面向服務 102
6.1.6 步驟6:識別候選服務組合 102
6.1.7 步驟7:分析處理需求 103
6.1.8 步驟8:定義候選公共服務 104
6.1.9 步驟9:定義候選微服務 105
6.1.10 步驟10:應用面向服務 106
6.1.11 步驟11:修訂候選服務組合 106
6.1.12 步驟12:修訂候選能力分組 106
第7章 REST服務及微服務的分析與建模 107
7.1 REST服務建模過程 107
7.1.1 步驟1:分解業務流程(使之成為細粒度操作) 109
7.1.2 步驟2:濾掉不適操作 109
7.1.3 步驟3:定義候選實體服務 110
7.1.4 步驟4:識別特定流程邏輯 112
7.1.5 步驟5:識別資源 113
7.1.6 步驟6:將服務能力與資源和方法相關聯 114
7.1.7 步驟7:應用面向服務 116
7.1.8 步驟8:識別候選服務組合 117
7.1.9 步驟9:分析處理需求 118
7.1.10 步驟10:定義候選公共服務(并且關聯資源和方法) 119
7.1.11 步驟11:定義候選微服務(并且關聯資源和方法) 121
7.1.12 步驟12:應用面向服務 121
7.1.13 步驟13:修訂候選服務組合 121
7.1.14 步驟14:修改資源定義和候選能力分組 122
7.2 附加因素 123
7.2.1 統一契約建模和REST服務目錄建模 123
7.2.2 REST約束條件和統一契約建模 125
7.2.3 REST服務能力粒度 125
7.2.4 資源與實體 126
第