Find Courses Here
Service Oriented Architecture (SOA) for Architects Print E-mail
Course Length - 5 Days
 
Course Description

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 Web Services and Object Oriented Analysis and Design is recommended.

 

Who Should Attend?

IT architects, senior developers.

 

Course Outline

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
  • 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. Introduction to Web Services

  • Objectives
  • A Conceptual Look at Services
  • Defining Services
  • Service Communication Analogy
  • Three Key Service Questions
  • Connecting the Dots
  • SOA Runtime Implementation
  • What is a Web Service?
  • Enterprise Assets as Services
  • Typical Development Workflow
  • Advantages of Web Services
  • Web Service Business Models
  • Example: Internal System Integration
  • Example: Business Process Externalization
  • Binding via SOAP
  • SOAP in Protocol Stack
  • SOAP Structure
  • SOAP Message Architecture
  • Applying SOAP
  • Interface via WSDL
  • WSDL Structure
  • Applying WSDL
  • Locating a Service
  • UDDI Overview
  • UDDI Terminology
  • UDDI Structure
  • Applying UDDI
  • WS-I Overview
  • WS-I Deliverables
  • Summary

4. 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

5. 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

6. 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

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

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

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

10. 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

11. 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

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

13. 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

14. 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

15. 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

16. Service Component Architecture (SCA)

  • Objectives
  • Need For a New Programming Model
  • SCA Vendor Support
  • Service Component Architecture
  • SCA Basics
  • Wiring Example
  • Assembling Services
  • Service Components
  • Service Module Components
  • Service Components
  • References and Wires
  • Imports and Exports
  • Service Implementation Types
  • Summary

17. 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

18. Information Management in SOA

  • Objectives
  • Introduction
  • SOA and Enterprise Information Management
  • Operational Data Replication
  • Operational Data Challenges
  • SOA and Data Basics
  • More on 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
  • Summary

19. 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

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

21. 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

22. 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
  • Handling Events in a BPEL Process

23. 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

24. 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

25. Security Patterns

  • Objectives
  • Service bus security
  • Service bus security layers
  • Application-managed security
  • Security as a service
  • Reverse Proxy
  • ESB Gateway
  • Discussion Question
  • Summary

26. 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

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

28. 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

29. 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

30. 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