Learn how a SOA can give you the often sought-after competitive edge
SOA for Designers and Developers
Hands-on course contents
What you will learn:
A Service Oriented Methodology
- Introduction to a SOA adoption roadmap
- Service lifecycle
- Different analysis approaches
- Service oriented analysis
- Service oriented design
- Introduction to service oriented patterns
Advantages of SOA
- Traditional EAI Approach
- Problems With Traditional EAI Approach
- Enter Service Oriented Architecture (SOA)
- Build the Services
- We Can Easily Change the Process
- Change Flow Using Legacy Approach
- Replacing an Application
- Other Advantages
- Business Advantages
- Adoption Stages
Defining a Service in WSDL
- Sample WSDL Document Structure
- One-way
- Request-Response
- Solicit-Response
- Syntax
- SOAP Binding Example
- WSDL SOAP Binding Extensions
Simple Object Access Protocol (SOAP)
- Objectives
- SOAP Overview
- Why do you need SOAP?
- SOAP In Protocol Stack
- Header Attributes
- SOAP Body
- SOAP Fault
- Document/Literal Style
- Document/Literal Wrapped Style
- Details of the Wrapped Style
- Connecting to a Webservice
Service Oriented Analysis & Design
- Objectives
- Stages of SOAD
- Identifying services
- Producing service specifications
- Functional areas of the business
- Services belonging to these functional areas
- Functionalities belonging to these services
- Documenting service hierarchy
- Best practices
- Analyzing the case study requirements
Enterprise Service Bus (ESB)
- Objectives
- Service invocation
- Legacy system Integration
- Web services to the Rescue
- The role of ESB in SOA
- Security and ESB
- Configuring a simple ESB solution
Business Process Implementation
- 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
- Testing correlation examples
- Implementing a simple process
Messaging Architecture
- What is messaging and why do we need them?
- How to use messaging in SOA?
- SOAP over JMS details.
- Modeling services well suited for messaging.
- Correlation and why do we need them?
- How to use correlation in SOA.
- How to implement publish subscribe in SOA?
- Sample scenarios
Layered Architecture
- The layers pattern.
- Classic three-their architecture.
- Connecting to the domain layer.
- Linking to the User interface.
- Using packages to decompose a system.
- Avoiding mutual dependencies.
- What is layering and why we need them?
- Application service layer
- Business service layer
- Orchestration service layer
Transaction Management
- The ACID properties.
- Local vs. distributed transaction.
- New challenges with transaction in SOA.
- Transaction from a specific service call.
- Transaction in a long running business process.
- What is compensation and why do we need them?
- Exercise: implementing compensation
Software Platform for SOA
- Software Tools for SOA
- The Need for a Tool
- SOA Development Life Cycle
- Oracle BP Manager
- Microsoft BizTalk Server 2006
- Rational Application Developer (RAD)
- Key Features
- Web Services Support
- Runtime Products for SOA
Conclusions
- New implementation paradigms
- The benefits of employing SOA
- Review of common business goals
- The risks associated with the SOA approach
- Evaluating tradeoff strategies