SOA in Practice: The Art of Distributed System Design (Paperback)

Nicolai M. Josuttis

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




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


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?