Service Oriented Architecure(SOA) Immersion Bootcamp .NET Course

Course Code: IN 650
Course Abstract:

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.

 

For participants who are just 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.

 

Note: We can offer the labs using other platforms such as BEA WebLogic or IBM WebSphere. Please ask your sales representative for your customization needs.

Audience:

This course is designed for .NET developers who are responsible for developing SOA based application integration solutions. 

For a more in-depth SOA architecture related training, please use Service Oriented Architecture (SOA) for Architects.

Duration: 5 days
Learning Outcomes:

Upon completion of this course, the participant will be able to:

> Explain what SOA is and why we need this approach
> Recognize Enterprise Service Bus (ESB)
> Know how Enterprise Application Integration (EAI) is achieved using SOA
> Know how to capture requirements for a SOA project
> Perform analysis and design
> Implement services and business processes
> Recognize Technical details of XML schema, SOAP and WSDL
> Test SOA applications

Course Topics:

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
Runtime Products for SOA
Microsoft Software Offering
Other Microsoft Software Options
Microsoft Internet Information Server
Microsoft Message Queue
Microsoft Biztalk Server 2006
Windows Workflow Foundation (WF)
Summary

Introduction to BizTalk 2006 Development using Visual Studio 2005

Objectives
Basic development methodology for BizTalk
Creating data maps
Creating business object schema
Creating business processes
Deployment to server
Testing

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 submit order 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
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>
<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

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
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
Businesses and Services in UDDI
Static and Dynamic Web Services
UDDI Registry Structure
UDDI Registry Structure -tModel
UDDI Registry Structure
UDDI Interactions
UDDI in WebSphere
Summary

Prerequisites:

Basic .NET development skills and beginner level knowledge of XML are required.

Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning