"SOA for Developers" is a one or two-day course designed to help organizations succeed in the transition to SOA. It provides an introduction to management issues involved in SOA, but the main focus is on the technical issues involved in building scalable, reusable, and performant SOA components using web services.

This SOA training is organized as a mixture of presentation, demonstration, and discussion. It is technology-agnostic, and can be presented to groups of any size. To give Java developers applied training in building SOA components this course can also be combined with part or all of the Axis2 training course.

Part I – Setting the Stage

  1. Basic principles of SOA
  2. Web services as building blocks
  3. Web service architectures:
    1. SOAP, REST, and POX
    2. The new standards - layering WS-* over SOAP
    3. Enterprise layers over REST and POX
  4. Defining service contracts:
    1. Understanding WSDL service definitions
    2. Basic principles of W3C XML Schema
    3. Governance aspects of contracts

Part II – Getting Started in Web Services

  1. Introducing Pet Store, circa 2006
  2. Web service for a particular goal:
    1. Determining the requirements
    2. Designing the interface
    3. Implementing the service
  3. Web service performance
  4. Dealing with performance issues:
    1. Improving interface granularity
    2. Handling XML data volumes
    3. Restructuring your service operation

Part III – Building on Web Services

  1. From one web service to many:
    1. The importance of common formats
    2. Interoperability issues
  2. Working with schema in web services
    1. Digging deeper into schema
    2. Schema purposes and usages
    3. Schema compatibility issues
    4. Best practices in schema for web services
  3. WS-* interoperability issues

Part IV – Moving into SOA

  1. Building a SOA with web services:
    1. Organization size and governance issues
    2. Service agility vs. business agility
  2. Selecting service components:
    1. Factoring composable services
    2. Preserving loose coupling
  3. Coping with service evolution:
    1. Allowing for service extensibility
    2. Handling incompatible changes
  4. The role of intermediaries
  5. What to avoid