Mastering Service Oriented Analysis and Design (SOAD) Course

Course Code: IN 617
Course Abstract:

The course contains comprehensive coverage of the theory of analysis and design for SOA applications and will teach them how that differs from SOAD. Participants will learn to gather requirements for a SOA project and will learn the techniques for identifying services from a business process. The primary focus of this course is business process modeling. Participants will learn advanced topics such as asynchronous communication between a process and a service, compensation and error handling.

Audience:

This course is designed for the Business Analysts who will be working on a Service Oriented Architecture (SOA) project. They may already know how to utilize Object Oriented analysis.

Duration: 4 days
Learning Outcomes:

Upon completion of this course, participants will be able to:

> Employ requirements gathering
> Utilize business process modeling
> Develop service identification and modeling
> Learn the extensions made to the UML notations for SOA Techniques for service implementation
> Continuously optimize a business process using Key Performance Indicators (KPI)
> Advance problem solving techniques, such as messaging and compensation

The course focuses on theory and concepts and not specific tools. Students will get to try out each concept during the hands-on lab exercises. Currently, the tools used in the labs are as follows.

Note: The labs can be provided using the tools of other major SOA vendors upon request:

> Rational Software Architect - For some of the modeling work
> WebSphere Business Modeler - For process modeling, optimization
> WebSphere Integration Developer - This tool is used for service identification and specification. Also, the final software solution is built here. Students do not have to do any coding. They simply observe the final solution in action.

Course Topics:

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

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

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

Introduction to Business Process Modeling

Objectives
Business Process Modeling Defined
The Benefits of Business Process Modeling
Tools of Business Process Modeling
Business Process Modeling Standards

Planning for Process Modeling

Roles and Responsibilities
Determine the Modeling Objectives
Process Knowledge
Documenting Procedures
Process Redesign
Process Boundary Definition
Role of Subprocesses
Identifying Key Process Issues
Determine Process Performance Targets
Data Collection Plan
Planning for the Modeling Phase
Standardizing Modeling Policies
Choices for Modeling Approach
Output

Modeling a Process

Objectives
The start and stop node
Data input and output
Activity
Conditional branching
Parallel split
Switch or choice
Looping
Data assignment and manipulation
Other BPMN constructs

Model the As-Is Business Process

Roles and Responsibilities
Identify the process that will be modeled
Interview the relevant people to understand the existing process
Document Business Usecase
Model the process
Get the process model approved
Output

Model the To-be Business Process

Interview stakeholders to:
Identify key deficiencies
Ideas for improvements
Identify metrics that will measure improvements
Alter process model
Run simulations to measure improvements
Perform process change impact analysis
Take a go-no go decision for the change

Define Business Measures

Roles and Responsibilities
Understanding Business Process Measurement
Impacts of Effective Business Process Measurement
Defining Effective Measures (KPI)
Identifying Business Measures
Analyzing Business Measures
Output

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

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

Modeling of Services

Objectives
What is service modeling?
Should we do service modeling?
Model the data types (information modeling)
Model the input and output messages
Specify a service (interface modeling)
Model service provider
Model a port
Model dependency between service
Generate WSDL from the model
Service modeling guidelines

Reusing Services

Objectives
Prerequisites before you attempt reuse
Service registry and reuse
Query registry for an interface match
Identify reuse candidate services
Identify candidate service owners
Interview owner to identify:
Details of what the service does
If permission to use the service will be granted
Service performance and uptime record
Does the owner ensure performance and uptime?
Technical requirements (security, transaction, protocol etc.)
Cost of using the service (billing).
Determine eligibility of reuse
Does the service require too much or too little input data
Does the service return too little output data
Does the service have any undesired side effect?
Does the service achieve everything you expect it to do?
Can your application meet the technical requirements of the service?
Will the owner customize the service for you?
Can you copy the service and customize?
Is the quality of service sufficient for your need?

Stage 3 – Service Design and Implementation

Goals for Service Design & Implementation Stage
How is a Service Developed?
Top Down 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
Creating JCA adapter based services
Creating a service based on adapters
Data Mapping
Interface Mapping
Best Practices

Stage 4 – Business Process Implementation

What happens in this stage?
Handing off process model to developer
What is BPEL and why we need it?
Converting process model to BPEL
Partnership
Example: a Buy-Sell Partnership
Modeling Partnership in BPEL
Variables
Simple Activities
Invoke Activity
Structured Activities
Error handling
Modeling faults in services
Compensation
Transaction management
Sub-process modeling
Human interaction
Primary key relationship between systems

Dealing With Data

Introduction
ETL Basics
SOA and Data Basics
Data Extraction
Data Mediation
Data Format
Generic Data Model
Example Generic Data Model
Loading Data
Mapping Data

Messaging and Asynchronous Communication

Introduction • SOA and Asynchronous Behavior
Basic Messaging Patterns
Callback Style Communication in SOA
Callback Example
Implementing Callback
Correlation Set
Additional Uses of Callbacks
Non-blocking Call in SOA
Parallel Activity
One-way Non-blocking Call
Assured Delivery
SOA Client Behavior
Event handling in a process. What is event? When to use it? How to add event handling?

Prerequisites: Prior knowledge of Object Oriented Analysis and Design is 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