Roadmap
Objectives
Roadmap for Training
Summary
SOA Fundamentals
Objectives
Service Oriented Architecture
What’s a Service?
Example Services
Service Relationships / Roles
SOA and Business Process Implementation
Example Business Process
Traditional Integration Solution
SOA & Business Process
Need for Integration
Factors that Affect Integration
Challenges of Integration
Common Solution Implementations
Channel Implementation Choices
How SOA Does Integration
About Services in SOA
SOA Helps Business Address…
Elements of a Service
SOA’s Goal
The Value of Transitioning from Applications to Services
Is this a New Concept?
Service Architecture is…
Interface Transparency
SOA Enhancements
Challenges to Services Assembly
Enterprise Service Bus (ESB)
ESB Features
Challenges in Process Implementation
SOA Capabilities
Web Services
Web Service and SOA
Web Services
How Web Services Work
SOAP
SOAP HTTP Request Example
SOAP HTTP Response Example
UDDI
Summary
SOA Case Study
Objectives
What is a Case Study
STC Challenges
Acme Challenges
How Can SOA Help STC?
How can SOA Help Acme?
Additional Benefits Made Possible by SOA
Acme and STC’s Use of SOA
Summary
ESB and SOA Patterns
Objectives
Service Oriented Architecture (SOA)
Service Invocation • Business Process
Enterprise Service Bus (ESB)
Legacy System Integration
Unsupported Protocol
The Role of ESB in SOA
Minimum ESB capabilities
Minimum ESB capabilities - Integration
Minimum ESB capabilities - Communication
Minimum ESB capabilities - Service Interaction
Minimum ESB capabilities - Management
Security and ESB • Summary
Advantages of SOA
Objectives
Learn By Example
Traditional EAI Approach
Problems With Traditional EAI Approach
Enter Service Oriented Architecture (SOA)
Build the Services
Build the Process
We Can Easily Change the Process
Change Flow Using Legacy Approach
Replacing an Application
Other Advantages
Business Advantages
Adoption Stages
Research
Savings - example 1
Savings - example 2
Savings - example 3
Summary
Software Platform for SOA
Objectives
Software Tools for SOA
The Need for a Tool
SOA Development Life Cycle
BEA Software Offering for SOA
Web Services Support
Runtime Products for SOA
TIBCO BusinessWorks
TIBCO SmartMapper
IBM WebSphere Application Server
IBM WebSphere Process Server
WebSphere Message Broker
BEA WebLogic Integration
Summary
Introduction to BEA WebLogic Integration
Introduction
WebLogic Server
WebLogic Portal
WebLogic Integration
WebLogic Workshop
WebLogic Workshop Framework
Annotation Based Programming
The Project Structure
The Build Process
Server Setup
The Development Process
Testing and Debugging
Using the Debugger
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 - Process Modeling
Stage 2 – Service Identification
Stage 3 – Service Design & Implementation
Stage 4 - Process Implementation
Summary
Software Methodology - RUP Approach
Objectives
Software Methodology
The Rational Unified Process
Inception Phase
Elaboration Phase
Construction Phase
Transition Phase
Software Development Life Cycle and the Rational Unified Process
Example
In a SOAD World
New Artifacts
Summary
Stage 1 - Business Modeling and Use Cases
Objectives
Stages of SOAD
Stage 1: Business Process Modeling
Requirements Workflow
What Is A Requirement?
Business Models
Use Cases
Example: Requirement For A Supply Chain Management Application
Classifying Use Cases
Use Case Modeling Steps
Finding Use Cases
Identified Use Cases or Business Processes
Finding Actors
Various Actors of: Supply Chain Management Application
Diagramming Use Cases
Example: Use Case Diagram in UML
UC1: Purchase Goods Use Case
Modeling the Business Processes
Use Case and Business Process
Trading Partner Design Pattern
Best Practices
Summary
Stage 2 – Service Identification
Objectives
Stages of SOAD
Identifying Services
Produce Service Specification
Functional Areas of The Business (a.k.a. Subsystems)
Services Belonging To These Functional Areas
Functionalities Belonging To These Services (User’s Standpoint)
Documenting Service Hierarchy
Output of Stage 2
Retailer Service
The Service Is Further Described By Creating
Example of the WSDL File for the Retailer Service
Part Of The Schema File for the submitorder Operation
Best Practices
Summary
XML Programming
Objectives
XML Overview
Data and Document Structure
An Employee Document
Tags
First XML
Markup Languages
What is XML ?
Why XML?
An Example of XML Document
Well-formed vs. 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
Summary
XML Schema Basics
Objectives
What is XML Schema?
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 a XML Document
Summary
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
Request-Response
Solicit-Response
Notification
Modeling Simple Operation
Modeling Complex Operation
Modeling Complex Message
<binding>
More on <binding>
C or Document Style?
WSDL API for Java
Summary
Simple Object Access Protocol (SOAP)
Objectives
SOAP Overview
SOAP In Protocol Stack
SOAP Components
Message Envelope
Message Envelope - Headers
SOAP HTTP Request Example
SOAP HTTP Response Example
Header Attributes
SOAP Body
SOAP Fault
Communication Style
RPC/Encoded Style
RPC/Literal Style
Document/Literal Style
Document/Literal Wrapped Style
Details of the Wrapped Style
Summary
Stage 3 – Service Design and Implementation
Objectives
Stages of SOAD
Introduction
How is a Service Developed?
Top Down Development
Web Service Implementation Choices
Apply OOAD in New Service Development
Retailer System – Identifying System Level Use Cases
Finding Classes And Relationships From Use Cases
Finding Classes and Relationships From Use Cases
Noun/Verb Analysis
Example: Noun/verb Analysis
Refinement
Classes Identified for the Retailer Subsystem
Final List of Classes Identified for the Retail System
The Class Diagram
Class Notation in UML
Class Diagram The Retailer System
Top Down Summary
Bottom Up Development
Bottom Up Technology Choices
Example: JCA Based Service
Example: JAX-RPC Service
Data Mapping
Interface Mapping
Best Practices
Summary
Web Services Software Development Methodology
Objectives
Need for a Software Methodology in Web Services
The Software Lifecycle
Software Lifecycle
Service Provider
Provider: Green Field
Provider: Top-down
Provider: Bottom-up
Provider: Meet in the Middle
The Service Requester
Summary
Stage 4 – Business Process Implementation
Objectives
Stages of SOAD
Basics
Business Process Diagram
Challenges in Process Implementation
BPEL4WS
Partnership
Example: a Buy-Sell Partnership
Modeling Partnership in BPEL
Variables
Simple Activities
Invoke Activity
Structured Activities
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
Testing Fundamentals
Objectives
Section Layout
Testing
What is a Bug?
Common Types of Bugs
Sample Bug Report - Simple
Sample Bug Report - Complex
Best practices in bug reporting
Characteristics of a Good Problem Report
Typical States a Bug Goes Through
The Goals
Best Practices
Requirements of a System
The Use Case Document
UC01 – Add a New Appointment
UC01 – Add a new appointment
UC01 – Add a New Appointment
Supplementary Specifications
Knowing the Testing Priority
The Severity Scale
The Priority Scale
The Likelihood Scale
Priority of Coverage
An example
Beware of Test Escapes
Summary
SOA Testing
Objectives
SOA Testing
Challenges of SOA Testing
SOA: Functional Testing for Services
SOA Testing
Testing - Stages
Basics of Unit Testing
Unit Testing Example
The Role of Emulators
Unit Testing a Service
Unit Testing a Business Process
Functional Testing
Types of Testing
Function Testing Incomplete Systems
Stress Testing
Stress testing
Stress testing tools
Designing stress test systems
Designing Stress Test Systems
Security testing
Summary
SOA Testing Tools
Objectives
Purpose of Testing Tools
What’s New in SOA Testing
SOA Test Tools
Empirix Inc: e-Test Suite
Empirix Inc: e-Test Manager Enterprise
Parasoft – SOA Test
Optimyz - WebServiceTester
Mindreef - SOAPScope
SOAPScope – Comparing WSDL Files
Checking WSDL for Compliance
SOAPScope – Analyzing Files
Viewing Methods in WSDL File
SOA Testing Features - Comparison
SOAPScope – Weather Application Testing
SOAPScope – Testing Scenario for Weather Application
SOAPScope Testing Scenario Step 1: Import a WSDL File
SOAPScope Testing Scenario Step 2: Invoke method(s) used
SOAPScope Testing Scenario Step 3: Test / Record
SOAPScope Testing Scenario Step 4: Store Test Runs
Summary
Web Services Security (WS-Security)
The Challenges
Public Key Infrastructure (PKI)
Digital Signature
Overview of WS-Security
Integrity
Example: Signed XML Document
Canonicalization
Confidentiality
SOA Security Model
SOA Security Policies
Transport Level Security Policy
Message Level Security Policy
Data Level Security Policy
Security Tokens
Standards and Mechanisms for SOA Security
Securing Data
XML Digital Signatures
XML Encryption
WS-Security Tokens
WS-Security Considerations
WS-Security Extensions - WS-Trust
WS-Security Extensions - WS-SecureConversation
Summary
SOA Governance
Objectives
Challenges in Implementing and Managing SOA
SOA Challenges - Training
SOA Challenges - Emerging Standards
SOA Challenges - Immature Server Runtimes
SOA Challenges - Newer Methodologies
SOA Governance
SOA Governance Model
SOA Governance Model - Sample Structure
Managing Risk
SOA Governance Processes
Some Best Practices
SOA Project Roles
Summary
SOA Anti Patterns
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
Scenario
Objectives
Appendix A. Patterns
Objectives
Patterns - Introduction
Patterns
Patterns for e-business
Quick Note: Application Patterns
Quick Note: Runtime Patterns
SOA Patterns
Exposed Direct Connection Application Pattern
Exposed Direct Connection Runtime Pattern
Exposed Serial Process Application Pattern
Exposed Serial Process Runtime Pattern
Advantages of using a Service Bus
Summary
Appendix B. Introduction to UDDI
Objectives
UDDI Overview
UDDI in Web Services Architecture
UDDI