Service Oriented Architecture (SOA) Immersion Bootcamp for Java
Course Length - 5 Days
Course Description
The chief goal of this class is to teach how to build a SOA application from ground up. It covers the full lifecycle of a SOA project - requirements gathering, design, implementation and testing.
If you are getting started with SOA development, this class offers a wonderful opportunity for your development team to get a concrete idea for how a SOA application is built.
The course consists of both pen and paper labs and hands-on labs using IBM WebSphere Integration Developer V6.0 to build, test and run SOA applications.
Course Prerequisites
Java programming. Beginner level knowledge of J2EE and XML.
Who Should Attend?
J2EE developers who are responsible for developing SOA based application integration solutions.
Architects who will like to get hands on practical experience developing a full SOA application from start to finish. For a more indepth SOA architecture related training, please use WA1471 Service Oriented Architecture (SOA) for Architects.
Course Outline
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. 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. 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
5. 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
6. 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
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. 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
9. 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
10. Introduction to WebSphere Integration Developer (WID) v6
Objectives
WebSphere Process Server v6
WebSphere Integration Developer (WID) v6
SCA Basics
Wiring Example
Key Features of WID
Perspectives, Views and Editors
Creating Artifacts
Unit Testing Artifacts
Summary
11. 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
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. XML Programming
Objectives
XML Overview
Data and Document Structure
An Employee Document
Tags
First XML Document
Markup Languages
What is XML ?
Why XML?
An Example of XML Document
Well-Formed v. Valid XML Document
Enforcing Validity: DTDs
Presentation Style
Sections of an XML Document
XML Elements
Nesting and Hierarchy of XML Elements
Tag Attributes
Naming Rules
Namespaces
Using Namespaces
Java API for XML
The XML Example
Example SAX Handler
Example: Begin Parsing
Once Again with Namespace
Using DOM to Parse
With Namespace Enabled
Example: Build DOM Document
Example: Save DOM Document in a File
Persisting XML
Summary
14. 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
15. 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
16. 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
17. 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