Course Code: soaoracl
Duration: 35 hours
Prerequisites:

There are no specific requirements needed to attend this course.

Course Outline:

Introduction

  • What is the System Analysis and Design Process?
  • Place of the Analysis and Design activities in the Unified Process (RUP)
  • A panorama of UML 2 diagrams used in the system analysis and design
  • Frameworks for tracing requirements toward software implementation and tests

How to transform requirements into component based analysis specifications?

  • Traceability between requirements and system analysis
  • Advanced notions for representing the system structure and dynamics
  • Refinement of the requirements on both axis
  • Toward the system design using operation contracts
  • Case Study : Definition of the analysis component model of the system

How to transform analysis specifications into design level ones?

  • Traceability between system analysis and design
  • Design Patterns for loose coupling and high cohesion of components
  • Definition of the Design level Architectural Backbone of the system (components, ports, interfaces, exchange objects)
  • Design level interaction diagrams to implement operation contracts
  • Case Study : Updating design level component diagram with architectural choices

Implementing technical specifications and testing on a component basis

  • Generating design level specifications into an object oriented programming language
  • Deployment of Components on the Physical Nodes
  • Integration and Acceptance tests on the basis of the previous specifications

Service Oriented Architecture and Computing

  • Service Oriented Computing
  • Terminology
  • Service Oriented Analysis and Design
  • Requirements and impact of adopting SOA
  • Enterprise Service Bus
  • Web Service and REST Services
  • SOA Connection Points

SOA Technology

  • XML and XML Schema
  • Web Services
  • JAX-WS and WSDL
  • REST Services
  • JAX-RS and WADL
  • Discovery and Service Registries
  • Enterprise Service Bus (ESB)

SOA Design and Architecture

  • SOA Model
  • Services and Service Capabilities
  • WSDL first or code first design
  • Principles of Service Orientation
  • Service coupling
  • Handling state
  • Service discovery

Advanced SOA Design and Architecture

  • SOA Architecture types
  • SOA Design Patterns
  • Message types
  • Data transformation

Enterprise and Application Architecture

  • Definition of (Enterprise) Architecture
  • What drives the need for architecture?
  • Architecture objectives, standards and frameworks
  • Logical vs. physical architectures
  • Common application architecture patterns
  • Multi-step Process pattern
  • Composite Application pattern

SOA Phase 1

  • The pieces of the SOA puzzle
  • How SOA enables business strategies
  • Services and SOA defined
  • What is the notion of “Applications” in SOA?
  • The Service Layer model
  • Infrastructure services
  • Application services
  • Orchestration services
  • SOA Case study
  • Sample outline for an SOA Blueprint document
  • Sample business event walk-through
  • Key SOA characteristics
  • Architecture level loose coupling
  • Service level loose coupling
  • Next Generation SOA
  • Synchronous vs. Asynchronous services
  • SOA in the cloud
  • SOA and standards
  • SOA challenges

Service - or Resource-Oriented Architecture, or Both?

  • Representational State Transfer (REST)
  • The concept of resources
  • The uniform interface
  • Architectural constraints
  • What about business logic?
  • Perceived deficiencies of REST
  • When to use REST, when to use a traditional SOA
  • REST as the choice to support the presentation layer
  • The synergy of Rich Internet Applications (RIAs) and REST
  • JavaScript Object Notation (JSON) vs. XML for RIAs
  • Case study
  • Conceptual architecture
  • RESTful vs. SOAP-type Services

SOA Governance & the IT Organization

  • Why SOA needs governance
  • Business vs. IT vs. EA vs. SOA Governance
  • Categories of SOA Governance
  • Design time governance
  • Run time governance
  • SOA Governance goals
  • SOA Center of Excellence (COE)

The New Frontier: Cloud Computing

  • Cloud definition
  • How did we get here? From application hosting to SaaS to public & private cloud
  • Chose your flavor: IaaS, SaaS, or PaaS?
  • Moving applications into the cloud
  • Resource virtualization
  • Automated, on-demand provisioning of resources
  • Shared infrastructure and applications

The Synergy of SOA and Cloud Computing

  • SOA and cloud are complementary
  • SOA/Cloud synergy
  • SOA + SaaS
  • SOA + PaaS
  • SOA + IaaS
  • Putting it all together: the SOA-Cloud

Across Application Silos: The Integration Landscape

  • The integration landscape – the big picture
  • Data level integration
  • Extract, Transform, Load (ETL)
  • Interface level integration (a.k.a. application integration)
  • The messaging backbone
  • Data transformation
  • Content-based routing
  • Establishing application connectivity through adapters
  • Integration design patterns
  • Service Oriented Integration (SOI)
  • Advantages over traditional Enterprise Application Integration (EAI)

Enterprise Service Bus (ESB)

  • The Enterprise Service Bus
  • Introducing the ESB
  • Conceptual ESB architectures
  • How do enterprises use ESBs today?
  • The need for cloud integration and its challenges
  • From ESB to “Internet Service Bus” (ISB)
  • The product landscape – ESB and ISB examples

Putting It All Together: OO, SOA, Cloud & Beyond

  • Classification of integration architectures by the degree of coupling
  • Approaches to leverage and migrate legacy systems 
  • Comparison of integration approaches and technologies
  • Decision criteria for selecting a particular approach
  • Integration with the data architecture