SERVICE ORIENTED ARCHITECTURE (SOA) FOR ARCHITECTS – GTAM13

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 modelled and services are identified. The course moves on to explore information management, transaction handling, messaging architecture, testing services, and finally securing them.

 

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.

^^

Duration

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

CHAPTER 1. SOA FUNDAMENTALS

Defining Service Oriented Architecture (SOA)

Putting SOA in Context

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

Before SOA

SOA Re-Organization

What Makes a Good Design?

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

CHAPTER 2. SOA CASE STUDY

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

CHAPTER 3. INTRODUCTION TO WEB SERVICES

A Conceptual Look at Services

Defining Services

Three Key Service Questions

Service Communication Analogy

Connecting the Dots

SOA: Runtime Implementation

What Is a Web Service?

Enterprise Assets as Services

Web Service Development Workflow

Advantages of Web Services

Web Service Business Models

Example: Internal System Integration

Example: Business Process Externalization

Web Service Standards

Binding via SOAP

SOAP in Protocol Stack

SOAP Structure

SOAP Message Architecture

Applying SOAP

Interface via WSDL

WSDL Structure

Locating a Service

UDDI Overview

UDDI Structure

Applying UDDI

WS-I Overview

WS-I Deliverables

CHAPTER 4. LAYERS OF SERVICES

What Is Layering?

Service Layers

Layering Example

The Application Service Layer

The Business Service Layer

The Orchestration Layer

Layering Guidelines

The User Interface Layer

Context Awareness in SOA UI

Web 2.0 Data Aggregation

CHAPTER 5. SOA VALUE PROPOSITION

The SOA Value Proposition

Reducing Integration Expense

Integration Costs Illustration

Ripple Effect of Changes

The Value of Service Layering

Advantage of SOA Layering

Increasing Asset Reuse

SOA Economics/ROI

Asset Reuse Illustration

Service Reuse v. 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 or Message Flow

We Can Easily Change the Process

Reducing Business Risk

Example: Compliance Using SOA

Business Advantages

ROI Quantification Hurdles

Real World SOA Example – Sears Canada

Real World SOA Example – BlueStar Energy

Real World SOA Example – Reliance Life Insurance

Real World SOA Example – Harley-Davidson

CHAPTER 6. ARCHITECTURAL TOPOLOGY FOR SOA

Vendor Confusion

Service Intermediaries

Intermediary Options

Intermediary Service

Centralized Bus

Logical Centralized Bus

De-centralized Framework

Policy Enforcement at Endpoints

Comparing the Approaches

CHAPTER 7. INTRODUCTION TO SERVICE ORIENTED ANALYSIS & DESIGN (SOAD)

Introduction to SOAD

Applying OOAD Principles

Encapsulation

Encapsulation in SOAD

Inheritance

Inheritance in SOAD

Polymorphism

Polymorphism 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 or Message Flow Modeling

Stage 1: Requirements Gathering & Process Modeling

Stage 2: Service Identification

Stage 3: Service Implementation

Stage 4: Process Implementation

SOAD Stages and SOA Lifecycle

CHAPTER 8. 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

CHAPTER 9. 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

Modeling the Business Processes

Use Case and Business Process

The Return Handling Process Model

Trading Partner Design Pattern

The UML Alternative

Best Practices

CHAPTER 10. BASIC XML SCHEMAS

What is XML Schema ?

Goals of Schema

Converting DTDs to Schema

Recall: Namespaces

The equivalent schema

Sample instance document

Documents Needed

XML Schema Namespaces

Link Documents to Schemas

Inline element declarations

XSchema Data Types

XSchema Type Definitions

XSchema Simple Data Types

Primitive Data Types

Simple Types

Facet – Restrictions on Element Content

Using the Facet

More Samples

Define Simple Element Type

Element Declaration

Element Occurrence Indicators

Complex Type

Attribute Declaration

Attribute Declarations

Occurrence of Attributes

Value Constraints on Attributes

Sequence Element

Element Choices

Express any order

Annotations

CHAPTER 11. COMPLEX DATA TYPES IN SCHEMA

Simple Types

Complex Types

Complex Type Example

Controlling Content

<sequence>

<choice>

<all>

Combining It All

The XML

Anonymous vs. Named

Address Example

Named Complex Types

Named ComplexType Example

Using Named Complex Type

The XML

<xs:any>

CHAPTER 12. WEB SERVICES DESCRIPTION LANGUAGE (WSDL)

WSDL Overview

WSDL Syntax Overview

<definitions>

<import>

<types>

<message>

<portType>

<operation>

<binding>

<service>

CHAPTER 13. SERVICE IDENTIFICATION AND SPECIFICATION

Stages of SOAD

Where are We in Service Lifecycle?

The Service Identification Stage

The Service Model

Service Model Example #1

Service Model Example #2

Service Model Example #3

Identify Service Operations from Business Process Model

Identify Service Operations from Message Flow Model

Group Operations as Services

Reuse Services and Applications

Define Logical Data Model

Specify Service Interface

Specify Business Process or Message Flow Interface

Business Process Case Study

Message Flow Case Study

Service Contract Template

Service Design Best Practices

CHAPTER 14. SIMPLE OBJECT ACCESS PROTOCOL (SOAP)

SOAP Overview

SOAP in Protocol Stack

SOAP Document Components

Example SOAP Request Document

Example SOAP Response Document

The <Envelope> Element

The <Header> Element

The <Body> Element

SOAP Communication Style

Communication Style Example

Setting the Style in WSDL

RPC/Encoded Style

RPC/Literal Style

Document/Literal Style

Document/Literal Wrapped Style

