Service Oriented Architecture (SOA) is a powerful and flexible solution architecture for systems integration, resource sharing, and enabling agility in the modern enterprise. SOA promotes an alignment between business and IT and allows disparate domains and information systems to collaborate together as part of a cohesive enterprise. Although SOA possesses a lot of potential for enterprises, there are plenty of things that could go wrong in attempting to apply it to your organization.
This course teaches how to integrate business and applications following the Service Oriented Architecture (SOA) principles and using IBM Integration Bus V9. Occasional administrative items must be included in labs but these are kept to a minimum. Extensive hands-on exercises enable the student to reinforce lecture topics. The hands-on portions will use a Windows platform using the Eclipse-based IBM Integration Toolkit. Database exercises will use IBM DB2 Express-C.
Prerequisites
This course assumes basic knowledge of XML and messaging principles. As a result, some basic knowledge of XML, XSLT, XPath and MQ concepts is assumed. Knowledge of Java is also an advantage.
Duration
5 Days
Outline for SOA Training: Architecting SOA Using IBM Integration Bus Training
1. SOA Fundamentals
- Defining SOA
- Business Process Management
- SOA Governance
- SOA Job Role Impact
2. Enterprise Service Bus Pattern
- SOA and the ESB pattern
- Service Invocation and Composition
- The ESB Patterns
- Message Based Integration Patterns
3. Introduction to the IIB and Integration Bus Toolkit
- List and explain the functions of the primary components of IIB V9
- Demonstrate the Integration Bus Toolkit
- Explain the components of Toolkit
- Demonstrate steps to create/test message flow using the Toolkit
- Review the IBM primitives
- Discuss components of IIB messages
EXERCISE 1 - Setting up the development domain
EXERCISE 1 continued - Building and testing a message flow application
4. Intro to Service Oriented Analysis & Design (SOAD)
- Applying OOAD Principles
- The SOAD Methodology
- SOAD Stages and SOA Lifecycle
- Describe the different debugging techniques
5. Problem Determination
- Explain message flow behaviors
- Describe the different debugging techniques
EXERCISE 2 - Working with problem determination tools (Trace nodes, User Trace, Integrated Test Client, Debugger, Error Logs, The ExceptionList tree)
6. Requirements Gathering and Message Flow Modeling
- Anatomy of a Business Use Case
- Modeling the Message Flow
- What is BPMN?
- Message Exchange
7. Working with Integration Bus Nodes
- List IIB message parts and parsing
- Discuss coding basic ESQL statements
- Demonstrate using supplied nodes and describe use of most common ones
- Explore Subflows and their uses
- Explain working with databases
EXERCISE 3 - Manipulating a message using ESQL
EXERCISE 4 - Working with databases and subflows
EXERCISE 4A – Implementing deployable subflows and ESQL
EXERCISE 5 - Using the DatabaseRetrieve node
EXERCISE 5A - Updating a database using ESQL
8. Working with Integration Bus Nodes
- Describe request/reply using Aggregation nodes
- Consider obtaining information from different sources – Collector Nodes
- Explain use of MQGET node to process replies
EXERCISE 6 - Sending requests and obtaining replies in a single message flow
EXERCIES 6A - Using the Collector node to process messages from different sources
9. Information Management in SOA
- SOA and Enterprise Information Management
- SOA and Data Basics
- Generic Data Model
- Extract Transform Load (ETL)
10. Message Modeling and Mapping
- Explain storing message layouts in the Toolkit
- Describe implementation of message models
- Explore using graphical data maps
- Demonstrate import/use of C, XML and Cobol structures in the Toolkit
EXERCISE 7 - Creating and working with a message model using DFDL
EXERCISE 7A – Importing to create a message model
EXERCISE 7B – Working with XML models
11. SOA Challenges and Risks
- Selecting Tools and Infrastructure
- Portfolio Management
- Communication
- Policies and Compliance
- Project Management
12. Governance Fundamentals
- Governing IT
- ITIL & ICTIM
- Need for SOA Governance
- SOA Governance Elements
- SOA Governance Policies
13. Using Java in the Integration Bus
- Consider the JavaCompute node
- Discuss using XPATH to work with message structures
- Explain JMS nodes and implementation
EXERCISE 8 - Implementing JavaCompute in a message flow
EXERCISE 8A - Converting an MQ message to JMS
14. SOA Patterns
- SOA / EAI Patterns
- Event-Driven Messaging Pattern
- Adapter Pattern
- Protocol Bridging Pattern
- Canonical Data Format Pattern
- Service Decomposition Pattern
15. Routing data through message flows
- Discuss Route, RouteToLabel, Label and DatabaseRoute nodes
EXERCISE 9 - Working with routing techniques.
16. Service Design and Implementation
- How is a Service Developed?
- Top Down Development
- Bottom-Up Development
- Technology Choices
17. Using SOAP and HTTP nodes
- Describe Web Service support for Integration Bus
- Discuss using the HTTP Nodes
- Explain using SOAP nodes
EXERCISE 10 – Implementing a SOAP message flow
EXERCISE 10A – Creating a Integration Service from a schema
18. Overview of Service Registries
- Services Registry
- Why Do We Need a Service Registry?
- Enforce Governance Lifecycle
19. Working with .NET
- Using the .NETCompute node
- Calling .NET methods via ESQL
EXERCISE 11 – Building a simple Web service using a .NETCompute node
20. Messaging and Asynchronous Communication
- Asynchronous SOA
- Basic Messaging Patterns
- Implementing Callbacks
- Implementing the Publish/Subscribe Pattern
21. Publish/Subscribe updates
- Explore Pub/Sub uses
- List steps to implement a IIB V9 pub/sub flow
- Explain using filters for publish/subscribe
EXERCISE 12 – Implementing content filtering