IBM Integration Bus V9 - MessageSight Integration

 View Only
Fri May 15, 2020 09:34 AM

Original post by Philip Norton | Visits (3486)

IBM MessageSight is an appliance-based messaging server that is designed to handle large numbers of connected clients and devices, and process high volumes of messages.

It typically resides in the DMZ between the internet and company's intranet. Typically pervasive devices such as phones, tablets and sensors connect directly to the appliance using the MQTT protocol. Messages are the forwarded to interested parties within the intranet using MQTT, JMS or IBM Messaging (formerly WebSphere MQ).

MQTT is an open source publish/subscribe messaging protocol that was designed for lightweight messaging, ideal for low powered pervasive devices. The majority of back-end systems do not currently communicate using MQTT so protocol switching is required for direct communication. Messages using the MQTT protocol typically contain a JSON payload due it's small footprint and compatibility with JavaScript. However JSON is not the preferred format for most back-end systems so message transformation is required. This brings us to where IBM Integration Bus (IIB) fits in. With the ability to connect directly to the IBM MessageSight appliance IIB provides the integration tools required to provide connectivity between the pervasive internet devices and intranet back-end systems, plus a whole lot more.

IBM Integration Bus v9

If you are reading this then you are probably already familiar with IIB, or previous versions of WebSphere Message Broker, so we won't discuss it's transformation capabilities and supported protocols as this is well trodden ground. The exciting discussion is about the decisions that can be made in real time at a per message level and the benefits this can bring to the business and clients. The easiest way to portray this is to describe potential scenarios in different industry settings.

Here we will discuss 3 potential scenarios:

  • Inbound Event Filtering
  • Outbound Event Notification
  • Data Market

Inbound Event Filtering

Imagine thousands perhaps millions of sensors collecting data at regular intervals. Each of these sensors needs to report its current state to a central location so business processes can make decisions based on that data. IBM MessageSight is capable of handling this quantity of messages but is the application server or database used by the back-end system? Unlikely is the probable answer.

A quick inspection of each message could determine whether the message requires processing and if it does which system should process it. IIB provides the ability to filter messages based on content, using XPath for example, or to make more complex decisions using custom logic or Decision Services.

The v9 Integration Toolkit provides a pattern that generates a message flow to provide event filtering using only a few parameters. A web client is also generated as a sample MQTT client capable of publishing events. This provides an easy way to get started with IBM MessageSight connectivity.

The event filtering pattern can be used to filter out events that are published on a regular basis but are mostly uninteresting. For example regular status reports, such as oil flow, battery level, temperature etc, from sensors may be of interest for detecting patterns but not from an operations perspective. Systems responsible for triggering new business processes are typically only interested when changes occur from the expected state. So when a battery level is critically low, or oil flow drops dramatically or temperatures suddenly increase a process is triggered to react. Event Filtering ensures that only these critical events need to be processed, keeping the responsible system free from noise.

Outbound Event Notification

With customers now using their mobile devices to access information constantly, notifications need to reach them in an efficient manner. Notifications allow data to be pushed directly to the client and for their immediate consumption. The service should give a slicker experience for the client, providing the path of least resistance to achieve their goal.

With huge amounts of data within a company's intranet and with potentially a very large number of clients that require access to this information, controlling notifications can be tricky. We know that IBM MessageSight can handle the pure quantity of clients and messages in such an environment but to handle the variety we some integration logic.

The v9 Integration Toolkit provides a pattern that generates a message flow to provide event notification using only a few parameters. A configured message flow and IBM MessageSight configuration commands are generated, as well as a web client as a sample MQTT subscriber.

The event notification pattern uses XPath to generate a topic based on information in the message tree. The sample provided with the pattern receives simple database update messages via IBM messaging in XML. Values from the message including the row name and column name are then combined to generate the topic name on the fly. The message is then published, in JSON, to IBM MessageSight, which will deliver it to any clients subscribed to that topic.

By adding the integration logic using IIB, back-end changes such as price, stock, availability, timetables etc can be directed at the clients who need that information. Discounts can be pushed to valued customers instantly, stock updates can be delivered to stock management systems as well as staff and customers in one action. Clients can be notified if their train or plane is running late or even given real time updates on it's currently location and expected arrival or departure time. Event notification enables meaningful information to be delivered to the required destinations in a simple and flexible way.

Data Market

Services are being consumed and provided digitally allowing for automatic collection of data. Information about how and what is being consumed can be collected and correlated. Data market uses this correlated information to automate the process of matching consumers with providers. For example if a customer purchases baby items from a supermarket they can be sent offers for baby clothes at another shop. If additional information such as location data is available they can be notified at the moment they walk past that shop.

The more data that is available to the system the better it becomes at matching. Sale forums could automatically match wanted items with offered items based on the type of item or the colour, location, age etc. The greater the information provided by the users the more effective the match becomes. But this data can often be collected automatically in real time, such as at point of sale, and patterns can be determined using Big Data, offering accurate predictions using data analytics.

The integration IIB provides with IBM MessageSight allows it receive and publish data to and from clients and providers in a scalable manner. It also provides Integration with IBM Decision Server for executing business rules required for a data market solution.