CHAPTER 15. SERVICE DESIGN AND IMPLEMENTATION

Stages of SOAD

Where are We in the SOA Lifecycle

Introduction

How Is a Service Developed?

Top Down Development

Web Services Programming Model

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

Service Abstraction

Interface Mapping

Implementing the Services for UC001 Return Handling

Best Practices

CHAPTER 16. STAGE 4: BUSINESS PROCESS IMPLEMENTATION

Stages of SOAD

Where are We in the SOA Lifecycle?

Basics

Business Process Diagram

Process Automation Challenges…

…More Challenges

BPEL

Variables

Partnership

Example: A Buy-Sell Partnership.

Modeling Partnership in BPEL

Simple Activities

Invoke Activity

Structured Activities

Process Development Phases

Phase II Process Definition

Phase III Process Compilation

Phase IV Process Deployment

Phase VProcess Execution

What Is a Good Process Design?

Follow Integration Patterns

Example: A Simple Process

Additional Process Design Considerations

CHAPTER 17. SERVICE COMPONENT ARCHITECTURE(SCA)

Need For a New Programming Model …

Need For a New Programming Model

SCA Vendor Support

Service Component Architecture

SCA Basics

Assembling Services

SCA Components

Service Components

References and Wires

Wiring Example

Service Components

Imports

Export

Imports and Exports

Service Implementation Types

CHAPTER 18. ADAPTERS

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

CHAPTER 19. INFORMATION MANAGEMENT IN SOA

Introduction

SOA and Enterprise Information Management

Replication Overview

Operational Challenges

SOA and Data Basics

Intro: Operational Data

Data Publishing Event

Modeling Events

Data Mediation

Data Format

Generic Data Model

Example Generic Data Model

Mapping Data

Loading Data

Extract Transform Load (ETL)

ETL and SOA

Data Federation

SOA Data Layering

Data Federation vs ETL

CHAPTER 20. 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

Communication

Policies and Compliance

Project Management

Training and Re-skilling

Governance and Risk Mitigation

CHAPTER 21. GOVERNANCE FUNDAMENTALS

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

CHAPTER 22. OVERVIEW OF SERVICE REGISTRIES

Services Registry

Why Do We Need a Service Registry?

Main Activities when Using a Registry

Publish

Discovery

Dynamic Discovery

Management

Enforce Governance Lifecycle

SOA Registry Products

CHAPTER 23. MESSAGING AND ASYNCHRONOUS COMMUNICATION

Introduction

Asynchronous SOA

Basic Messaging Patterns

SOA Callbacks …

Callback Example

Implementing Callbacks

BPEL Correlation Sets

Additional Uses of Callbacks

Non-Blocking Calls in SOA

Parallel Activity

One-Way Non-Blocking Calls

Assured Delivery

Implementing the Publish Subscribe Pattern

SOA Client Behavior

BPEL Events Handling

Event Handler Details 1/2

Event Handler Details 2/2

CHAPTER 24. ERROR HANDLING AND TRANSACTION

Introduction

Error Handling in a Service

Designing Faults

Error Handling in a Process

Fault Handler

Fault Handler Example

Raising Faults in a Process

Transaction in SOA …

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

CHAPTER 25. SOA SECURITY PATTERNS

Key Challenges in SOA Security

Authentication Pattern

Authorization Pattern

Confidentiality Pattern

Non-repudiation Pattern

Inter-organization Authentication Pattern

Single Sign On Pattern

Federated Security Pattern

CHAPTER 26. SOA PATTERNS

Patterns: Introduction

SOA / EAI Patterns

Messaging Problem #1

Asynchronous Queuing Pattern – 1/2

Asynchronous Queuing Pattern – 2/2

Asynchronous Queuing Pattern Illustration

Messaging Problem #2

Event-Driven Messaging Pattern

Event Messaging Pattern Illustration

Messaging Problem #3

Reliable Messaging Pattern

Reliable Messaging Pattern Illustration

Protocol Integration Problem #1

Adapter Pattern

Adapter Pattern Illustration

Protocol Integration Problem #2

Canonical Protocol Pattern

Canonical Protocol Pattern Illustration

Protocol Integration Problem #3

Protocol Bridging Pattern

Protocol Bridging Pattern Illustration

Data Management Problem #1

Canonical Data Format Pattern

Canonical Data Format Illustration

Data Management Problem #2

Data Transformation Pattern

Data Transformation Illustration

Data Management Problem #3

Data Management Problem #3 (cont’d)

Schema Centralization Pattern

Schema Centralization Illustration

Service Design Problem #1

Service Design Problem #1 (cont)

Intermediate Routing Pattern

Intermediate Routing Illustration

Service Design Problem #2

Decoupled Contract Pattern

Decoupled Contract Illustration

Decoupled Contract Another Illustration

Service Design Problem #3

Service Encapsulation Pattern

Service Encapsulation Illustration

Service Design Problem #4

Service Decomposition Pattern

Service Decomposition Illustration

CHAPTER 27. 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

CHAPTER 28. SOA INFRASTRUCTURE AND TOOLS

SOA Infrastructure and Tools

Network Appliances

Enterprise Service Bus

Service Container

Business Rules Engine

Business Activity Monitoring

Service & Policy Management

Business Process Engine

Service Registry

Service Repository

Development Tools

Tool Combinations

What is the minimum?

CHAPTER 29. GLOSSARY

Glossary

CHAPTER 30. SERVICE ORIENTED MODELING AND ARCHITECTURE (SOMA)

Introduction

SOMA

The Rational Unified Process

SOMA & RUP

CHAPTER 31. 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

^^

See more Architecture courses