This module introduces the concept of a Service Oriented
Architecture, providing a definition of SOA, along with
describing the characteristics of a service, and the
requirements for messaging and an Enterprise Service Bus.
ESB Overview
This module provides an overview of the JBoss ESB,
including ESB Concepts (including providers, services,
actions, gateways), example configurations, features, etc.
Custom Action Programming
This module describes the differences between an ESB aware
and non aware client, and how to create and configure
custom actions.
Transformation Services
This module discusses the Smooks transformation service
manager. It covers the Smooks action configuration for
both non-profile as well as profile-based configurations.
Several action configurations are reviewed, as well as the
associated Smooks resource configurations. Out-of-the-box
transformations are also covered.
Routing
This module discusses various routing patterns, in
particular those implementable with a content based router.
The JBoss ESB content based router is discussed, along with
a quick introduction to JBoss Drools, on which it is based.
The configuration and rules for several routing patterns
are reviewed as well.
Web Services
This module describes JBoss ESB support for Web services.
It begins with a quick review of Web Services standards,
and then discusses JSR-181 Annotations. The main topic are
then covered in detail, which are the configuration on
Inbound / Producer and Outbound / Consumer web services on
the ESB.
Rule Services
This module provides an introduction to JBoss Drools and
how to configure rules as services on the ESB. Design
issues such as stateful vs stateless, rule authoring
language choices, and rule deployment are also discussed.
Orchestration
Orchestration of services is a very important aspect of a
service oriented architecture. This module review two
orchestration options: jBPM JPDL and WS-BPEL. An
introduction to jBPM is provided, along with a quick
overview of the WS-BPEL specification.
Upon completion of each module, several "quickstarts"
(product examples) will be examined and run as part of the
hand-on lab portion of the class.