Objectives

This class combines theory with hands-on experience working with some of the popular SOA-related open source projects.  This training course combines the breadth of coverage of different technologies with a focus on building systems based on SOA principles.

Topics

  • SOA Infrastructure and Tools
  • ESB
  • SOAP Web Services
  • REST Services
  • Messaging and Asynchronous Communication
  • Business Process Management

Audience

Java developers, designers, architects, and IT managers who want to learn about implementing SOA using open source projects.  

Prerequisites

Participants should already have an understanding of Java programming and have working experience with Eclipse IDE.

Duration

Two days

Outline for Open Source SOA Training

Chapter 1. SOA Fundamentals

  • Defining Service Oriented Architecture (SOA)
  • SOA Value Proposition
  • SOA Infrastructure and Tools
  • Enterprise Integration Patterns
  • Putting SOA in Context
  • SOA Governance

Chapter 2.  SOA Infrastructure and Tools

  • Enterprise Service Bus (ESB)
  • Differences between Enterprise application integration (EAI) and ESB
  • ESB Landscape Overview
    • JBoss ESB
    • MuleSoft ESB
    • ServiceMix / FUSE
    • Spring Integration
    • WSO2
  • Open Source Services Engines
    • Apache Axis2
    • Apache CXF
  • Presentation Layer
    • Liferay
  • Apache Camel
  • The Apache Directory™ Project
  • Apache Tuscany
  • Smooks

Chapter 3. SOAP Web Services

  • Web Service Standards
  • WS-I Overview
  • WSDL Structure
  • Applying SOAP
  • JAX-WS Overview

Chapter 4. REST Services

  • Understanding REST
  • Principles of RESTful Services
  • REST vs SOAP Communication
  • JAX-RS Overview

Chapter 5. Messaging and Asynchronous Communication

  • Messaging Benefits
  • Basic Messaging Patterns
  • Point-to-Point Communication
  • Pub/Sub Communication
  • Broker vs Brokerless Messaging Infrastructure
  • JMS Overview
  • AMQP Overview
  • JMS vs AMQP
  • ActiveMQ
  • RabbitMQ

Chapter 6. Business Process Management (BPM)

  • Defining BPM
  • OMG BPMN 2.0 Overview
  • Activiti Platform