SOA Adoption Best Practices
Objectives
Ready Fire Aim?
Ready Aim Fire!
Adopting SOA Pragmatically
SOA Adoption Strategies
Wholesale SOA
Wholesale SOA Pros/Cons
Layered SOA
Layered SOA Pros/Cons
Opportunistic SOA
Opportunistic SOA Pros/Cons
Selective SOA
Selective SOA Analysis
Selective SOA Venn Diagram
Selective SOA Pros/Cons
Discussion Questions
Summary
SOA Maturity
Objectives
Challenges to SOA Adoption
SOA Industry
Innovation Adoption Curve (Private Sector)
Public Sector SOA Adoption
Innovation Adoption Curve (Public Sector)
Standards: Core
Standards: Messaging
Standards: Security
Standards: Business Processes
Standards: Misc
Gauging SOA Maturity
CMMI and SOA Maturity
SOA Maturity Models
SOA Maturity Model (CBDI)
CBDI s Service Model
SOA Maturity Model (IBM)
IBM s Integration Model
SOA Maturity Model (Wipro)
Wipro s Model
SOA Maturity Model (Sonic)
Progress-Sonic s Model
Comparing SOA Maturity Models
SOA Adoption Roadmaps
CBDI s Roadmap
ZapThink s Roadmap Model
Developing a Model and Roadmap
Summary
SOA Governance Best Practices
Objectives
Avoid extremes
Business stakeholder involvement
Service Ownership
Governance by policy
Common Vocabulary
Tool Support
Governance by consent
Start small and grow incrementally
Summary
Service Lifecycle Best Practices
Objectives
The Discovery Phase
The Analysis & Design Phase
The Implementation Phase
The Deployment Phase
The Monitoring Phase
The Retirement Phase
Summary
Center of Excellence Best Practices
Centers of Something
Centers of Excellence / Competency
Strategic Adoption
Challenges and Risks
Adoption Risk Example #1
Adoption Risk Example #2
Governance and Risk Mitigation
Steps for Setting up a CoE
CoE Types - Academic
CoE Types - Technical
CoE Type - Expert
CoE Type - Governing
Hybrid CoE
Provide Actionable Information
Provide Actionable Tools
Provide Actionable Resources
Summary 1/2
Summary 2/2
Roles and Responsibilities within the Service Oriented Enterprise
Scoping SOA Roles
Enterprise Executives
Enterprise Portfolio Manager
Enterprise SOA Educator
Enterprise Architect
Business Management
Business SOA Champions
Business Service Portfolio Champions
Project SOA Project Roles
SOA Project Roles 1/4
SOA Project Roles 2/4
SOA Project Roles 3/4
SOA Project Roles 4/4
Summary
Architectural Topology for SOA
Objectives
Vendor Confusion
Service Intermediaries
Intermediary Options
Intermediary Service
Centralized Bus
Logical Centralized Bus
De-centralized Framework
Policy Enforcement at Endpoints
Comparing the Approaches
Summary
Best Practices for Service Design
Objectives
Sizing Services
Service Granularity
Service Atomicity
Service Granularity Matrix 1/2
Service Granularity Matrix 2/2
Service Sizing by Type 1/2
Service Sizing By Type 2/2
Encapsulation
Encapsulation in Service Design
Service Encapsulation Considerations
Encapsulation strategies 1/3
Encapsulation Strategies 2/3
Encapsulation Strategies 3/3
Adventures in Service Orientation
More Adventures in Service Orientation
Defining Terms
What Makes A Service Composable?
Stories From The Front Line
Non-composable Services Are Stressful
Composable Services Are Good
Everybody Wins
Governing Composability
Designing Composable Services
Service Design
Data Model Consistency
Contract-driven Services
The State of Services
Aren't Stateful Services Evil?
Types of Stateful Services 1/2
Types of Stateful Services 2/2
State Management Guidelines 1/2
State Management Guidelines 2/2
The Problem with Atomic Schema
Composite Schema Design
Designing Composite Schema
Data Transformation
Data Transformation Strategy #1
Data Transformation Strategy #2
Data Transformation Strategy #3
Reference Model and Architecture
Service Design Tips
Service Design Gotchas
Summary
SOA Patterns
Objectives
Patterns: Introduction
SOA / EAI Patterns
Messaging Problem #1
Asynchronous Queuing Pattern 1/2
Asynchronous Queuing Pattern 2/2
Asynchronous Queuing Pattern Illustration
Messaging Problem #2
Event-Driven Messaging Pattern
Event Messaging Pattern Illustration
Messaging Problem #3
Reliable Messaging Pattern
Reliable Messaging Pattern Illustration
Protocol Integration Problem #1
Adapter Pattern
Adapter Pattern Illustration
Protocol Integration Problem #2
Canonical Protocol Pattern
Canonical Protocol Pattern Illustration
Protocol Integration Problem #3
Protocol Bridging Pattern
Protocol Bridging Pattern Illustration
Data Management Problem #1
Canonical Data Format Pattern
Canonical Data Format Illustration
Data Management Problem #2
Data Transformation Pattern
Data Transformation Illustration
Data Management Problem #3
Data Management Problem #3 (cont d)
Schema Centralization Pattern
Schema Centralization Illustration
Service Design Problem #1
Service Design Problem #1 (cont)
Intermediate Routing Pattern
Intermediate Routing Illustration
Service Design Problem #2
Decoupled Contract Pattern
Decoupled Contract Illustration
Decoupled Contract Another Illustration
Service Design Problem #3
Service Encapsulation Pattern
Service Encapsulation Illustration
Service Design Problem #4
Service Decomposition Pattern
Service Decomposition Illustration
Summary
SOA Security Patterns
Objectives
Key Challenges in SOA Security
Authentication Pattern
Authorization Pattern
Confidentiality Pattern
Non-repudiation Pattern
Inter-organization Authentication Pattern
Single Sign On Pattern
Federated Security Pattern
Summary
Appendix A. Governance Fundamentals
Objectives
The Strategic Role of IT
Governing IT
IT Infrastructure Library (ITIL)
ITIL: Managing IT Activities
ICT Infrastructure Management (ICTIM)
ICTIM Processes
Control Objectives for Information and related Technology (COBIT)
Need for SOA Governance
SOA Governance
SOA Governance Adoption
Key Governance Relationships
SOA Governance Elements
SOA Governance Procedures
Recommended Procedures
More Recommended Procedure
SOA Governance Policies
Enterprise Policies
Business Policies
Service Policies
SOA Governance Metrics
More SOA Governance Metrics
Some Best Practices
Relevant Standards Work
OASIS SOA-RM
Reference Model in Context
OASIS SOA-RA
Summary
Appendix B. Layers of Services
Objectives
What Is Layering?
SOA Layers
Layering Illustration
Common Layers
Auxiliary Layers
Digesting the Layers
The Application Service Layer
The Business Service Layer
The Orchestration Layer
Layering Rules of Thumb
Scope of a Service
SOA User Interface
Portal Site's Context Awareness
Web 2.0 Data Aggregation
Summary