Service Oriented Architecture (SOA) Immersion Bootcamp for .NET
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 Microsoft BizTalk to build, test and run SOA applications.
Course Prerequisites
Basic .NET development skills. Beginner level knowledge of XML.
Who Should Attend?
.NET 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 in-depth SOA architecture related training, please use WA1471 Service Oriented Architecture (SOA) for Architects.
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
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
Application Service Layer
Business Service Layer
Orchestration Layer
Aux: Data Service Layer
Aux: Security Service Layer
Layering Concepts
Layering Rules of Thumb ...
Layering Rules of Thumb
In Review ...
Summary
3. 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
SOA Economics / ROI
Asset Reuse Illustration
Service reuse vs 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
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
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
BizTalk 2006 as an ESB
5. Microsoft Software Platform for SOA
Objectives
Software Tools for SOA
The Need for a Tool
SOA Development Iteration
Runtime Products for SOA
Microsoft Software Offering
Other MS Software Options
MS Internet Information Server
Microsoft Message Queue
Microsoft BizTalk Server 2006
Windows Workflow Foundation (WF)
Summary
6. Introduction to Biztalk Server 2006 Developer Tools
7. 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
8. 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
9. 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
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
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
Service Specification in BizTalk
More on Port Types
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
18. 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
XLANG and BPEL
19. SOA Security
The Challenges
Public Key Infrastructure (PKI)
Digital Signature
Certificates
Overview of Web Services Security
SOAP Message Security
Message Integrity
Message Confidentiality
Symmetric Encryption Example
Authentication Using Identity Token
Authentication
Transport Level Security
Audit Tracking
Identity Assertion Using SAML
SAML SOAP Example
20. Introduction to SOA Testing
21. Unit Testing SOA Components
Introduction
Unit Testing a Web Service
Other Types of Services
Verification Scenarios
Unit Testing Guidance
Unit Testing SOA Components
More Details Testing Data Maps
Data Map Test Guidance
More Details Business Process
Unit Testing Business Process
Business Process Test Guidance
Human workflow
Unit Test Human Interface
Human Interface Test Guidance
White Box Testing
22. Integration Test
Introduction
Types of Integration Tests
The Governance Aspect
Component Ownership
Setting Up a Service Integration Test System
Setting Up a Process Integration Test System
Creating a Script To Test a Service
Running a Test Case for a Service
Creating a Business Process Test Script
Running a Test Case for a Process
23. Non-Functional Testing
Introduction
Performance Testing
Security Testing
Common Web Service Attacks
Interoperability Testing
WS-Interoperability
Interoperability Testing a Service
Interoperability Testing a Business Process
.NET Interoperability
Process State Persistence Testing
Process Versioning Testing
24. 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)