Tuesday, August 23, 2016

Benchmarking Lightstreamer JMS Extender vs. Web Services in a Defense Scenario

While Lightstreamer is already well known as a mature solution for Real-Time Data Distribution in a wide range of contexts and industries, it has been also widely used as an academic research tool behind the scenes.

A recent one caught our attention. The research is on interoperability of real-time and non-real-time systems, a well-known topic that has been widely investigated in a large number of domains and industries. In mission-critical fields, performance and reliability of the bridges used to interconnect two different message exchange solutions is crucial. Defense is surely one of the most demanding, thus a perfect and realistic research scenario.

In his work, Emre Dalkiran (email, LinkedIn), a graduate student in Turkey, compared requirements, costraints and performance of two different DDSs (Data Distribution Services) exchanging data from the field (common web browsers) to a non-real-time enterprise system used in the Defense field. The author simulated an enterprise system using WildFly Application Server and SwitchYard service delivery framework from JBOSS.

In a apple-to-apple test case, Dalkiran analyzed performances of Web Services DDS against JMS, specifically using Lightstreamer JMS Extender. The Lightstreamer JMS Extender connects to any third-party JMS server and makes JMS (Java Message Service) available on the Web. Any HTML page running inside a web browser instantly become a JMS clients, able to publish and subscribe on JMS topics and queues. We wrote about it here. Through JMS Extender, common web clients have been enabled to access real-time system, publish and subscribe data.

Benchmark tests focused on time for data transformation and client-side latency were performed. The tests conditions have been set in a realistic scenario and obtained results have been compared to a similar study on the same subject.

Both tests showed that Lightstreamer JMS Extender performs and scale better than Web Services (WS-DDS) interface. Main reason for this performance difference comes from heavy load of XML transformation when compared to JSON. In a real-time distributed system, considering hundreds of thousands of messages per second, it is an obstacle to reach real-time needs. The JMS Extender, instead, automatically translates these messages to JSON objects and viceversa. Also, using WebSocket protocol between browsers and Lightstreamer JMS Extender enables bi-directional communication over a single Transmission Control Protocol (TCP) connection and reduces overhead in request handshake and error checking, thus providing a better scalability.

In addition to that, JMS Extender was virtually able to scale even better through its connection pooling, connection offloading, and automatic reconnection features, as an additional competitive advantage. Clustering of multiple Lightstreamer JMS Extenders is also supported. This research test clarified the simplicity and the benefits of exposing an enterprise applications to the Web using the Lightstreamer JMS Extender in a real-world scenario.

The research paper has not been published yet. As agreed with the author, we will update this post with the link to the full paper as soon as it gets published.

Generally speaking, we are enthusiast about the quality of the work and we absolutely encourage the adoption of Lightstreamer products for academic and research purposes. We are willing to support interesting studies like this as much as possible.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.