SOA in Practice. The Art of Distributed System Design - Helion
ISBN: 978-05-965-5155-1
stron: 344, Format: ebook
Data wydania: 2007-08-24
Księgarnia: Helion
Cena książki: 118,15 zł (poprzednio: 137,38 zł)
Oszczędzasz: 14% (-19,23 zł)
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
--Dr. Steffen Roehn, Member of the Executive Committee T-Mobile International (CIO)
"Nicolai Josuttis has produced something that is rare in the over-hyped world of SOA; a thoughtful work with deep insights based on hands-on experiences. This book is a significant milestone in promoting practical disciplines for all SOA practitioners."
--John Schmidt, Chairman, Integration Consortium
"The book belongs in the hands of every CIO, IT Director and IT planning manager."
--Dr. Richard Mark Soley, Chairman and CEO, Object Management Group; Executive Director, SOA Consortium
Osoby które kupowały "SOA in Practice. The Art of Distributed System Design", wybierały także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Scrum. O zwinnym zarządzaniu projektami. Wydanie II rozszerzone 58,64 zł, (12,90 zł -78%)
- Od hierarchii do turkusu, czyli jak zarządzać w XXI wieku 58,64 zł, (12,90 zł -78%)
Spis treści
SOA in Practice. The Art of Distributed System Design eBook -- spis treści
- SOA in Practice
- Preface
- What You Should Know Before Reading This Book
- Structure of the Book
- Conventions Used in This Book
- Additional Information
- Safari Books Online
- Feedback, Comments, and Questions
- Acknowledgments
- 1. Motivation
- Characteristics of Large Distributed Systems
- The Tale of the Magic Bus
- What We Can Learn from the Tale of the Magic Bus
- History of SOA
- SOA in Five Slides
- Slide 1: SOA
- Slide 2: Policies and Processes
- Slide 3: Web Services
- Slide 4: SOA in Practice
- Slide 5: SOA Governance and Management Support
- 2. SOA
- Definitions of SOA
- SOA Is a Paradigm
- SOA Aims to Improve Flexibility
- SOA Drivers
- Distributed Systems
- Different Owners
- Heterogeneity
- SOA Concepts
- Services
- High Interoperability
- Loose Coupling
- SOA Ingredients
- Infrastructure
- Architecture
- Processes
- Governance
- SOA Is Not a Silver Bullet
- SOA Is Not a Specific Technology
- SOA Versus Distributed Objects
- SOA Terminology
- Summary
- Definitions of SOA
- 3. Services
- Services
- Services Represent Business Functionality
- Interfaces and Contracts
- Additional Service Attributes
- Self-Contained
- Coarse-Grained
- Visible/Discoverable
- Stateless
- Idempotent
- Reusable
- Composable
- Technical
- QoS- and SLA-Capable
- Pre- and Post-Conditions
- Vendor-Diverse
- Interoperable
- Implemented As Web Services
- Summary
- Services
- 4. Loose Coupling
- The Need for Fault Tolerance
- Forms of Loose Coupling
- Asynchronous Communication
- Heterogeneous Data Types
- Mediators
- Weak Type Checking
- Binding
- Platform Dependencies
- Interaction Patterns
- Compensation
- Control of Process Logic
- Deployment
- Versioning
- Dealing with Loose Coupling
- Summary
- 5. The Enterprise Service Bus
- ESB Responsibilities
- Heterogeneous ESBs
- ESB Differences
- Point-to-Point Connections Versus Mediation
- Interceptors
- Protocol-Driven Versus API-Driven ESB
- Value-Added ESB Services
- Data Mapping
- Intelligent Routing
- Dealing with Security
- Dealing with Reliability
- Service Management
- Monitoring and Logging
- Business Activity Monitoring (BAM)
- Service Implementation Support
- Summary
- 6. Service Classification
- A Fundamental Service Classification
- Basic Services
- Basic Data Services
- Basic Logic Services
- Fundamental SOA
- Composed Services
- Composed Services for Multiple Backends
- Composed Services for One Backend
- Federated SOA
- Security
- Process Services
- Process-Enabled SOA
- Service State Versus Backend State
- Other Service Classifications
- Dealing with Different Types of Consumers
- Reading Versus Writing Services
- Business Categorizations
- Categorization according to Erl
- Categorization according to Allen
- Technical and Infrastructure Services
- Beyond Services
- Summary
- 7. Business Process Management
- BPM Terminology
- BPM and SOA
- Example for BPM with Services
- Business Process Modeling
- Using Business Process Modeling Tools
- BPEL
- Other Business Process Modeling Standards
- Business Process Modeling with BPEL in Practice
- Other Approaches to Identifying Services
- Portfolio Management
- Dont Switch Off Your Brain
- Orchestration Versus Choreography
- Choreography and SOA
- A Few More Things to Think About
- Summary
- 8. SOA and the Organization
- Roles and Organizations
- From Monolithic Systems to Distribution
- Solution Management
- Collaboration
- Management Support
- Funding Models
- Summary
- Roles and Organizations
- 9. SOA in Context
- SOA-Based Architecture Models
- Logical Architecture Models
- Mixed Architecture Models
- Technical Architecture Models
- Choosing the Right Architecture Model
- Dealing with Frontends and Backends
- Roles and Responsibilities
- Multilayer Validation
- Multifrontendchannel Scenarios
- Multiapplication Frontends
- Future Management
- Summary
- SOA-Based Architecture Models
- 10. Message Exchange Patterns
- Introduction to MEPs
- Basic MEPs
- Request/Response
- One-Way
- Request/Response Versus Two One-Way Messages
- More Complicated MEPs
- Request/Callback
- Publish/Subscribe
- Dealing with Reliability and Errors
- Fault Messages
- Technical Errors
- Dealing with Different MEP Layers
- Event-Driven Architecture
- Summary
- 11. Service Lifecycle
- Services Under Development
- Iterative Service Development
- Service Identification
- Services in Production
- Modifying Services in Production
- Withdrawing a Service
- Summary
- Services Under Development
- 12. Versioning
- Versioning Requirements
- Domain-Driven Versioning
- Trivial Domain-Driven Versioning
- Nontrivial Domain-Driven Versioning
- Versioning of Data Types
- Using Different Types for Different Versions of a Data Type
- Using the Same Type for Different Versions of a Data Type
- Using Generic Data Types
- Summary of Versioning of Data Types
- Configuration-Management-Driven Versioning
- Versioning in Practice
- Modifications Should Impact Only the Provider and Consumer(s)
- Call Constraints Should be Considered
- Summary
- 13. SOA and Performance
- Where Performance Matters
- From Remote Stored Procedures to Services
- Performance and Reusability
- Call Constraints
- Customized Services
- Reusability in Practice
- Performance and Backward Compatibility
- Summary
- 14. SOA and Security
- Security Requirements
- Dealing with Security Requirements
- Interoperability Versus Security
- Heterogeneity and Security
- Distributed Processes and Many Layers of Abstraction
- Multiclient Capabilities
- SOA Security in Practice
- Infrastructures Dont Provide Sufficient Security
- Dealing with Confidentiality and Integrity
- Security as a Service
- Security, Performance, and State
- Security in Reality
- Security with XML and Web Services
- SAML
- XML and Web Services Security Standards
- XML and Web Services Attacks
- When Security Comes into Play
- Summary
- 15. Technical Details
- Services and State
- Stateless Services
- Stateful Services
- Why Stateless Services Are Better
- Stateless Services in Practice
- Idempotency
- Idempotent Services
- Implementing Idempotency
- Testing and Debugging
- Unit Tests
- Distributed Testing
- Correlation IDs
- Dealing with Technical Data (Header Data)
- Data Types
- Fundamental Data Types
- Reference Semantics
- Higher Data Types
- Error Handling
- Summary
- Services and State
- 16. Web Services
- Motivation for Using Web Services
- What Are Web Services?
- History of Web Services
- Fundamental Web Services Standards
- WSDL
- WSDL by Example
- SOAP
- UDDI
- Web Services in Practice
- Open Standardization
- Protocol Aspects
- The WSDL Lifecycle
- WSDL Deficits
- So, Should You Use Web Services?
- Closing Notes
- Summary
- Motivation for Using Web Services
- 17. Service Management
- The History of Service Brokers
- Repositories and Registries
- Designing Repositories and Registries
- Establishing Repositories and Registries
- Summary
- 18. Model-Driven Service Development
- Generated Service Code
- Modeling Services
- Terminology
- The Model-Driven Tool Chain
- Meta Models in Practice
- Setting Up MDSD Processes
- Consumer-Driven Transformations
- Provider-Driven Transformations
- Third-Party-Driven Transformations
- MDSD Processes in Practice
- Labeling
- Debugging
- Manually Modified Generated Code
- The Code-Generation Granularity Dilemma
- Deployment and Robustness
- Tools
- XSLT
- MDSD Tools
- Avoiding Bottlenecks
- Summary
- 19. Establishing SOA and SOA Governance
- Introducing SOA
- SOA Governance
- Definition of Governance
- Central SOA Teams
- SOA Step-by-Step
- Step 1: Understand SOA
- Step 2: The SOA Pilot
- Step 3: The Second and Third SOA Projects
- Step 4: Grow and Become a General Strategy
- Tasks Necessary over All Steps
- Other SOA Approaches
- The Four Ps, by Pulier and Taylor
- Architectural Roadmap, by Krafzig, Banke, and Slama
- Top-Down or Bottom-Up, by Krafzig and Slama
- SOA Drivers, by Anne Thomas Manes
- Essence of Different SOA Approaches
- Additional Recommendations
- Policies
- Dealing with People
- SOA Maturity Models
- Summary
- 20. Epilogue
- Is SOA Something New?
- Does SOA Increase Complexity?
- What Are the Key Success Factors for SOA?
- Where Is SOA Not Appropriate?
- Does SOA Replace OOP?
- References
- Glossary
- Index
- About the Author
- COLOPHON
- Copyright