現代 API : 通往架構師之門
內容描述
本書首先回顧系統集成及服務的歷史,對其核心概念和核心思想進行重新闡述;然後從基本概念、REST架構、生命周期、具體實施、最好實踐、業務影響和技術前瞻等方面對API進行全方位的介紹;最後是作者對如何做一個好的架構師的感悟與建議。貫穿全書的是作者在近20年裡,為北美18個行業里的50多家大型公司進行系統集成及API項目設計和實施積累下來的實戰案例。
本書為有志於成為系統集成和API架構師的程序員提供了一條學習和提高的路線圖,適合程序開發人員及管理人員閱讀和參考。
目錄大綱
第1章概述
1.1什麼是架構和架構師
1.2這本書是為誰寫的
1.3為什麼寫作此書
1.4通往架構師之路的路線圖
1.5架構師應該具備的素質
1.6對架構師的學習和培養過程的幾點建議
1.7本書的主要內容
1.8總結
第1部分基礎篇
第2章重新看待系統集成
2.1系統集成歷史的快速回放
2.2到底什麼是系統集成
2.2.1系統集成之信息更新
2.2.2系統集成之信息組合
2.2.3系統集成之連鎖行動
2.3系統集成的技術組成部分
2.3.1BUS——高速公路
2.3.2連接器——高速公路的進出口
2.3.3CDM——高速公路運輸的集裝箱
2.3. 4數據轉換——運輸過程中的貨物處理
2.4系統集成應用的考慮
2.4.1系統集成的過程中到底要完成什麼任務
2.4.2如何保證系統集成過程中數據傳遞的可靠性
2.4.3如何使用消息服務器
2.5實戰: PLM數據與現有系統的集成
2.5.1項目背景
2.5.2業務痛點
2.5.3技術難點
2.5.4解決方案及經驗教訓
2.6總結
第3章系統之間相互作用的模式
3.1系統集成模式簡介
3.2系統集成模式中幾個最重要的概念
3.2.1主題與隊列在消息傳遞中的區別
3.2.2消息服務器所使用的儲存轉送
3.2. 3消息服務器的容錯和高可用性
3.2.4分級式事件驅動架構及其實際應用
3.3系統集成模式的實戰應用和分析
3.3.1消息的順序處理
3.3.2持久訂閱如何實現
3.3.3命令類消息的應用
3.3.4事件消息的使用
3.3.5回复地址的使用
3.3.6消息傳遞搭橋的使用
3.3.7消息信封的使用
3.4總結
第4章常見的參與集成的功能係統
4.1功能係統與集成基礎設施的連接
4.2常見功能係統的功能和類型
4.3總結
第5章究竟什麼是服務
5.1什麼是服務
5.2是誰在推動服務的重複使用
5.3服務的操作
5.4服務的界面
5.5服務操作的粒度
5.6服務的組合—— SOA
5.7實戰:數據
5.7.1項目背景
5.7.2業務痛點
5.7.3技術難點
5.7.4解決方案及經驗教訓
5.8總結
第6章系統集成項目的實施步驟
6.1系統集成與服務項目概述
6.2系統集成與服務項目的具體實施步驟
6.3設計和開發階段
6.3.1蒐集項目業務功能要求
6.3.2架構設計
6.3.3細節設計
6.3 .4代碼編寫和單元測試
6.3.5集成測試
6.4測試和驗收階段
6.4.1質量保證(QA)部署
6.4.2質量保證(QA)測試
6.4.3用戶驗收(UA)部署
6.4.4用戶驗收測試(UAT)
6.4.5(可選項)操作驗收測試(OAT)
6.5運維、培訓和交付階段
6.5.1生產環境部署
6.5.2試運行
6.5.3培訓及文檔提交
6.5.4項目驗收
6.6總結第7章集成項目與公共服務
第7章
7.1公共服務的具體內容
7.1.1日誌服務
7.1.2出錯處理服務
7.1.3ID映射服務
7.1.4順序處理服務
7.1.5系統及應用監控服務
7.1.6應用、服務、 API的分析服務
7.2業務項目的項目模板及其與公共服務的互動
7.3總結
第8章SOA在實施中的局限性
8.1SOA在具體實施中的做法
8.1.1SOA的設計原則
8.1.2SOA績優中心
8.2深挖SOA的初衷
8.3SOA的適用範圍和局限性
8.4總結
第2部分正篇——現代API、應用互聯網
第9章現代API的引入、應用互聯網
9.1什麼是(現代)API
9.1.1REST架構的特點
9.1.2REST架構的特點在API中的具體應用
9.2(現代)API流行背後的原因
9.2.1API和雲平台的普及
9.2.2API與企業數字化轉型、應用互聯網以及API經濟
9.3API的平台和工具有待進一步地統一和標準化
9.4一個REST API的結構
9.5對API的認識不是一蹴而就的
9.6動手開發API——先嘗為快
9.7總結第10章圍繞API的開發工作
10.1API的生命週期
10.1 .1API的設計生命週期
10.1.2API的運維生命週期
10.2API的調用者
10.3API項目中的人員和流程
10.3.1什麼是使能中心
10.3.2圍繞使能中心的不同角色
10.3.3使能中心與績優中心的區別
10.3.4建立使能中心的具體步驟
10.3.5建立使能中心的好處
10.4總結
第11章API與微服務
11.1什麼是微服務
11.2微服務與服務的關係
11.3微服務與API的關係
11.4總結
第12章API與雲計算
12.1雲計算需求的由來
12.2雲計算對API技術的影響
12.2.1雲計算的平台能為你的API和應用提供多少服務
12.2.2現有系統之間的連接是否受到影響
12.2.3是否需要增加安全措施
12.2.4如何將API負責對內和對外的部分分開
12.3實戰:全雲和雲本地混合型的API平台
12.3.1項目1背景
12.3.2項目1雲平台的架構
12.3.3項目2背景
12.3.4項目2混合型平台的架構
第13章
13.1.1不要以“數據複製”的思考方式設計系統集成
13.1.2盡量避免使用批處理文件的方式
13.1.3對消息服務器運行的認識
13.1.4使用SEDA的架構模式來提高系統集成整體設計
的可靠性
13.1.5對容錯、負載平衡和高可用性的考慮
13.1.6對災難恢復設置的考慮
13.1.7接收JMS消息時的消息確認方式對消息處理
可靠性的影響
13.2.1在設計API的過程中使用“資源”的字眼,不要
使用“數據”
13.2.2不要使用API的概念和方式來做系統集成
13.2.3API還是連接器
13.2.4API實施中的出錯處理
13.2.5API的URI的每一個部分都應該是名詞,
而不是動詞
13.2.6API的版本管理
13.3.1不要使用UML的時序圖來編寫系統集成的
用例文件
13.3.2注意區分設計中功能方面和非功能方面的要求
13.3.3不要在沒有系統性能指標要求的情況下對系統
進行性能的評價和測試
13.3.4數據驗證邏輯與數據的關係
13.3.5API、服務和集成中均不保留狀態
13.4總結
第14章圍繞API的展望
14.1關於企業的IT欠債
14.2利用API產生新的業務——創新和數字化轉型
14.2.1優步(Uber)的創新
14.2.2郵局的數字化轉型
14.2.3電力公司旨在提高零售用電顧客滿意度
的數字化轉型
14.2.4玩具公司旨在減少貨運差錯和加快貨款回收
的數字化轉型
14.3利用API產生應用互聯網和API經濟
14.4總結
第3部分閒篇——感悟與隨想
第15章架構師的人文情懷
15.1關於學習過程中的三個境界
15.2架構師所 要具備的硬實力
15.3架構師所要具備的軟實力
15.3.1時刻分清目的和手段
15.3.2處處講究形式邏輯
15.3.3強調利用抽象思維的能力
15.3.4表達和交流要看對象
15.3.5堅持原則,但也要知道妥協
15.3.6知之為知之,不知為不知
15.4架構師所處的大環境
15.4.1架構師的職業規劃
15.4.2軟件工程問題與業務問題的分離
15.4.3高校計算機軟件課程設置與現實對架構師要求的
匹配問題
15.5總結
附錄A關於實踐
A.1搭建MuleSoft的開發和運行環境——開源版
A.1.1開發環境
A.1.2運行環境
A.2安裝Apache ActiveMQ消息服務器——開源版附錄B集成中常遇到的功能係統
B .1業務流程管理系統(Business Process Management,BPM)
B.2複雜事件處理(CEP)
B.3雲端系統
B.4客戶關係管理系統(CRM)
B.5數據庫系統(Relational、Object、NoSQL)
B .6電子內容管理(ECM)
B.7電子商務(eCommerce)
B.8電子數據交換(EDI)
B.9企業資源規劃(ERP)
B.10人力資本管理
B.11行業標準
B.12IT開發和 行工具
B.13IT基礎設施管理
B.14傳統系統改造
B.15主數據管理
B.16消息傳遞服務器
B.17通信協議
B.18社交媒體