SOA的權威人物Thomas ERL經典著作。 第一本全面將設計與構建RESTful服務作為面向服務的解決方案和面向服務架構(SOA)的書籍。 通過REST構建以Web為中心的SOA的權威指南。
作者簡介 Thomas Erl 國際IT暢銷書作家,世界上最暢銷的SOA書籍的作者,Arcitura教育集團的創(chuàng)始人。其著作在全球的印刷量超過16萬冊,涉及的主題從云計算、語義網(wǎng)技術 作者簡介 Thomas Erl 國際IT暢銷書作家,世界上最暢銷的SOA書籍的作者,Arcitura教育集團的創(chuàng)始人。其著作在全球的印刷量超過16萬冊,涉及的主題從云計算、語義網(wǎng)技術到SOA。他曾出訪過20多個國家,擔任各種活動的演講者和導師,定期參加SOA、Cloud + Service技術研討會和Gartner會議。Thomas的100多篇文章和采訪發(fā)表在大量出版物上,其中包括《華爾街日報》和《CIO雜志》。 Benjamin Carlyle Invensys Rail公司SystematICS服務框架創(chuàng)始開發(fā)者,做軟件開發(fā)員、軟件架構師及系統(tǒng)工程師多年。從2004年起開始專注于REST和服務技術的整合。他出席過國際SOA研討會,并為關于REST風格設計的國際研討會擔任技術委員。他的成就在于幫助啟發(fā)了Java的RESTlet框架,并創(chuàng)造了描述REST統(tǒng)一契約結構的“REST三角”(REST Triangle)一詞。他對REST及相關風格的理論和實際應用以及更加廣泛的軟件及系統(tǒng)架構都有非常深入的見解。 Cesare Pautasso 瑞士盧加諾大學大學信息學院的助理教授。此前,曾任IBM蘇黎世研究實驗室研究員和蘇黎世聯(lián)邦理工大學資深研究員。他的研究組著重于建立實驗系統(tǒng),探索REST架構風格和模型驅動的軟件組合技術的交集、業(yè)務流程管理及動態(tài)自組織的面向服務架構。他是IEEE和ACM的活躍成員,還在WWW會議上啟動了一系列關于REST風格設計(WS-REST)的國際研討會,并擔任第九屆IEEE的Web Service歐洲會議(ECOWS2011)的大會主席。 Raj Balasubramanian IBM軟件部業(yè)務流程優(yōu)化(BPO)團隊的資深技術人員,專注于跨行業(yè)交付SOA/BPM/Cloud解決方案。他在IBM DeveloperWorks上發(fā)表了大量的文章,并在各種主題的行業(yè)會議上發(fā)表演講。他的興趣在分布式系統(tǒng)、將Web結構應用于方案設計,及使用正式的模型和分析來推論大型系統(tǒng)。譯者簡介馬國耀 IT行業(yè)從業(yè)十余年,做過開發(fā)工程師、項目經理、架構師、售前、咨詢等;從2007年開始,一直從事SOA相關的設計與咨詢工作,擅長SOA理論,ESB、BPM、CEP相關產品與技術,是IBM認證的SOA解決方案架構師。熱愛翻譯與分享,自2009年開始擔任InfoQ中文站的社區(qū)編輯,現(xiàn)任云計算與SOA社區(qū)主編,譯著有《云計算與SOA》。在2002年和2007年分別獲得吉林大學(少年班)工學學士學位、北京大學理學碩士學位。申健 2005年畢業(yè)于南京大學,之后一直在跨國企業(yè)從事研發(fā)和管理工作,涉及電信、銀行、互聯(lián)網(wǎng)等領域,擅長用不同技術實現(xiàn)面向服務的分布式架構設計和整體解決方案,熟悉J2EE、Python、嵌入式
第1章 介紹
1.1 關于本書
1.1.1 本書的目標讀者
1.1.2 本書不會覆蓋的內容
1.2 推薦閱讀
1.3 本書的組織方式
1.3.1 第一部分:基礎知識
1.3.2 第二部分:REST風格的面向服務
1.3.3 第三部分:REST環(huán)境下面向服務的分析與設計
1.3.4 第四部分:REST服務組合
1.3.5 第五部分:補充
1.3.6 第六部分:附錄
1.4 約定
1.4.1 灰色的使用
1.4.2 設計約束、原則和模式:頁碼參考
第1章 介紹
1.1 關于本書
1.1.1 本書的目標讀者
1.1.2 本書不會覆蓋的內容
1.2 推薦閱讀
1.3 本書的組織方式
1.3.1 第一部分:基礎知識
1.3.2 第二部分:REST風格的面向服務
1.3.3 第三部分:REST環(huán)境下面向服務的分析與設計
1.3.4 第四部分:REST服務組合
1.3.5 第五部分:補充
1.3.6 第六部分:附錄
1.4 約定
1.4.1 灰色的使用
1.4.2 設計約束、原則和模式:頁碼參考
1.4.3 設計目標
1.4.4 符號圖例
1.5 附加信息
1.5.1 更新、勘誤和資源
1.5.2 主詞匯表
1.5.3 面向服務
1.5.4 什么是REST
1.5.5 引用的規(guī)范
1.5.6 服務技術雜志
1.5.7 SOASchool.com SOA認證專家(SOACP)
1.5.8 CloudSchool.com云認證(CCP)專家
1.5.9 通知服務
第2章 案例研究背景
2.1 如何使用案例研究
2.2 案例研究背景之一:中西部大學聯(lián)盟(MUA)
2.2.1 歷史
2.2.2 IT環(huán)境
2.2.3 業(yè)務目標和障礙
2.3 案例研究背景之二:KioskEtc有限公司
2.3.1 歷史
2.3.2 IT環(huán)境
2.3.3 業(yè)務目標和障礙
第一部分 基礎知識
第3章 服務簡介
3.1 服務術語
3.1.1 服務
3.1.2 服務契約
3.1.3 服務能力
3.1.4 服務消費者
3.1.5 服務代理
3.1.6 服務組裝
3.2 服務術語上下文
3.2.1 服務和REST
3.2.2 服務和SOA
3.2.3 REST服務和SOA
第4章 SOA術語和概念
4.1 基本術語和概念
4.1.1 面向服務的計算
4.1.2 面向服務
4.1.3 面向服務架構(SOA)
4.1.4 SOA宣言
4.1.5 服務
4.1.6 云計算
4.1.7 IT資源
4.1.8 服務模型
4.1.9 服務目錄
4.1.10 服務集
4.1.11 候選服務
4.1.12 服務契約
4.1.13 與服務相關的粒度
4.1.14 服務概要
4.1.15 SOA設計模式
4.2 擴展閱讀
第5章 REST約束和目標
5.1 REST約束
5.1.1 客戶機-服務器
5.1.2 無狀態(tài)
5.1.3 緩存
5.1.4 接口/統(tǒng)一契約
5.1.5 分層系統(tǒng)
5.1.6 隨需應變代碼
5.2 REST架構風格的目標
5.2.1 性能
5.2.2 可伸縮性
5.2.3 簡單性
5.2.4 可修改性
5.2.5 可視性
5.2.6 可移植性
5.2.7 可靠性
第二部分 REST風格的面向服務
第6章 REST服務契約
6.1 統(tǒng)一契約元素
6.1.1 資源標識符語法
6.1.2 方法
6.1.3 媒體類型
6.2 REST服務能力和REST服務契約
6.3 REST服務契約與非REST服務契約
6.3.1 帶有定制服務契約的非REST服務
6.3.2 REST服務與統(tǒng)一契約
6.3.3 HTTP消息傳輸與SOAP消息傳輸之比較
6.3.4 REST服務契約與WSDL的結合?
6.4 超媒體角色
6.5 REST服務契約和后期綁定
第7章 用REST實現(xiàn)面向服務
7.1 “SOA或REST”還是“SOA與REST”?
7.2 設計目標
7.2.1 提升內在互操作性
7.2.2 增強聯(lián)邦
7.2.3 提升廠商選擇多樣性
7.2.4 提升業(yè)務與技術對齊
7.2.5 提升投資回報率
7.2.6 提升組織敏捷性
7.2.7 降低IT負擔
7.2.8 通用目標
7.3 設計原則與約束
7.3.1 標準化服務契約
7.3.2 服務松耦合
7.3.3 服務抽象
7.3.4 服務可重用性
7.3.5 服務自治
7.3.6 服務無狀態(tài)
7.3.7 服務可發(fā)現(xiàn)性
7.3.8 服務可組合性
7.3.9 常見沖突
第三部分 REST環(huán)境下面向服務的分析與設計
第8章 主流SOA方法論和REST
8.1 服務目錄分析
8.2 面向服務的分析(服務建模)
8.3 面向服務的設計(服務契約)
8.4 服務邏輯設計
8.5 服務發(fā)現(xiàn)
8.6 服務版本控制和退役
第9章 REST服務分析與服務建!
9.1 統(tǒng)一契約建模和REST服務目錄建!
9.1.1 REST約束和統(tǒng)一契約建模
9.1.2 REST服務集中化和規(guī)范化
9.2 REST服務建!
9.2.1 REST服務能力粒度
9.2.2 資源與實體
9.2.3 REST服務建模流程
9.2.4 第1步:分解業(yè)務流程(分解為細粒度活動)
9.2.5 第2步:過濾掉不適合的活動
9.2.6 第3步:識別無關性候選服務
9.2.7 第4步:識別特定于流程的邏輯
9.2.8 第5步:識別資源
9.2.9 第6步:將服務能力與方法和資源相關聯(lián)
9.2.10 第7步:應用面向服務
9.2.11 第8步:識別候選服務組合
9.2.12 第9步:分析流程處理需求
9.2.13 第10步:定義候選公用服務
9.2.14 第11步:將以公用功能為中心的服務能力與方法和資源相關聯(lián)
9.2.15 第12步:應用面向服務
9.2.16 第13步:修改候選服務組合
9.2.17 第14步:修改資源定義
9.2.18 第15步:修改候選能力分組
9.2.19 其他考慮因素
第10章 面向服務的設計和REST
10.1 統(tǒng)一契約設計考慮
10.1.1 設計并標準化方法
10.1.2 設計HTTP頭并進行標準化
10.1.3 設計HTTP響應代碼并進行標準化
10.1.4 設計媒體類型
10.1.5 設計媒體類型模式
10.2 REST服務契約設計
10.2.1 基于服務模型設計服務
10.2.2 設計資源標識符并進行標準化
10.2.3 在REST約束下設計及REST約束的標準化
10.3 復雜方法的設計
10.3.1 無狀態(tài)的復雜方法
10.3.2 有狀態(tài)的復雜方法
第四部分 REST服務組合
第11章 REST基礎服務組合
11.1 服務組合術語
11.1.1 組合和組合實例
11.1.2 組合成員和控制器
11.1.3 服務活動
11.1.4 組合啟動者
11.1.5 點對點數(shù)據(jù)交換和組合
11.2 服務組合的設計影響
11.2.1 面向服務原則和組合設計
11.2.2 REST約束和組合設計
11.3 組合層次結構和分層
11.3.1 實體服務組成任務服務
11.3.2 實體服務組成實體服務
11.4 REST服務組合設計的若干考慮
11.4.1 同步和異步服務組合
11.4.2 冪等的服務活動
11.4.3 組合的逗留狀態(tài)
11.4.4 組合參與者之間的綁定
11.5 按步驟分解的服務活動
11.5.1 請求購買機票
11.5.2 驗證所請求的航班詳情
11.5.3 確認航班座位
11.5.4 生成單據(jù)
11.5.5 創(chuàng)建機票
11.5.6 總結
第12章 REST高級服務組合
12.1 服務組合與無狀態(tài)
12.1.1 采用服務無狀態(tài)的組合設計
12.1.2 采用無狀態(tài)的組合設計
12.2 跨服務的REST事務
12.2.1 REST友好的原子服務事務
12.2.2 REST友好的補償服務事務
12.2.3 非REST友好的原子服務事務
12.3 事件驅動的REST交互
12.3.1 事件驅動的消息機制
12.3.2 消息輪詢
12.4 帶有動態(tài)綁定和邏輯延遲的服務組合
12.4.1 跨規(guī)范化服務的非規(guī)范化能力
12.4.2 深化組合
12.4.3 動態(tài)地綁定公共屬性
12.4.4 運行時邏輯延遲
12.5 跨服務目錄的服務組合
12.5.1 REST的目錄端點
12.5.2 基線標準化的服務目錄之間的動態(tài)綁定
第13章 REST服務組合之案例研究
13.1 重溫授予學生獎項流程
13.2 提交申請和任務服務調用
13.3 授予學生獎項服務組合實例(評審前的服務活動視圖)
13.3.1 步驟1:從組合啟動者到授予學生獎項任務服務(A)
13.3.2 步驟2:從授予學生獎項任務服務到事跡實體服務(B)
13.3.3 步驟3:從事跡實體服務到授予學生獎項任務服務(B)
13.3.4 步驟4:從授予學生獎項任務服務到獎項實體服務(E)
13.3.5 步驟5:從獎項實體服務到授予學生獎項任務服務(E)
13.3.6 步驟6:從授予學生獎項任務服務到獎項實體服務(E)
13.3.7 步驟7:從獎項實體服務到授予學生獎項任務服務(E)
13.3.8 步驟8:從授予學生獎項任務服務到學生實體服務(F)
13.3.9 步驟9:從學生實體服務到授予學生獎項任務服務(F)
13.3.10 步驟10:從授予學生獎項任務服務到學生成績單實體服務(F)
13.3.11 步驟11:從學生成績單實體服務到授予學生獎項任務服務(F)
13.3.12 步驟12:從授予學生獎項任務服務到組合啟動者(A)
13.4 評審待定的申請和任務服務調用
13.5 授予學生獎項服務組合實例(評審后的服務活動視圖)
13.5.1 步驟1:從組合啟動者到授予學生獎項任務服務(L)
13.5.2 步驟2:從授予學生獎項任務服務到通知公用服務(N)
13.5.3 步驟3:從通知公用服務到學生實體服務(N)
13.5.4 步驟4:從學生實體服務到通知公用服務(N)
13.5.5 步驟5:從通知公用服務到授予學生獎項任務服務(N)
13.5.6 中間步驟:從授予學生獎項任務服務到事務協(xié)調者(P,Q)
13.5.7 中間步驟:從事務協(xié)調者到授予學生獎項任務服務(P,Q)
13.5.8 步驟6:從授予學生獎項任務服務到授予實體服務(P)
13.5.9 中間步驟:從授予實體服務到事務協(xié)調者(P)
13.5.10 中間步驟:從事務協(xié)調者到授予實體服務(P)
13.5.11 步驟7:從授予實體服務到授予學生獎項任務服務(Q)
13.5.12 步驟8:從授予學生獎項任務服務到學生成績單實體服務(Q)
13.5.13 中間步驟:從學生成績單實體服務到事務協(xié)調者(Q)
13.5.14 中間步驟:從事務協(xié)調者到學生成績單實體服務(Q)
13.5.15 步驟9:從學生成績單實體服務到授予學生獎項任務服務(Q)
13.5.16 中間步驟:從授予學生獎項任務服務到事務協(xié)調者(P,Q)
13.5.17 中間步驟:從事務協(xié)調者到授予學生獎項任務服務(P,Q)
13.5.18 步驟10:從授予學生獎項任務服務到組合啟動者(L)
第五部分 補充
第14章 SOA與REST的設計模式
14.1 受REST啟發(fā)的SOA設計模式
14.1.1 內容協(xié)商
14.1.2 端點重定向
14.1.3 實體鏈接
14.1.4 冪等能力
14.1.5 輕量級端點
14.1.6 可重用契約
14.1.7 統(tǒng)一契約
14.2 其他相關的SOA設計模式
14.2.1 契約集中化
14.2.2 契約去規(guī)范化
14.2.3 域目錄
14.2.4 模式集中化
14.2.5 狀態(tài)消息機制
14.2.6 校驗抽象
第15章 REST服務版本控制
15.1 版本控制基礎
15.1.1 REST服務契約的兼容性
15.1.2 統(tǒng)一契約方法的兼容性
15.1.3 統(tǒng)一契約媒體類型的兼容性
15.2 版本標識符
15.2.1 使用版本標識符
15.2.2 版本標識符和統(tǒng)一契約
第16章 統(tǒng)一契約概要
16.1 統(tǒng)一契約概要模板
16.1.1 統(tǒng)一契約層結構
16.1.2 方法概要結構
16.1.3 媒體類型概要結構
16.2 REST服務概要考慮
第六部分 附錄
附錄A 案例研究結論
附錄B 支持Web的工業(yè)標準
附錄C REST約束參考
附錄D 面向服務原則參考
附錄E SOA設計模式參考
附錄F 狀態(tài)的概念和類型
附錄G 帶注解的SOA宣言
附錄H 其他資源
書中提到的模式的作者
關于序的作者
關于作者