Course Description

Service Oriented Architecture (SOA) is a powerful and flexible solution architecture for systems integration, resource sharing, and enabling agility in the modern enterprise. SOA promotes an alignment between business and IT and allows disparate domains and information systems to collaborate together as part of a cohesive enterprise. Although SOA possesses a lot of potential for enterprises, there are plenty of things that could go wrong in attempting to apply it to your organization.

Should you deploy Web Services? Do you need an Enterprise Service Bus (ESB)? Should you build your services top-down or bottom-up? What about transaction management? Can you do asynchronous messaging with SOA? Which standards should you adopt? How will you govern your services? How will you secure your services? Which services should you build in the first place? This comprehensive course answers all of these questions and more.

This five day course delves deep into various architectural aspects of SOA. It starts with the Service Oriented Analysis and Design (SOAD). This will help the architects understand how requirements are captured, business processes are modeled and services are identified. The course moves on to explore information management, transaction handling, messaging architecture, testing services, and finally securing them.


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



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.



5 days


Target Audience

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


Course Prerequisites

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


Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.


Course Content

SOA Fundamentals

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

SOA Case Study

What is a Case Study?

Case Study Background

Additional Background

The Problem Statement

Status Quo Issues

Status Quo Issues (continued)


How Can SOA Help?

Example Solution Snippet

Layers of Services

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

SOA Value Proposition

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

Enterprise Service Bus (ESB)

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

BizTalk 2006 as an ESB

XML Schema Basics

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

Web services Description Language (WSDL)

WSDL Overview

WSDL Document Tags

WSDL Namespaces

Sample WSDL Document Structure







One-way <operation>

Request-Response <operation>

Solicit-Response <operation>

Notification <operation>

Modeling Simple Operation

Modeling Complex Operation

Modeling Complex Message


More on <binding>

<binding> Syntax

SOAP Binding Example

<service> and <port>

More on <port>

WSDL SOAP Binding Extensions



RPC or Document Style?

WSDL API for Java

Simple Object Access Protocol (SOAP)

SOAP Overview

SOAP in Protocol Stack

SOAP Components

SOAP HTTP Request Example

SOAP HTTP Response Example

Message Envelope

The Header Element

Header Attributes


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

SOA Service Life Cycle

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

Introduction to Service Oriented Analysis & Design (SOAD)

Introduction to SOAD

Applying OOAD Principles


Abstraction in SOAD


Encapsulation in SOAD


Modularity in SOAD


Hierarchy in SOAD

Why OOAD Is Not Enough


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

Stage 1: Business Modeling and Use Cases

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

Stage 2: Service Identification

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

Service Specification in BizTalk

More on Port Types

Stage 3: Service Design and Implementation

Stages of SOAD

Where are We in the SOA Lifecycle?


How Is a Service Developed?

Top Down Development

Web Service Implementation Choices

Apply OOAD in New Service Development


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

Stage 4: Business Process Implementation

Stages of SOAD

Where are We in the SOA Lifecycle?


Business Process Diagram

Challenges in Process Implementation

Challenges in Process Implementation




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



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

Information Management in SOA

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)


Data Federation

Messaging and Asynchronous Communication

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

SOA Challenges and Risks

SOA Challenges and Risks

Emerging Standards

Emerging Standards (contd)

Selecting Tools and Infrastructure

Service Selection and Creation

Service Management

Portfolio Management

Paradigm Shifting


Policies and Compliance

Project Management

Training and Re-skilling

Governance and Risk Mitigation

Overview of Service Registries

Services Registry

Why Do We Need a Service Registry?

Main Activities Done Using a Registry



Dynamic Discovery


Enforce Governance Lifecycle

SOA Registry Products

Error Handling and Transaction

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 in a Microflow

Compensation in a Long Running Process

Example Compensation

Compensation Handler

Compensation Guidelines

SOA Security Overview

Traditional systems

Loosely-coupled systems

Risks of loosely-coupled services

SOA Security Concerns

Security Stack: Web services

Security Stack: Other services

Discussion Question

Security Patterns

Service bus security

Service bus security layers

Application-managed security

Security as a service

Reverse Proxy

ESB Gateway

Discussion Question

Security Layering

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

Introduction to SOA Testing

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

SOA Patterns

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

SOA Antipatterns

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

Software Platform for SOA

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)


See more Architecture courses