SOA in Practice: The Art of Distributed System Design (Paperback)
內容描述
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
- 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 - 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 - Services 3.1
Services 3.2 Interfaces and Contracts
3.3 Additional Service Attributes
3.4 Summary - Loose Coupling
4.1 The Need for Fault Tolerance 4.2 Forms of
Loose Coupling 4.3 Dealing with Loose
Coupling 4.4 Summary - 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 - 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 - 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 - SOA and the Organization
8.1 Roles and Organizations 8.2
Funding Models 8.3 Summary - SOA in Context
9.1 SOA-Based Architecture Models 9.2 Dealing
with Frontends and Backends 9.3
Summary - 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 - Service Lifecycle
11.1 Services Under Development 11.2
Services in Production 11.3 Summary - 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 - 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 - 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 - 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 - 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 - Service Management
17.1 The History of Service Brokers 17.2
Repositories and Registries 17.3
Summary - 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 - 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 - 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