Service Oriented Architecture (SOA) shows demonstrable signs of simplifying software integration. It can reduce the cost of integration significantly. Organizations are beginning to architect new integration solutions following the SOA approach.
This course delves deep into various architectural aspects of SOA. It starts with the Service Oriented Analysis and Design. This will help the architects understand how requirements are captured, business processes are modeled and services are identified. It moves on to data, transaction and messaging architecture.
You Will Learn How To:
Students will get to actually apply various principles in hands on exercises. This will make the concepts come alive.
After taking the course, an architect will gain enough knowledge to begin devising a comprehensive architecture for a new SOA based solution.
Course Prerequisites
Previous experience with software architecture is recommended. Some knowledge of Object Oriented Analysis and Design is required.
Who Should Attend?
IT architects, senior developers.
Course Outline
1. SOA Fundamentals
Objectives
SOA in Context
Defining SOA
What makes a good design?
The SOA Umbrella
What s a Service?
Service Actors
Serving up SOA
SOA and Business Process Management
BPM Value Add
SOA Governance
SOA Governance Model
SOA Job Role Impact
SOA Value
Is this a New Concept?
Service Orienting the Enterprise
Service Oriented Thinking
SOA is Perfect
Service Characteristics
About Services in SOA
Contract-driven software
SOA Standards
Summary
2. 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
3. Layers of Services
Objectives
What is Layering?
SOA Layers
Common Layers
Auxiliary Layers
Digesting the Layers
The Application Service Layer
The Business Service Layer
The Orchestration Layer
Layering Rules of Thumb
SOA User Interface
Portal Site's Context Awareness
Web 2.0 Data Aggregation
Summary
4. 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
Asset reuse illustration
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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. Adapters
Objectives
What is an Adapter?
Adapter Example
The Adapter Pattern
Resource Adapters
Custom Adapters
Adapter Based Services
Advantages of Adapter Based Services
Generating Adapter Based Services
Communication Modes
Outbound Communication
Inbound Communication
Summary
16. Information Management in SOA
Objectives
Introduction
SOA and Enterprise Information Management
Operational Data Replication Basics
SOA and Data Basics
Data Publishing Event
Modeling Events
Handling Events in a BPEL Process
Data Mediation
Data Format
Generic Data Model
Example Generic Data Model
Mapping Data
Loading Data
Extract Transform Loading (ETL)
ETL and SOA
Data Federation
Summary
17. Messaging and Asynchronous Communication
Introduction
SOA and Asynchronous Behavior
Basic Messaging Patterns
Callback Style Communication in SOA
Callback Example
Implementing Callback
Correlation Set
Additional Uses of Callbacks
Non-Blocking Call in SOA
Parallel Activity
One-way Non-Blocking Call
Assured Delivery
SOA Client Behavior
18. SOA Challenges and Risks
Objectives
SOA Challenges and Risks
Emerging Standards
Emerging Standards (contd)
Selecting Tools and Infrastructure
Service Selection and Creation
Service Management
Portfolio Management
Paradigm Shifting
Communication
Policies and Compliance
Project Management
Training and Re-skilling
Governance and Risk Mitigation
Summary
19. Overview of Service Registries
Objectives
Services Registry
Why Do We Need a Service Registry?
Main Activities Done Using a Registry
Publish
Discovery
Dynamic Discovery
Management
Enforce Governance Lifecycle
SOA Registry Products
Summary
20. Error Handling and Transaction
Introduction
Error Handling in a Service
Designing Faults
Error Handling in a Business Process
Fault Handler
Fault Handler Example
Raising Faults in a Process
Transaction in SOA
Transaction and Short Lived Business Process
Transaction and Long Lived Business Process
Example: Long Running Process
Transaction Context Propagation
Example: Transaction Context Propagation
Compensation
Compensation in a Microflow
Compensation in a Long Running Process
Example Compensation
Compensation Handler
Compensation Guidelines
21. SOA Security Overview
Objectives
Traditional systems
Loosely-coupled systems
Risks of loosely-coupled services
SOA Security Concerns
Security Stack: Web services
Security Stack: Other services
Discussion Question
Summary
22. Security Patterns
Objectives
Service bus security
Service bus security layers
Application-managed security
Security as a service
Reverse Proxy
ESB Gateway
Discussion Question
Summary
23. Security Layering
Objectives
SOA Layers
Security Layering
Policy-driven Security
PEP/PDP in Action
Separation of concerns
Loosely-coupled security layer
SES/SDS in Action
Layering and service granularity
Security Service Granularity
Process-centric Security
Discussion Question
Summary
24. Introduction to SOA Testing
Introduction
The SOA Components to Test
SOA Testing Challenges
Layered Component Testing
Phased Testing
Parts of a Test Framework
Unit Testing a Web Service
Verification Scenarios
Unit Testing Data Maps
Unit Testing Business Process
Setting Up a Service Integration Test System
Setting Up a Process Integration Test System
Non-Functional Testing
Performance Testing
Security Testing
Interoperability Testing
Process State Persistence Testing
Process Versioning Testing
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
27. Software Platform for SOA
Objectives
SOA Development Iteration
Types of Software Needed to Support SOA
Oracle SOA Suite
IBM Software Offering
IBM WebSphere Process Server
IBM IT Service Management (ITSM) Tools
TIBCO BusinessWorks
TIBCO SmartMapper
webMethods Fabric
webMethods: Enterprise Service Platform (ESP)
webMethods: Business Process Management (BPM)
webMethods: Business Activity Monitoring (BAM)
webMethods: Composite Application Development
WebLogic Integration
Microsoft BizTalk Server 2006
Windows Workflow Foundation (WF)
Summary
Appendix A. Glossary
Glossary
Glossary
Glossary
Glossary
Appendix B. Service Oriented Modeling and Architecture (SOMA)