Skip to main content

Reducing the cost and complexity of low-latency messaging with the WebSphere DataPower Low Latency Appliance XM70

Luis R. Vega (lrvega@us.ibm.com), Software Engineer, IBM
Luis Vega is a Software Engineer working on the WebSphere DataPower Network Appliances team in Cambridge, MA. He was part of the team that brought the DataPower XM70 to market. Luis earned a Bachelor of Science degree in Computer Engineering from the University of Puerto Rico in Mayaguez and has been with IBM since 2000. You can contact Luis at lrvega@us.ibm.com.
Nicholas M. Maniskas (nmmanisk@us.ibm.com), Software Engineer, IBM
Photo of Nicholas Maniskas
Nicholas Maniskas is a Software Engineer on the WebSphere DataPower Software Quality team in Cambridge, MA. He was Software Quality Lead for the 1.0.0 and 3.7.3 releases of the DataPower XM70 and is currently working on the 3.8.0 release. Nicholas graduated from the University of Massachusetts at Amherst with a Bachelor of Science degree in Computer Science and has been with IBM since 2008. You can contact Nicholas at nmmanisk@us.ibm.com.

Summary:  This article shows you how you can offload low-latency messaging (LLM) routing to the new WebSphere DataPower Low Latency Appliance XM70, and significantly reduce complexity and cost in your LLM systems. New features in the DataPower XM70 include message selection, property mapping, and protocol bridging.

Date:  29 Jul 2009
Level:  Intermediate
Activity:  1736 views

Introduction

The IBM® WebSphere® DataPower® Low Latency Appliance XM70 (hereafter called the DataPower XM70), enables you to route messages at extremely high volumes on existing networks with negligible latency. The DataPower XM70 "Fast Path" has potential throughput rates in the millions of messages per second with microsecond latency. In the XM70, this Fast Path functionality is combined with the DataPower Full Hardware ESB, previously available only in the WebSphere DataPower Integration Appliance XI50, and all of this capability is bundled together in a highly configurable and rapidly deployable 1U (1.75’’ thick) network appliance.

Using WebSphere MQ LLM technology, the DataPower XM70 can greatly reduce application complexity and cost for enterprises already using WebSphere MQ LLM, and can lower barriers to entry for companies looking to compete in this space. As with other DataPower appliances, the DataPower XM70 is purpose-built to solve specific problems and challenges so that enterprise servers and applications do not have to do so. In particular, the DataPower XM70 solves the problem of making intelligent routing decisions at microsecond speeds based on message content.

Prior to the release of the DataPower XM70, a company facing this problem had few options, and they tended to be both costly and complex. Programming individual applications to handle routing is not cost-effective. Writing an application specifically to handle all WebSphere MQ LLM routing rules in a network is possible, but such an application would be complex and difficult to modify, deploy, and maintain.

The DataPower XM70 addresses the LLM routing problem through its ability to intelligently route, filter, and modify hundreds of thousands of messages per second. The DataPower XM70 enables you to rapidly deploy LLM routing rules that you can configurable via an intuitive interface without the need for programming, greatly reducing cost and complexity. Months of development time can be cut down to mere days of configuration time. In addition, scalability and maintainability become non-issues, because you can change the configuration at any time to serve the routing needs of new applications that are added to the enterprise portfolio. The rest of this article describes the features of the DataPower XM70, which enable your applications to focus on two simple tasks: handling the data they receive and transmitting it through the DataPower XM70.

DataPower XM70 features

Fast Path

The DataPower XM70 enables your network to provide reliable and scalable routing of multicast (pub/sub) and unicast (queues) messages, without the need for home-grown applications. Once installed on your network, you can easily configure the DataPower XM70 Fast Path with any of the supported LLM protocols:

  • Reliable Multicast Messaging (RMM)
  • Reliable User Datagram Protocol (RUDP)
  • Reliable Unicast Messaging (RUM)

Reliable Multicast Message (RMM)

RMM is the default LLM protocol. As the name implies, it is built on top of IP multicast, in which one transmitter can send one message and have it be received by more than one receiver. This one-to-many relationship is often referred to as pub/sub in enterprise messaging. In terms of raw throughput and latency, RMM is the highest performing LLM protocol. It is ideal for fan-out use cases, where one receiver is able to take incoming messages and propagate them through the network over a high number of transmitters:


