Educational Consultancy WebSphere MQ SYS-ED SYSED

Educational Consultancy WebSphere MQ SYS-ED SYSED

IBM MQ Middleware - Java and .NET

IBM MQ Training Sitemap

Submit IBM MQ Questions Knowledge Transfer IBM MQ Schedule
Definition of Service Delivery Medium Web-based Training Services
IBM MQ Middleware IBM and Alternative Development Platforms
Operational Challenge IBM MQ - Operational Reality Qualifying a Training Request - Java and IBM MQ
Qualifying a Training Request - Microsoft .NET and IBM MQ IBM MQ and Mobile Devices Best Practices and Guidelines
Copyright Acknowledgement

Operational Challenge

Organizational enterprise is being challenged to integrate records using standard data formats, provide information to its user community in real-time, and generate automated alerts in the event of problems.

IBM MQ (WebSphere MQ) middleware is the industry leading middleware. It is being used in a variety of information technology infrastructures: 1- IBM mainframe and web server software environments. 2- Leading commercial software development environments - Microsoft and Oracle 3- Hybrid open source software environments. Its featureset includes the capability to execute applications synchronously, reliable delivery of information across the network, and transactional messaging support for coordinated updating of multiple data sources.


IBM MQ provides Web 2.0 for bridging HTTP applications with AJAX and REST to the WebSphere MQ messaging backbone.

IBM MQ File Transfer enhances the IBM managed file transfer solution for both distributed platforms and z/OS on IBM System z by leveraging  MQ transport to transfer files with an audit capability.

WebSphere MQ - Operational Reality

1. Sixty percent of the IBM MQ application development has been with the COBOL programming language; thirty five percent with Java, and the remaining five percent with a legacy programming language.

IBM MQ applications also have been using CICS Transaction Server as the process server to MQ trigger technology.

3. Increasingly, JMS is being used to program IBM MQ applications. IBM has publish-and-subscribe integrated into the run-time and configuration environment. IBM MQ, optimizes the throughput of publish-and-subscribe messaging. Publish-and-subscribe services have been integrated into the queue manager, removing the need to queue publications twice between the queue manager and the previously independent publish-and-subscribe component. By optimizing message logging for persistent publish-and-subscribe messaging, throughput can significantly be improved by up to 20%.
4. The clustering capabilities that IBM MQ supports for dynamically distributing messaging workloads to available MQ resources also are being progressively used.

Qualifying a Training Request - Java and IBM MQ

The client requires application development training with Java and IBM MQ.

  • Java is the programming language.
  • IBM RAD is the Windows framework for the development environment.
  • The communication will be primarily with MQ using EJB's.
  • JMS and MQ Class Libraries both are being utilized.

A decision will be required regarding whether to use JMS: Java Message Service or the MQ classes provided with the IBM software.

There are advantages with using JMS; it is an integral part of Java platform. JMS can be used in application clients, servlets, JSPs - JavaServer pages, EJB: Enterprise Java Beans, and MDB: Message Driven Beans. Java EE applications use MDBs to process messages asynchronously and all messages are delivered to MDBs as JMS messages. JMS is an industry standard API that can provide application portability. A bridge application receives messages from one messaging system and sends them to another messaging system. Bridge applications can be easier to code using JMS.

The JMS skillset is transferrable for use across the Java development platform.

Qualifying a Training Request - MS .NET and IBM MQ

The client is a cable TV shopping channel production company with over 50 million viewers daily. The web site was added to its operational information technology responsibilities in order to meet customer demands for easy access to products. They also need to anticipate and plan for the future processing requirement of the TV group.

As part of the IBM MQ administrative course, they need to construct a Windows Server cluster and load IBM MQ onto that cluster. The instances of MQ, active and passive nodes, would be using shared storage in a SAN for the queue manager message store. The training would need to address both setup and other issues related to running WebSphere in this scenario and recovery of the MQ in the event of failure. The servers along with the queue manager that have been created would be used in the tailored programming courses. The coding will be done in C# using the .NET classes for IBM MQ provided by IBM.

Integration of IBM MQ technology in a .NET environment, specifically with Microsoft Windows, is done by providing client specific samples within the the system software environment. In relation to IBM-centric implementation, there will be additional complexities to be addressed.

IBM MQ and Mobile Devices

IBM continues to extend IBM MQ for utilization as a transport backbone for new mobile technologies. IBM MQ provides the capability to use smartphones, remote sensors, smart meters, and RFID tags to be connected with existing applications and services. IBM MQ Everyplace has been designed to integrate lightweight devices and laptop computers. MQ Everyplace utilizes WebSphere Business Integration to provide messaging functions for mobile devices in a wireless environment. There is a bridge function for configuring a conversation between MQ Everyplace and WebSphere MQ and developing an MQ Everyplace client based on MIDP for mobile devices.

MQ Everyplace connects mobile and wireless applications with the IBM enterprise integration bus and WebSphere Business software.

The featureset provided with IBM MQ Everyplace includes:

  • A range of mobile devices with small customizable footprints are supported; Java, C, JMS, and J2ME languages are used for developing custom applications.
  • Mobile integration in which once-only messaging transactions are not lost or duplicated between mobile applications.
  • Peer-to-peer, synchronous and asynchronous support.
  • Rich encryption, non-repudiation and authentication features.
  • Rules can be configured to transmit during off-peak rates or at specific times.
  • Message caching and compression features can be used to reduce communication costs.
  • JMX is supported for systems management.


SYS-ED and CETi technology partners are researching the APIs.

Best Practices and Guidelines

IBM MQ can be implemented as a component of a failover strategy.

  • Availability is a measure of the accessibility of a system or application, not including scheduled downtime. High availability refers to the ability of a system or component to be operational and accessible when required for use for a specified period of time.

Performance is important in online real-time processing. These techniques can be applied to IBM MQ for efficient message processing.

  • Send only essential data in the message; message size and length can affect the performance of the application that processes the message, and the network time of data transmission.
  • Use persistent messages for critical or essential data only; persistent messages are logged to disk and can reduce application performance.
  • Retrieving messages from a queue by message or correlation identifiers will reduce application performance.
    • It can cause the queue manager to search all messages in the queue until the specified message is located.
    • Applications with have high performance requirements, need to be designed to process messages sequentially.
  • Messaging applications need to be designed to work in parallel with each other and with multiple instances of applications.

  • The queue manager executes one service request within a queue at a given time to maintain integrity.

  • Avoid programs that use multiple MQPUT calls in a sync point without committing them.

    • Affected queues can fill up with messages that are currently inaccessible; other applications or tasks will be waiting to receive these messages.


Copyright Acknowledgement

IBM MQ is a registered trademark of IBM Corporation.