1. SOA Fundamentals
|
|
- Objectives
- Defining SOA
- SOA as an Alignment Strategy
- The SOA Umbrella
- What s a Service?
- Service Actors
- Serving up SOA
- Business Process Management
- BPM & Workflow
- SOA Governance
- SOA Governance Model
- SOA Job Role Impact
- Services Please!
- SOA Re-Organization
- What makes a good design?
- Is this a New Concept?
- Service Orienting the Enterprise
- Service Oriented Thinking
- SOA is Perfect NOT!
- Service Characteristics
- When do I need a service?
- About Services in SOA
- Contract-driven software
- SOA Standards
- Summary
|
|
2. Layers of Services
|
|
- Objectives
- What is Layering?
- SOA Layers ...
- Data Storage Layer
- Application Logic Layer
- Adapter Layer
- Application Service Layer
- Business Service Layer
- Orchestration Layer
- Aux: Data Service Layer
- Aux: Security Service Layer
- Layering Concepts
- Layering Rules of Thumb ...
- Layering Rules of Thumb
- In Review ...
- Summary
|
|
3. SOA Value Proposition
|
|
- Objectives
- The SOA Value Proposition
- Reducing integration expense
- Integration costs illustration
- Ripple effect of changes
- The value of SOA layering
- SOA reduces integration costs
- Increasing Asset Reuse
- SOA Economics / ROI
- Asset Reuse Illustration
- Service reuse vs object reuse
- Increasing business agility
- Business Agility Illustration
- Traditional EAI Approach
- Problems with Traditional EAI Approach
- Change Flow Using Legacy Approach
- SOA Agility
- Build the Services
- Build the Process
- We Can Easily Change the Process
- Reducing business risk
- Risk reduction illustration
- SOA Eases Compliance Risk
- Other Advantages
- Business Advantages
- Hasn t this been said before?
- Hasn t this been said before?
- ROI Quantification Hurdles
- Real World SOA Example 1
- Real World SOA Example 2
- Real World SOA Example 3
- Real World SOA Example 4
- Summary
|
|
4. Enterprise Service Bus (ESB)
|
|
- Objectives
- SOA and the ESB Pattern
- Loose Coupling
- Service Invocation
- Business Process
- Data Integration
- Enterprise Service Bus (ESB)
- Legacy System Integration
- Unsupported Protocol
- The Role of ESB in SOA
- ESB: Software Artifacts
- ESB - Software Artifacts
- Business Process
- Business Process: Example
- Minimum ESB Capabilities
- Minimum ESB Capabilities: Integration
- Minimum ESB Capabilities: Communication
- Minimum ESB Capabilities: Service Interaction
- Minimum ESB Capabilities: Management
- Security and ESB
- Summary
- BizTalk 2006 as an ESB
|
|
5. Microsoft Software Platform for SOA
|
|
- Objectives
- Software Tools for SOA
- The Need for a Tool
- SOA Development Iteration
- Runtime Products for SOA
- Microsoft Software Offering
- Other MS Software Options
- MS Internet Information Server
- Microsoft Message Queue
- Microsoft BizTalk Server 2006
- Windows Workflow Foundation (WF)
- Summary
|
|
6. Introduction to Biztalk Server 2006 Developer Tools
|
|
|
|
7. SOA Service Life Cycle
|
|
- Objectives
- SOA Adoption
- Adoption Stages
- Managing Services
- SOA Service Life Cycle Overview
- SOA s Circle of Life
- Discovery Phase
- Analysis & Design Phase
- Implementation Phase
- Deployment Phase
- Monitor Phase
- Retirement Phase
- Summary
|
|
8. Introduction to Service Oriented Analysis & Design (SOAD)
|
|
- Objectives
- Introduction to SOAD
- Applying OOAD Principles
- Abstraction
- Abstraction in SOAD
- Encapsulation
- Encapsulation in SOAD
- Modularity
- Modularity in SOAD
- Hierarchy
- Hierarchy in SOAD
- Why OOAD Is Not Enough
- Granularity
- The Need for Loose Coupling
- The SOAD Methodology
- The SOAD Methodology Steps
- Stage 1: Requirements Gathering & Process Modeling
- Stage 2: Service Identification
- Stage 3: Service Implementation
- Stage 4: Process Implementation
- SOAD Stages and SOA Lifecycle
- Summary
|
|
9. SOA Case Study
|
|
- Objectives
- What is a Case Study?
- Case Study Background
- Additional Background
- The Problem Statement
- Status Quo Issues
- Status Quo Issues (continued)
- Opportunities
- How Can SOA Help?
- Example Solution Snippet
- Summary
|
|
10. Stage 1: Business Modeling and Use Cases
|
|
- Objectives
- Stages of SOAD
- Where are We in SOA Lifecycle?
- Stage 1: Business Process Modeling
- Basic Concepts
- SOA and Business Process Model
- Before You Get Started
- Process Modeling Steps
- Business Process Use Cases
- Return Handling Use Case
- Modeling the Business Processes
- Use Case and Business Process
- The Return Handling Process Model
- Return Handling Process Model
- Trading Partner Design Pattern
- The UML Alternative
- Best Practices
- Summary
|
|
11. Stage 2: Service Identification
|
|
- Objectives
- Stages of SOAD
- Where are We in the SOA Lifecycle?
- Stage 2: Service Identification
- The Service Model
- Developing a service model
- Service Model Example #1
- Service Model Example #2
- Service Model Example #3
- Service model granularity
- SOAD Stage 2 Process
- Identifying Services
- Service Identification Check
- Specify the Service Interface
- Specify The Process Interface
- Identify Services from UC001 Return Handling
- Identify Services from UC001 Return Handling
- Identify Services from UC001 Return Handling (continued)
- Service Contract Template
- Service Contract Template Part 2
- Service Contract Template Part 3
- Service Design Best Practices
- Summary
- Service Specification in BizTalk
- More on Port Types
|
|
12. XML Programming
|
|
- Objectives
- XML Overview
- Data and Document Structure
- An Employee Document
- Tags
- First XML Document
- Markup Languages
- What is XML ?
- Why XML?
- An Example of XML Document
- Well-Formed v. Valid XML Document
- Enforcing Validity: DTDs
- Presentation Style
- Sections of an XML Document
- XML Elements
- Nesting and Hierarchy of XML Elements
- Tag Attributes
- Naming Rules
- Namespaces
- Using Namespaces
- Java API for XML
- The XML Example
- Example SAX Handler
- Example: Begin Parsing
- Once Again with Namespace
- Using DOM to Parse
- With Namespace Enabled
- Example: Build DOM Document
- Example: Save DOM Document in a File
- Persisting XML
- Summary
|
|
13. XML Schema Basics
|
|
- Objectives
- What is an XML Schema?
- Role of XML Schema in SOA
- Creating a Schema File
- Defining a Simple Element
- Defining a Complex Element
- Defining Element Attributes
- Referring to an Element From Another Element
- Defining Abstract Data Types
- Adding Restrictions
- Referring to a Schema from an XML Document
- Validating the XML Against the Schema
- Summary
|
|
14. Web services Description Language (WSDL)
|
|
- Objectives
- WSDL Overview
- WSDL Document Tags
- WSDL Namespaces
- Sample WSDL Document Structure
- <definitions>
- <import>
- <types>
- <message>
- <portType>
- <operation>
- One-way <operation>
- Request-Response <operation>
- Solicit-Response <operation>
- Notification <operation>
- Modeling Simple Operation
- Modeling Complex Operation
- Modeling Complex Message
- <binding>
- More on <binding>
- <binding> Syntax
- SOAP Binding Example
- <service> and <port>
- More on <port>
- WSDL SOAP Binding Extensions
- soap:binding
- soap:operation
- RPC or Document Style?
- WSDL API for Java
- Summary
|
|
15. Simple Object Access Protocol (SOAP)
|
|
- Objectives
- SOAP Overview
- SOAP in Protocol Stack
- SOAP Components
- SOAP HTTP Request Example
- SOAP HTTP Response Example
- Message Envelope
- The Header Element
- Header Attributes
- SOAP Body
- SOAP Fault
- Communication Style
- RPC/Encoded Style
- RPC/Literal Style
- Enabling RPC Styles
- Document/Literal Style
- Document/Literal Wrapped Style
- Details of the Wrapped Style
- Enabling Document Literal Style
- Summary
|
|
16. Stage 3: Service Design and Implementation
|
|
- Objectives
- Stages of SOAD
- Where are We in the SOA Lifecycle?
- Introduction
- How Is a Service Developed?
- Top Down Development
- Web Service Implementation Choices
- Apply OOAD in New Service Development
- Top-Down Summary
- Bottom-Up Development
- Bottom-Up Technology Choices (Java)
- Example: JCA-Based Service
- Example: JAX-WS Service
- Bottom-Up Technology Choices (.NET)
- Example: ASMX Service
- Example: Adapter-Based Service
- Data Mapping
- Interface Mapping
- Implementing the Services for UC001 Return Handling
- Best Practices
- Summary
|
|
17. Web Services Software Development Methodology
|
|
- Objectives
- Need for a Software Methodology in Web Services
- The Software Lifecycle
- Software Lifecycle
- Service Provider
- Provider: Green Field
- Provider: Top-down
- Provider: Bottom-up
- Provider: Meet in the Middle
- The Service Requester
- Summary
|
|
18. Stage 4: Business Process Implementation
|
|
- Objectives
- Stages of SOAD
- Where are We in the SOA Lifecycle?
- Basics
- Business Process Diagram
- Challenges in Process Implementation
- Challenges in Process Implementation
- BPEL
- Variables
- Partnership
- Example: A Buy-Sell Partnership
- Modeling Partnership in BPEL
- Simple Activities
- Invoke Activity
- Structured Activities
- Lifecycle of Process Development
- Lifecycle of Process Development
- Phase II Process Definition Details
- Phase III Compilation Details
- Phase IV Deployment Details
- Phase V Business Process Execution
- What Is a Good Process Design?
- Follow Integration Patterns
- Example: A Simple Process
- Additional Process Design Considerations
- Summary
- XLANG and BPEL
|
|
19. SOA Security
|
|
- The Challenges
- Public Key Infrastructure (PKI)
- Digital Signature
- Certificates
- Overview of Web Services Security
- SOAP Message Security
- Message Integrity
- Message Confidentiality
- Symmetric Encryption Example
- Authentication Using Identity Token
- Authentication
- Transport Level Security
- Audit Tracking
- Identity Assertion Using SAML
- SAML SOAP Example
|
|
20. Introduction to SOA Testing
|
|
|
|
21. Unit Testing SOA Components
|
|
- Introduction
- Unit Testing a Web Service
- Other Types of Services
- Verification Scenarios
- Unit Testing Guidance
- Unit Testing SOA Components
- More Details Testing Data Maps
- Data Map Test Guidance
- More Details Business Process
- Unit Testing Business Process
- Business Process Test Guidance
- Human workflow
- Unit Test Human Interface
- Human Interface Test Guidance
- White Box Testing
|
|
22. Integration Test
|
|
- Introduction
- Types of Integration Tests
- The Governance Aspect
- Component Ownership
- Setting Up a Service Integration Test System
- Setting Up a Process Integration Test System
- Creating a Script To Test a Service
- Running a Test Case for a Service
- Creating a Business Process Test Script
- Running a Test Case for a Process
|
|
23. Non-Functional Testing
|
|
- Introduction
- Performance Testing
- Security Testing
- Common Web Service Attacks
- Interoperability Testing
- WS-Interoperability
- Interoperability Testing a Service
- Interoperability Testing a Business Process
- .NET Interoperability
- Process State Persistence Testing
- Process Versioning Testing
|
|
24. 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
|
|
25. SOA Patterns
|
|
- Objectives
- Patterns: Introduction
- SOA Patterns
- Messaging Channel Patterns
- Messaging Channel Patterns for SOA
- Messaging Channel Patterns
- Messaging Channel Patterns for SOA
- Messaging Channel Patterns
- Message Type Pattern
- Deferred Response in SOA
- Message Routing Patterns
- Message Routing Patterns in SOA
- Message Transformation Patterns
- Message Transformation Patterns in SOA
- Summary
|
|
26. SOA Antipatterns
|
|
- Objectives
- What are Antipatterns?
- Technology-driven SOA Adoption
- So What's New?
- SOA Is the Cure All
- Web Service is SOA
- The Silo Approach
- Fine Grained Service
- Point-to-Point Communication
- Stateful Services
- Summary
|
|
Appendix B. Introduction to UDDI
|
|
- Objectives
- UDDI Overview
- UDDI in Web Services Architecture
- UDDI
- Businesses and Services in UDDI
- Static and Dynamic Web Services
- UDDI Registry Structure
- UDDI Registry Structure -tModel
- UDDI Registry Structure
- UDDI Interactions
- UDDI in WebSphere
- Summary
|