Figure 1. Message fan-out
Message fan-out

Reliable User Datagram Protocol (RUDP)

As with RMM, RUDP is built on User Datagram Protocol (UDP). Unlike RMM, RUDP is a point-to-point protocol in which messages are sent to a specific destination. This behavior is similar to that of many queue-based messaging protocols. Unlike regular UDP, which is normally unreliable, RUDP has reliability built in. Since RUDP is not based on multicasting, routing messages between disparate networks is no different than forwarding normal UDP traffic.

Reliable Unicast Messaging (RUM)

RUM can be thought of as RUDP’s Transmission Control Protocol (TCP) variant. RUM is built on top of the already reliable TCP and is better suited for Wide Area Network (WAN) deployment.

All three protocols -- RMM, RUDP, and RUM -- can be used simultaneously. In order to take advantage of RMM’s performance in a network where routers are configured to suppress multicast traffic, RUM or RUDP should be used to bridge separate subnets. The DataPower XM70s in this diagram transmit to each other over one of the point-to-point protocols. Once a message is received, it is routed over RMM on the internal LAN:


Figure 2. RUM/RUDP network bridge
RUM/RUDP network bridge

Reliable Local Messaging (RLM)

The DataPower XM70 enables protocol bridging between LLM protocols and other supported protocols such as WebSphere MQ, TIBCO Enterprise Message Service, and WebSphere Java Message Service. RLM is the DataPower XM70 Fast Path bridge into and out of the appliance’s ESB functionality. If low-latency messages need to be routed off the Fast Path and over to any of the other bridgeable protocols, then RLM is the protocol for you.

Topic selection

The DataPower XM70 uses the concept of receiver and transmitter objects for the Fast Path. Receivers are referred to as policies and transmitters as routes. The relationship between these types of objects is one-to-many, where each policy can have one or more route objects. Messages received on a policy are forwarded to destinations based on the configuration of the associated route objects. Policy objects are configured with a topic on which to listen, and all messages matching this topic are then processed. Similarly, the routes associated with a policy define a topic on which to transmit the message.


Figure 3. LLM policy/route relationship
LLM policy/route relationship

If listening for multiple topics is a requirement, the DataPower XM70 provides this ability through topic selection. Topic selection expressions are defined using an SQL-like syntax. These expressions must resolve to a Boolean value -- a topic expression that evaluates to TRUE will continue to be processed,and an expression that evaluates to FALSE will not. A third value, UNKNOWN, is the result of an incorrect expression and has the same behavior as FALSE. Topic Selection applies only to policy objects.

Message selection

Topic selection is only one of the options the DataPower XM70 provides for filtering messages. If finer granularity is required to select messages for processing, you can use DataPower XM70 message selection. It is used to define content-based routing rules that the DataPower XM70 uses to make decisions regarding every message it receives. Message selection can happen within policy objects, route objects, or both. A policy may filter out all messages that it deems not necessary to process, or delegate all message selection to the individual route objects. In other words, a policy may apply first-level filtering while route objects apply second-level filtering on all received messages. Second-level filtering gives you low-level control over how messages are routed.

Message selection enables the DataPower XM70 to provide traffic shaping based on message content, whether it is in XML, Financial Information eXchange (FIX) format, or plain text. Like topic selection, message selection criteria expressions are defined using a SQL-like syntax, which must resolve to a Boolean value. An expression that evaluates to TRUE at the policy is passed on to routes in the policy’s route list for further processing. An expression that evaluates to FALSE or UNKNOWN is dropped.

The expressions created are a combination of arithmetic and logical operators, plus operands. The DataPower XM70 defines a set of fields divided into logical namespaces that return message values that can then be used as operands. The highlighted section below shows an example for a transmitting object’s message selection. It will only transmit messages between 2 and 10,000 bytes long:


Figure 4. LLM route message selection configuration
LLM route message selection configuration

Message properties and property maps

