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 Service Oriented Architecture for Architects (Oracle Edition) Training

1. SOA Fundamentals

 
  • Objectives
  • 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
  • Modeling Processes
  • Application Integration
  • SOA Governance
  • Life Cycle Stages for Governance
  • 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
  • When Do I Need a Service?
  • About Services in SOA
  • Contract-Driven Software
  • SOA Standards
  • Summary
 

2. Layers of Services

 
  • Objectives
  • What Is Layering?
  • SOA Layers
  • Data Storage Layer
  • Application Logic Layer
  • Adapter Layer (optional)
  • Application Service Layer
  • Business Service Layer
  • Orchestration Layer
  • Data Services Layer
  • Security Service Layer
  • Layering Illustration
  • Layering Rules of Thumb
  • SOA User Interface
  • Portal Site's Context Awareness
  • Web 2.0 Data Aggregation
  • Summary
 

3. SOA Value Proposition

 
  • Objectives
  • The Value of SOA
  • Reducing Integration Expense
  • Integration Costs Illustration
  • Ripple effect of changes
  • The Value of SOA Layering
  • SOA Reduces Integration Costs
  • 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
  • We Can Easily Change the Process
  • Reducing Business Risk
  • Risk reduction illustration
  • SOA Eases Compliance Risk
  • Business Advantages
  • ROI Quantification Hurdles
  • Real World SOA Example 1
  • Real World SOA Example 2
  • Real World SOA Example 3
  • Real World SOA Example 4
  • Summary
 

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

5. XML Schema Basics

 
  • Objectives
  • What is an XML Schema?
  • Role of XML Schema in SOA
  • SOA and Non-XML Data
  • 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
 

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

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

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. Introduction to Service Oriented Analysis & Design (SOAD)

 
  • Objectives
  • 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 Modeling
  • Stage 2: Service Identification
  • Stage 3: Service Implementation
  • Stage 4: Process Implementation
  • SOAD Stages and SOA Lifecycle
  • Summary
 

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

11. 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 (continued)
  • Service Contract Template
  • Service Contract Template Part 2
  • Service Contract Template Part 3
  • Service Design Best Practices
  • Summary
 

12. 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 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
  • Summary
 

13. Stage 4: Business Process Implementation

 
  • Objectives
  • 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 V Process Execution
  • What Is a Good Process Design?
  • Follow Integration Patterns
  • Example: A Simple Process
  • Additional Process Design Considerations
  • Summary
 

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

15. Information Management in SOA

 
  • Objectives
  • 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
  • Summary
 

16. Messaging and Asynchronous Communication

 
  • Objectives
  • 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
  • Summary
 

17. Error Handling and Transaction

 
  • Objectives
  • 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
 

18. Service Component Architecture (SCA)

 
  • Objectives
  • 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
  • Summary
 

19. Governance Basics

 
  • Objectives
  • SOA Challenges and Risks
  • Governance Risk Example #1
  • Governance Risk Example #2
  • Governance and Risk Mitigation
  • Governing IT
  • Need for SOA Governance
  • SOA Governance
  • SOA Governance Elements
  • Relevant Standards Work
  • OASIS SOA-RM
  • Reference Model in Context
  • OASIS SOA-RA
  • Some Best Practices
  • Summary
 

20. Overview of Service Registries

 
  • Objectives
  • 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
  • Summary
 

21. Introduction to SOA Testing

 
  • Objectives
  • Introduction
  • The SOA Components to Test
  • SOA Testing Challenges ...
  • SOA Testing Challenges
  • Layered Component Testing
  • Intro: Phased Testing
  • Parts of a Test Framework
  • Unit Testing a Web Service
  • Verification Scenarios
  • Unit Testing Data Maps
  • Unit Testing Business Process
  • Integration Test System ...
  • Integration Test System
  • Intro: Non-Functional Testing
  • Performance Testing
  • Security Testing
  • Interoperability Testing
  • Persistence Testing
  • Process Versioning Testing
 

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

23. Security Patterns

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

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

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
 

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