WA1560 SOA Best Practices for Technology Training and Courseware Course Outline

1. SOA in Context

  • The many faces of SOA
  • The SOA umbrella
  • SOA and BPM
  • SOA and Governance
  • SOA services
  • SOA’s purpose
  • Industry players
  • Maturity within the market
  • Current SOA challenges
  • The future of SOA
 

2. SOA Layering

  • What is layering?
  • Common layers
  • Auxiliary layers
  • The SOA stack
  • Digesting the layers
  • Layering rules of thumb
 

3. The State of Standards

  • Standards – Friend or foe?
  • Standards bodies
  • Mature standards
  • Standards in flux
  • Emerging standards
  • Leveraging SOA standards
 

4. SOA Governance

  • The role of proper governance
  • Governance models in perspective
  • Establishing a SOA Center of Excellence
  • Utilizing governance tools
  • Design-time, run-time, and change-time governance
  • Service lifecycle management
  • Management by SLAs
  • Financial management
  • Managing service capacity
  • Managing service and process availability
  • Security management
  • Architectural management
  • Management of SOA policies
 

5. Process-centric SOA

  • The importance of Business Process Management (BPM) within SOA
  • Common BPM pitfalls
  • Modeling business processes
  • Business process as documentation
  • Controlling business processes
  • Driving a process-centric enterprise
 

6. Rules-driven SOA

  • Business rules within BPM
  • Externalizing existing rules
  • Identifying new rules
  • Managing SOA business rules
  • Leveraging business rules
  • Supporting tools
 

7. Process and Service Identification Methodologies

  • Overview of popular methodologies
  • Top-down modeling
  • Bottom-up modeling
  • Goal-service modeling
  • SOA modeling pitfalls
  • SOA modeling recommendations
 

8. Service Lifecycle Recommendations

  • SOA lifecycle overview
  • High risk points within the SOA lifecycle
  • Handling service and process dependencies
  • Service composition
  • Configuration and control
  • Proper retirement of processes and services
 

9. Service Granularity and Interface Design

  • Interface-driven design
  • Sizing your services
  • Service composition strategies
  • Interface design techniques
  • OOAD interface design
  • Guiding principals
  • Abstract interfaces
  • Interface inheritance
  • Polymorphic interfaces
  • Transactional services
  • Are stateful services evil?
 

10. Service Data Modeling

  • Service data modeling considerations
  • Canonical data modeling
  • Process-centric data modeling
  • Layered data modeling
  • Leveraging a data services layer
  • Handling SOA metadata
  • XML Schema and WSDL considerations
 

11. Optimization Techniques

  • Scoping SOA performance
  • Identifying bottlenecks
  • Architectural solutions
  • Service granularity
  • Asynchronous communication
  • Caching strategies
  • Implementation solutions
  • Transport-layer optimization
  • SOAP Message Transmission Optimization Mechanism (MTOM)
  • XML parsing acceleration
 

12. Ensuring Service Interoperability

  • Interoperability issues
  • Messaging
  • SOAP communication styles
  • Wrapped Doc/Literal strategy
  • Creating interoperable data types
  • WS-I
  • WS-I Basic profiles
  • WS-I best practices
  • Supporting tools
  • WS-Policy
  • Enforcing compliance through WS-Policy
  • Supporting tools
 

13. Service Versioning Strategies

  • The problem of SOA versioning
  • Configuration control granularity
  • The role of XML Schema and WSDL
  • The role of the service registry
  • Naming conventions
  • The WSDM specification
  • Process versioning
  • Service versioning
  • Operation versioning
  • Supporting multiple simultaneous versions
  • Defining a version control policy (VCP)
  • The WSDM
  • Leveraging UDDI
 

14. SOA Testing Strategies

  • The problem of SOA testing
  • End-to-end testing within SOA
  • WSDL testing
  • WS-I compliance
  • WS-Policy compliance
  • Mock clients and services
  • Regression testing gotchas
  • SOA testing recommendations
 

15. Security Recommendations

  • SOA security considerations
  • The SOA security stack
  • Security standards
  • WS-Security
  • WS-Federation
  • WS-Trust
  • WS-Privacy
  • Single Sign On
  • Identity management
  • SOA security approaches
  • Point-to-Point security
  • ESB-brokered security
  • The security service layer
 

16. SOA Business Patterns

  • Business patterns
  • The Self-service model
  • The Information warehouse model
  • The Information subscription model
  • The User collaboration model
  • The Extended enterprise model
  • Custom business models
  • Mining for gold within your SOA
 

17. Architectural Design Patterns

  • Process integration concepts
  • Application integration patterns
  • Pattern: Direct Connection
  • Pattern: Brokered Connection
  • ESB Brokers
  • Registry Brokers
  • Pattern: Adapter Connection
  • Pattern: Service Mediator
  • Pattern: Reverse Proxy
 

18. Service Bus Patterns

  • ESB Overview
  • Pattern: Single Logical ESB
  • Pattern: Directly Connected ESB
  • Single Registry Strategy
  • Multiple Registry Strategy
  • Pattern: Brokered ESB
  • Pattern: Hub/spoke ESB
  • Store/branch Strategy
  • Imposed ESB Strategy
 

19. Service Messaging Design Patterns

  • Messaging Models
  • Serial vs Parallel Processing
  • Pattern: Direct messaging
  • Pattern: Pub/sub messaging
  • Topic strategy
  • Queue strategy
  • Pattern: Channel adapter
  • Pattern: Message type
  • Routing patterns
  • Pattern: Simple router
  • Pattern: Dynamic router
  • Pattern: Content router
  • Pattern: Filter router
  • Other routing patterns
  • Transformation patterns
  • Pattern: Content aggregator
  • Pattern: Content filter
  • Pattern: Content normalizer
  • Custom messaging patterns
 

20. SOA Technology Anti-Patterns

  • Anti-pattern: Stateful services
  • Anti-pattern: Uber service
  • Anti-pattern: Gilded point-to-point
  • Anti-pattern: Data replication
  • Anti-pattern: Stovepipe