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
|
| |
| |