WebSphere MQ Application Programming Boot Camp
Duration
Five Days
Course Outline
Messaging Concepts
- Section: Outline
- Concepts and Definitions
- Time Independence
- WMQ: MQI calls
- WMQ: Sample MQI calls
- Messaging Applications Design Asynchronous Model
- Synchronous Model: Closed Loop Design
- Asynchronous Model: Request/Reply
- Publish/Subscribe Messaging Model
- WMQ Message
- Parallel Processing
- Requester/Server Implementation
- WMQ Objects
- WMQ Queue Types
- WMQ Triggering
- WMQ Client
- WMQ Client/Server Implementations
- Local/Remote Message Delivery
- Local and Remote Queues
- Distributed Logical Unit of Work
- WMQ Supported Platforms
The Message Queue Interface (MQI)
- Section: Outline
- Accessing WMQ from Applications
- WMQ MQI-Supported Languages
- Preparing MQI Application Programs
- WebSphere MQ MQI: Procedural Calls
- Notation
- WMQ Program: Structure
- WMQ Program: Sample Logic Flow
- MQCONN Call
- MQDISC Call
- MQOPEN Call
- Shared and Exclusive Access
- MQCLOSE Call
- MQPUT Call
- MQPUT1 Call
- MQGET Call
- MQGET Message Options
- Retrieval in FIFO Order
- MQINQ Call
- MQSET Call
- The Message Descriptor
- Fields in the Message Descriptor
- Message Persistence
- Message Priority
- Message and Correlation Identifiers
- Message Retrieval Using MsgID/CorrelID
- Accessing Remote Queues
- Application Use of Remote Queues
- Report Messages
- Message Expiry
- Message Groups
- Message Segmentation
- Distribution List
- Exercises
WebSphere MQ System Administration
- Section: Outline
- WMQ Administration Tasks
- WMQ Installation
- WMQ Administration: Code Bases
- WMQ Administrative Interfaces
- Basic WMQ Administration Tasks
- Basic WMQ Administration tasks
- Customize the Queue Manager
- Logging and Recovery
- Exercises
Interconnected Systems: DQM
- Section: Outline
- Distributed Queue Management (DQM)
- DQM Components
- MCA: Pairs
- Defining Channels
- MCA: Types
- Message Concentration
- Message Segregation
- Multiple Hops
- Using a Message Router
- Channel Exits
- DQM: A Complete Picture
- Application Data Conversion
- WebSphere MQ Clusters
- WMQ Clusters: Simple Cluster
- WMQ Clusters: Workload Balancing
- WMQ Clusters: Benefits
- WMQ for z/OS: QSG
- WMQ Publish/Subscribe
- Exercises
Transactional Support
- Section: Outline
- Unit of Work
- Resource Manager
- Transaction Manager
- WMQ Local Resources
- WMQ + Global Resources
- External Coordination of Global Units of Work
WMQ Security
- Section: Outline
- Security Goals
- Security Services
- Implementing WMQ Security
- Security Implementation in WMQ
- WMQ API Access Control
- WMQ Command Security
- Source of WMQ User Identification
- WMQ Message Context
- WMQ Security Issues Example
- Channel (MCA) Security
- MCA Security Exits
- WMQ Security Support: Summary
- Exercises
WMQ and Enterprise Application Integration
- Section: Outline
- WMQ z/OS Connectivity Solutions
- Accessing IMS Applications via WMQ
- Accessing IMS Applications via WMQ
- Accessing CICS/TS Applications on z/OS via WMQ
- WebSphere MQ Transport for SOAP
- WMQ Transport for SOAP: CICS Sample
- WMQ Support for XMS
- WMQ and Enterprise Application Integration
- WebSphere Message Broker V6 (WMB)
- WMB: Message Transformation
- WMB: Message Routing
- WMB: Functional View
- WMB Components
WebSphere MQ Application Programming and Design for Distributed Platforms Training and Courseware Course Outline
Part 1 - WebSphere MQ Programming
Preparing Application Programs
- Supported Languages
- Preparing MQI Application Programs
- Server Implementation
- Client Implementation
- Preparing Application Programs - UNIX/AIX
- Preparing Application Programs - WINDOWS NT
- Preparing Application Programs - OS/400
- Preparing Application Programs - MVS
- Preparing Application Programs - Other environments
- MQ Program - Structure
- Sample WMQ Programs
MQSeries Data Structures and Constants
- MQSeries Structures and Constants
- MQI Program Definitions
BASIC MQI CALLS
- MQ Program - Sample Logic Flow
- MQI Calls - Documentation
- MQI Completion Codes
- MQI Calls
- MQCONN
- MQOPEN
- MQOPEN - Create Dynamic Queue
- MQOPEN - Create Dynamic Queue COBOL EXAMPLE
- MQOPEN - Create Dynamic Queue C - EXAMPLE
- MQPUT
- MQPUT COBOL EXAMPLE
- MQPUT C - EXAMPLE
- MQPUT1
- Using MQPUT / MQPUT1
- MQGET
- MQGET COBOL EXAMPLE
- MQGET C - EXAMPLE
- MQGET with the wait option
- MQGET with the set signal option
- SET SIGNAL EXAMPLE (MVS)
- SET SIGNAL
- Completion Codes
- SIGNAL PSEUDOCODE
- Browsing messages
- Browse cursor
- Get message under browse cursor
- MQI Calls MQCLOSE
- MQI Calls MQDISC
MQI AND TRIGGERING
- TRIGGERING Definition
- Triggering Processing Sequence
- Queue attributes controlling triggering
- Process attributes
- Trigger message (MQTM)
- Triggering COBOL EXAMPLE
- Trigger Monitors
- CICS Based Trigger
MESSAGE PROPERTIES
- USING MESSAGE PRIORITY
- MESSAGE TYPES
- Datagrams
- Request messages
- Report messages
- Sample Message descriptor
- Cobol Example - Request / Reply Program
- Using Message and Correlation identifiers
- Use OF MSGID / CORRELID Pseudo Code
- Using MSGID / CORRELID on MQGET
- MSGID and CORRELID - use Match Option
MESSAGE DATA CONVERSION
- MESSAGE DATA CONVERSION Concept
- Data Conversion Implementation
Coordination of units of work
- Coordination of units of work
- Commit coordination - MQBEGIN
- Commit coordination - MQCMIT/MQBACK
- Commit coordination by application code (without Xtion manager)
- Global unit of work (QMGR is the transaction manager)
- MQGET (within Syncpoint control)
- MQPUT MQGET mixing in/out of Syncpoint control
- MQPUT (within Syncpoint control)
- MQPUT (mixing in/out of Syncpoint control
MINOR MQI CALLS
- MQINQ
- MQINQ - COBOL EXAMPLE
- MQINQ - C EXAMPLE
- MQSET
- MQSET - COBOL EXAMPLE
- MQSET - C EXAMPLE
MESSAGE GROUPS / SEGMENTATION
- Message Group
- Specify Grouping on the PUT options
- Specify Grouping on the GET options
- GROUP / SEGMENT IDENTIFIER
- Message segmentation
- Specify SEGMENTATION on the PUT side
- Specify SEGMENTATION on the GET sid
- GROUP / SEGMENT IDENTIFIER Pseudo Code
DISTRIBUTION LISTS
- Distribution List - MQOPEN
- Distribution List - MQPUT
- Distribution List - MQCLOSE
WebSphere MQ Security
- WMQ Access Control
- Access Control Lists
- Access Control for MQI
- Audit: MQSeries Security Events
- Message Context
- MQMD Context Fields
- Setting Context by Application
- Setting No Context by Application
- Passing Context
- Pass Context - Sample
- Using Alternate User Authority
- Alternate User ID - Sample
- Access Control for MQSeries Clients
Part 2 - WebSphere MQ Application Design
Java Messaging Service Concepts
- Messaging Models
- Components of Point-to-Point Messaging
- Implementing a Sender
- Example Sender Servlet
- Example Sender Stateless Session EJB
- Listener Types
- Listener Design Decisions
- Implementing a JMS Receiver
- Example: Synchronous Receipt
- Components of a Pub-Sub Model
- Example Topic Publisher
- JMS Programming in WSAD
- Configuring MQ Simulator and Embedded Messaging
- Configuring WebSphere MQ
Architecture
- Design Methodology
- Common Non Functional Requirements
- Design Guidelines
- One-to-one (Local)
- One-to-one (Remote)
- Request-Reply
- One-to-Many
- Many-to-one
- Many-to-one With Reply
- Many to Many
- Hub and Spoke
- Message Routing / Handling Patterns
- Route to different queues based on message content
- Break a composite message and process separately
- Combine related messages to a single message
- Send Large Messages Using the Memento Pattern
- Global Transaction
- Message Format Considerations Character Aligned Format
- XML Format
- Java Object
- Physical Design
- Sample Physical Design
- Data Flow Control Flow
- Activities and Flow
- Workflow and Transaction
- Common Workflow Implementation Guide
- WebSphere Business Integrator (WBI)
- WBI Architecture -Advantage of WBI
- WebSphere MQ Workflow