Topics

The course covers the following key areas of SOA:

  • SOA Fundamentals
  • SOA Value Proposition
  • Services (EAI, WS and REST)
  • Enterprise Service Bus (ESB)
  • SOA Infrastructure and Tools
  • Service and business process design using SOAD
  • Governing SOA
  • Messaging architecture in SOA
  • Error Handling and Transaction Management
  • Adapters and Information Management
  • Securing Services
  • Testing Services
  • SOA Best practices

What you will learn

Students will get to actually apply various principles in hands on exercises. This will make the concepts come alive.  Throughout the five day course, students will work through 18 real world labs in a hands-on SOA environment.

After taking the course, an architect will gain enough knowledge to begin devising a comprehensive architecture for a new SOA based solution.

Audience

Enterprise Architects, Solution Architects, Business Architects, Information Systems Architects, and Senior Developers.

Prerequisites

Previous experience with software architecture is recommended. Some knowledge of Web Services and Object Oriented Analysis and Design is recommended, but not required.

Duration

Five Days

Lab Setup Guide

Outline for SOA for Architects BizTalk Edition Training

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)

 
  • Objectives
  • Introduction
  • SOMA
  • The Rational Unified Process
  • SOMA & RUP
  • Summary
 

Appendix C. WS BPEL 2.0 A Technical Overview

 
  • WS BPEL 2.0
  • Motivation
  • History
  • Basics
  • BPEL Usage
  • BPEL Constructs
  • BPEL Constructs
  • Activities
  • BPEL Documents
  • Imports
  • Partner Links
  • Example: a Buy-Sell Partnership
  • Modeling Partnership in BPEL
  • Variables
  • Variable Properties
  • Correlation Sets
  • BPEL Activities
  • Standard Attributes
  • BPEL Basic Activities - invoke
  • BPEL Basic Activities receive
  • BPEL Basic Activities - assign
  • BPEL Basic Activities - throw
  • BPEL Basic Activities - rethrow
  • BPEL Basic Activities - wait
  • BPEL Basic Activities - empty
  • BPEL Basic Activities - exit
  • Structured Activities - sequence
  • Structured Activities - if
  • Structured Activities - while
  • Structured Activities - repeatUntil
  • Structured Activities - pick
  • Structured Activities - flow
  • Structured Activities - forEach
  • BPEL Scopes
  • BPEL Handlers
  • Summary