內容簡介
《SOA實踐指南》展示了實現面向服務的架構(SOA)切實可行的規律,使得SOA不再只是鏡花水月,可望而不可及。《SOA實踐指南》基於作者在一家領先行業的公司中全面推廣SOA的第一手經驗,解釋了SOA如何簡化大型套用的創建和維護。不管你的項目是包含一套巨大的、基於Web Services的組件集,還是需要將老系統和更現代化的業務流程連線起來,《SOA實踐指南》都闡明了SOA如何滿足你的需要。
作者簡介
NICOLAI M.Josuttis.著有《C++標準庫》和《C++模板》,兩書都由Addison-Wesley出
版。他的職務是系統架構師和技術經理。最近兩年,他在一家國際電話公司中全面推廣
SOA。Nicolai在幾個會議上辦過s0A講座,多年來他一直在發表關於這個主題的演講。
媒體推薦
“本書描述的原則和經驗,在使T-Mobile公司成功建立SOA上扮演了重要角色,公司的
SOA每天要處理超過1000萬個服務調用。”
--Steffen Roehn博士,T-Mobile國際公司執行委員會成員(CIO)
“在過分炒作的SOA世界中,Nicolai Josuttis做出了傑出的貢獻:一部基於第一手經驗、經過認真推敲的、深刻洞察SOA本質的作品。就鼓勵SOA實踐者採用切實可行的方法而言,本書是一個重要的里程碑。”
--John Schmidt,集成聯盟主席
“所有CIO、IT主管和IT計畫經理都應該看看這本書。”
--Richard Mark Soley博士,對象管理組織主席和ICEO、SOA聯盟執行董事
編輯推薦
多年來,SOA一直只是個美好的願景。通過描述在實踐中實現和運行SOA所碰到的問題,《SOA實踐指南》讓SOA走入凡塵,真正能被大家所用。通過介紹SOA的方方面面,分析典型的使用模式,並探究松耦合如何幫助構築更強大的套用,《SOA實踐指南》提出了一個框架,幫助你決定何時,以及如何利用SOA獲益。在《SOA實踐指南》中,你將:
直接聚焦於真實的技術和部署,而不是僅僅關注若干標準
在套用SOA解決方案之前,先檢查業務問題,確定哪些業務問題適用SOA方法
找到建立解決方案的清晰路徑,而不是陷入不斷變化的Web Services細節泥潭之中
分享資深SOA系統架構師的實戰經驗
目錄
前言
第1章:動機
1.1大型分散式系統的特徵
1.2魔術匯流排故事
1.3魔術匯流排故事給我們的啟示
1.4 SOA歷史
1.5五頁幻燈講完SOA
第2章:SOA
2.1SOA定義
2.2 SOA驅動因素
2.3 SOA概念
2.4 SOA要素
2.5 SOA不是銀彈
2.6 SOA不是特定技術
2.7對比SOA與分散式對象
2.8 SOA術語
2.9總結
第3章:服務
3.1服務
3.2接口和契約
3.3額外的服務特性
3.4總結
第4章:松耦合
4.1對容錯的需求
4.2松耦合的形式
4.3處理松耦合
4.4總結
第5章:企業服務匯流排
5.1ESB職責
5.2異質的ESB
5.3ESB的差異
5.4ESB增值服務
5.5總結
第6章:服務分類
6.1基礎服務分類
6.2基本服務
6.3組合服務
6.4流程服務
6.5其他服務分類法
6.6技術服務和基礎設施服務
6.7服務之外
6.8總結
第7章:業務流程管理
7.1 BPM術語
7.2 BPM和SOA
7.3用於服務的BPM的例子
7.4業務流程建模
7.5識別服務的其他方法
7.6配製和編排
7.7更多思考
7.8總結
第8章:SOA和組織
8.1角色和組織
8.2出資模型
8.3總結
第9章:上下文環境中的SOA
9.1基於SOA的架構模型
9.2處理前端和後端
9.3總結
第10章:訊息交換模式
10.1 MEP簡介
10.2基本MEP
10.3更複雜的MEP
10.4處理可靠性和錯誤
10.5處理不同MEP層
l0.6事件驅動的架構
10.7總結
第11章:服務生命周期
11.1開發中的服務
11.2生產中的服務
11.3總結
第12章:版本劃分
12.1版本劃分需求
12.2領域驅動的版本劃分
12.3數據類型的版本劃分
12.4配置管理驅動的版本劃分
12.5實踐中的版本劃分
12.6總結
第13章:SOA和性能
13.1性能在哪兒重要
13.2從遠程存儲過程到服務
13.3性能和可重用性
13.4性能和向後兼容性
13.5總結
第14章:SOA和安全
14.1安全需求
14.2處理安全需求
14.3實踐中的SOA安全.
14.4 XML和Web Services的安全
14.5安全問題何時凸現
14.6總結
第15章:技術細節
15.1服務和狀態
15.2冪等性
15.3測試和調試
15.4處理技術性數據(頭數據)
15.5數據類型
15.6錯誤處理
15.7總結
第16章:Web S8rvices
16.1使用Web Services的動機
16.2基礎Web Services標準
16.3實踐中的Web Services
16.4結束按語
16.5總結
第17章:服務管理
17.1服務中間人的歷史
17.2業務庫和註冊中心
17.3總結
第18章:模型驅動的服務開發
18.1生成的服務代碼
18.2建模服務
18.3實踐中的元模型
18.4建立MDSD過程
18.5工具
18.6避免瓶頸
18.7總結
第19章:建立SOA和SOA監管
19.1引入SOA
19.2 SOA監管
19.3按部就班SOA
19.4其他SOA方法
19.5其他建議
19.6總結
第20章:後記
20.1 SOA是新東西嗎?
20.2 SOA增加了複雜性嗎?
20.3 SOA關鍵的成功要素是什麼?
20.4 SOA在哪些地方不合適?
20.5 SOA替代了001:’嗎?
參考文獻
辭彙表
索引
……
序言
從20世紀60年代的軟體危機開始,人們就在和計算機軟體、系統的複雜性作鬥爭。結構化編程、面向對象編程和組件是編程範式方面的努力;客戶機一伺服器架構、三層架構乃至N層架構是架構方面的進化。SOA是計算機業界在同軟體、系統複雜性鬥爭上的新嘗試。本書多次提到,SOA和之前的嘗試相比有一些重要的不同,因此,成功處理複雜性的希望也更大。
不同之一為SOA接受異質。這個轉變產生的效果正如敏捷編程接受“需求不斷變更”產生的效果一樣,從抗拒到接受,觀念上轉變的一小步,實踐中將形成巨大的差異。
不同之二為SOA接受變化,甚至必須在變化中才能產生出自己的SOA;作者多次提到“你買不來SOA”,強調SOA是必須根據自己的情況逐步演化出的一個IT戰略。
這些不同之處與其說是技術上的,不如說是觀念上的。事實上,觀念的變化最為強有力,新觀念或者會產生與過去迥異的方法論、開發過程和架構,或者會激發人們從新的角度、用新的方式來組織老技術和老方法。
然而,如果對SOA的研究只停留在純觀念、純理論上,則SOA將始終是美麗而遙不可及的海市蜃樓。“理論是蒼白的,而生活之樹常青”。只有既抓住觀念和本質,又深入一定程度細節,才能“綱舉目張”和“翔實可行”兼得。