WebSphere MQ LLM messages, in addition to having their payload, can have properties associated with them. A property is a user-defined name-value pair, and can include 32-and 64-bit integers, double floating point values, and strings. Properties are defined so that they can be used in message selection by external applications or other DataPower XM70 appliances.

Message properties can be manipulated by route objects before being transmitted, which is done through property maps. Property map rules are specified in name/value pairs, where the value portion of a rule can be, in addition to previously mentioned types, a SQL-like expression. The expression’s result is evaluated and assigned as the property’s value.

Temporary variables can also be created with a map. These serve as a scratch pad for calculating values that are significant to message recipients. Variables are internal to the DataPower XM70, so a recipient will never see them. Nevertheless, variables are essential to message senders -- they allow high-performance calculations based on message content while hiding the actual computation. Final values can be assigned to properties, making them a part of the outgoing message and accessible to recipients.

The XML and FIX element values of a message can also be accessed, but not altered. For example, you might want to create a message property based on the value of the root element of an XML payload or a specific price within a FIX message.

Property Maps are applied after message selection has already occurred within a route. The selection is done based on the received properties and not the altered ones. In the example below, only the properties final_value=68 and i_am_global='I AM GLOBAL' become part of the outbound message:


Figure 5. LLM Route Property Map
LLM Route Property Map

Integration with the Hardware ESB

The DataPower XM70’s capabilities reach beyond the LLM functionality described in this article. If there is a stream, feed, or message that requires non-LLM processing, configure a route with the RLM protocol. An RLM route forwards messages to a multi-protocol gateway service with an MQ LLM protocol handler. The result is the creation of a processing flow that can leverage DataPower XM70 functionality as well as much of the traditional DataPower functionality, including XML acceleration, message signing and verification, payload transformation, protocol bridging, sophisticated message routing, and filtering. The reverse is also possible: messages can enter through a multi-protocol gateway and gain access to the Fast Path if the gateway is configured with a dpllm backend-url.


Figure 6. DataPower XM70 protocol bridging
XM70 Protocol Bridging

Protocol bridging is a powerful way of using a gateway. A message can come in over RMM, RUDP, or RUM, and exit WebSphere MQ, WebSphere JMS, TIBCO EMS, or HTTP(S)! Similarly, non-LLM protocols can enter the gateway and exit as RMM, RUDP, or RUM! Any combination of supported protocols is possible. In addition to bridging LLM and non-LLM protocols, you can use the ESB and Fast Path functionality completely independently. This flexibility makes the DataPower XM70 highly adept at meeting a range of business needs.

Conclusion

This article has described a number of the new DataPower XM70 appliance's features for high-speed, content-based routing. Each one performs complex tasks based on application-specific business requirements, without requiring any complex programming. The user-friendly DataPower XM70 Web interface greatly simplifies these tasks. The DataPower XM70 removes routing responsibilities from low-latency applications so that they can focus on what to do with message data, instead of on deciding where it needs to be sent. LLM users and others looking for a high-speed routing solution will find that the DataPower XM70 is hard to beat.


Resources

About the authors

Luis Vega is a Software Engineer working on the WebSphere DataPower Network Appliances team in Cambridge, MA. He was part of the team that brought the DataPower XM70 to market. Luis earned a Bachelor of Science degree in Computer Engineering from the University of Puerto Rico in Mayaguez and has been with IBM since 2000. You can contact Luis at lrvega@us.ibm.com.

Photo of Nicholas Maniskas

Nicholas Maniskas is a Software Engineer on the WebSphere DataPower Software Quality team in Cambridge, MA. He was Software Quality Lead for the 1.0.0 and 3.7.3 releases of the DataPower XM70 and is currently working on the 3.8.0 release. Nicholas graduated from the University of Massachusetts at Amherst with a Bachelor of Science degree in Computer Science and has been with IBM since 2008. You can contact Nicholas at nmmanisk@us.ibm.com.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=417326
ArticleTitle=Reducing the cost and complexity of low-latency messaging with the WebSphere DataPower Low Latency Appliance XM70
publish-date=07292009
author1-email=lrvega@us.ibm.com
author1-email-cc=
author2-email=nmmanisk@us.ibm.com
author2-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers