SOA in Practice: The Art of Distributed System Design (Paperback)
暫譯: 實踐中的SOA:分散式系統設計的藝術 (平裝本)

Nicolai M. Josuttis

  • 出版商: O'Reilly
  • 出版日期: 2007-10-02
  • 定價: $1,320
  • 售價: 9.5$1,254
  • 語言: 英文
  • 頁數: 344
  • 裝訂: Paperback
  • ISBN: 0596529554
  • ISBN-13: 9780596529550
  • 相關分類: SOA
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

Description

This book demonstrates service-oriented architecture (SOA) as a concrete discipline rather than a hopeful collection of cloud charts. Built upon the author's firsthand experience rolling out a SOA at a major corporation, SOA in Practice explains how SOA can simplify the creation and maintenance of large-scale applications. Whether your project involves a large set of Web Services-based components, or connects legacy applications to modern business processes, this book clarifies how -- and whether -- SOA fits your needs.

SOA has been a vision for years. This book brings it down to earth by describing the real-world problems of implementing and running a SOA in practice. After defining SOA's many facets, examining typical use patterns, and exploring how loose coupling helps build stronger applications, SOA in Practice presents a framework to help you determine when to take advantage of SOA. In this book you will:

  • Focus squarely on real deployment and technology, not just standards maps
  • Examine business problems to determine which ones fit a SOA approach before plastering a SOA solution on top of them
  • Find clear paths for building solutions without getting trapped in the mire of changing web services details
  • Gain the experience of a systems analyst intimately involved with SOA

Table of Contents

Preface

1. Motivation

      1.1 Characteristics of Large Distributed Systems

      1.2 The Tale of the Magic Bus

      1.3 What We Can Learn from the Tale of the Magic Bus

      1.4 History of SOA

      1.5 SOA in Five Slides

2. SOA

      2.1 Definitions of SOA

      2.2 SOA Drivers

      2.3 SOA Concepts

      2.4 SOA Ingredients

      2.5 SOA Is Not a Silver Bullet

      2.6 SOA Is Not a Specific Technology

      2.7 SOA Versus Distributed Objects

      2.8 SOA Terminology

      2.9 Summary

3. Services

      3.1 Services

      3.2 Interfaces and Contracts

      3.3 Additional Service Attributes

      3.4 Summary

4. Loose Coupling

      4.1 The Need for Fault Tolerance

      4.2 Forms of Loose Coupling

      4.3 Dealing with Loose Coupling

      4.4 Summary

5. The Enterprise Service Bus

      5.1 ESB Responsibilities

      5.2 Heterogeneous ESBs

      5.3 ESB Differences

      5.4 Value-Added ESB Services

      5.5 Summary

6. Service Classification

      6.1 A Fundamental Service Classification

      6.2 Basic Services

      6.3 Composed Services

      6.4 Process Services

      6.5 Other Service Classifications

      6.6 Technical and Infrastructure Services

      6.7 Beyond Services

      6.8 Summary

7. Business Process Management

      7.1 BPM Terminology

      7.2 BPM and SOA

      7.3 Example for BPM with Services

      7.4 Business Process Modeling

      7.5 Other Approaches to Identifying Services

      7.6 Orchestration Versus Choreography

      7.7 A Few More Things to Think About

      7.8 Summary

8. SOA and the Organization

      8.1 Roles and Organizations

      8.2 Funding Models

      8.3 Summary

9. SOA in Context

      9.1 SOA-Based Architecture Models

      9.2 Dealing with Frontends and Backends

      9.3 Summary

10. Message Exchange Patterns

      10.1 Introduction to MEPs

      10.2 Basic MEPs

      10.3 More Complicated MEPs

      10.4 Dealing with Reliability and Errors

      10.5 Dealing with Different MEP Layers

      10.6 Event-Driven Architecture

      10.7 Summary

11. Service Lifecycle

      11.1 Services Under Development

      11.2 Services in Production

      11.3 Summary

12. Versioning

      12.1 Versioning Requirements

      12.2 Domain-Driven Versioning

      12.3 Versioning of Data Types

      12.4 Configuration-Management-Driven Versioning

      12.5 Versioning in Practice

      12.6 Summary

13. SOA and Performance

      13.1 Where Performance Matters

      13.2 From Remote Stored Procedures to Services

      13.3 Performance and Reusability

      13.4 Performance and Backward Compatibility

      13.5 Summary

14. SOA and Security

      14.1 Security Requirements

      14.2 Dealing with Security Requirements

      14.3 SOA Security in Practice

      14.4 Security with XML and Web Services

      14.5 When Security Comes into Play

      14.6 Summary

15. Technical Details

      15.1 Services and State

      15.2 Idempotency

      15.3 Testing and Debugging

      15.4 Dealing with Technical Data (Header Data)

      15.5 Data Types

      15.6 Error Handling

      15.7 Summary

16. Web Services

      16.1 Motivation for Using Web Services

      16.2 Fundamental Web Services Standards

      16.3 Web Services in Practice

      16.4 Closing Notes

      16.5 Summary

17. Service Management

      17.1 The History of Service Brokers

      17.2 Repositories and Registries

      17.3 Summary

18. Model-Driven Service Development

      18.1 Generated Service Code

      18.2 Modeling Services

      18.3 Meta Models in Practice

      18.4 Setting Up MDSD Processes

      18.5 Tools

      18.6 Avoiding Bottlenecks

      18.7 Summary

19. Establishing SOA and SOA Governance

      19.1 Introducing SOA

      19.2 SOA Governance

      19.3 SOA Step-by-Step

      19.4 Other SOA Approaches

      19.5 Additional Recommendations

      19.6 Summary

20. Epilogue

      20.1 Is SOA Something New?

      20.2 Does SOA Increase Complexity?

      20.3 What Are the Key Success Factors for SOA?

      20.4 Where Is SOA Not Appropriate?

      20.5 Does SOA Replace OOP?

References

index

商品描述(中文翻譯)

**描述**

本書展示了服務導向架構(SOA)作為一種具體的學科,而非僅僅是一堆雲端圖表的美好願景。基於作者在一家大型企業推行 SOA 的第一手經驗,《SOA 實踐》解釋了 SOA 如何簡化大型應用程式的創建和維護。無論您的專案涉及大量基於 Web Services 的組件,或是將舊有應用程式連接到現代商業流程,本書都能清楚說明 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.1 SOA 的定義
      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.1 ESB 的責任
      5.2 異構 ESB
      5.3 ESB 的差異
      5.4 增值 ESB 服務
      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 MEPs 簡介
      10.2 基本 MEPs
      10.3 更複雜的 MEPs
      10.4 處理可靠性與錯誤
      10.5 處理不同 MEP 層
      10.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 Services**
      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 是否取代 OOP?

**參考文獻**
**索引**