3 min read

Lightstreamer

Martin Fietkiewicz
Written by:
Martin Fietkiewicz

Lightstreamer is a realtime engine that delivers asynchronous realtime data over HTTP and Websockets to and from browser-based, mobile, and desktop applications.   

Lightstreamer implements features like adaptive streaming, bandwidth and frequency throttling, and high scalability which allows it to handle the distribution of live data to its clients in an efficient way.

Copy link to clipboard

Potential use cases of Lightstreamer:

  • Streaming analytics applications

  • Gaming

  • Social networks

  • Monitoring

  • Finance

  • Betting/Casinos

Layers of Lightstreamer Server

Lightstreamer was first created in 2000 and it was one of the first efforts at implementing realtime data-push using HTML pages without using Java applets. This brought about a new market niche which is known by several terms such as push technology, realtime web, data push, reverse AJAX, and streaming AJAX. 

The Lightstreamer product has been used by many startups and organizations. Gartner is the world’s leading information technology research and advisory company, and in 2012 it acknowledged Weswit (the name of Lighstreamer company at the time) as a “Cool Vendor in Application and Integration Platforms”.

Copy link to clipboard

Lightstreamer Core Components

Copy link to clipboard

Multichannel Transports

Lightstreamer transport layer makes use of HTTP and WebSocket protocols to enable bidirectional communication. In addition, several mechanisms are used in order to achieve bidirectional realtime communication that can go through any type of firewall, proxy, or network intermediaries.

Lightstreamer also makes use of Stream-Sense in order to implement a method to detect the best transport to be used per client with sequences of automatic fallback when streaming is blocked either by proxy or antivirus software. Lightstreamer also makes use of the infrastructure and protocol provided by Apple (APNs) and Google (FCM) to provide native transport support for push notifications to mobile clients.

Copy link to clipboard

Message Routing

Although the multichannel transport layer offers a way to deliver messages on the internet, it’s not sufficient to build complex and flexible applications. 

Lightstreamer provides message routing as a convenient way to deliver the right data to the right recipient by making use of the publish-subscribe (pub-sub) architectural pattern which is suitable for both one-to-many and one-to-one messaging. 

Lightstreamer adapters are server-side custom components connected to the Lightstreamer server. The purpose of the Lightstreamer adapter is to interface the Kernel with any other data source and to also implement custom authentication and authorization logic. Note: The Lightstreamer Kernel is the core of the server, which implements some features such as prefiltering and pre-elaboration on update events, as well as data structure allocation for each activated events.

The adapter APIs currently provided are for Java, .NET, Node.js, and Python. More adapters can be developed in any language to communicate to the Lightstreamer server via plain TCP through the  Adapter Remoting Infrastructure protocol.

Copy link to clipboard

Lightstreamer Client

Lightstreamer exposes APIs in different client libraries built for different platforms used to integrate any application with the Lightstreamer server.

The list of available client libraries can be found here.

Copy link to clipboard

Lightstreamer Server

The Lightstreamer server is a standalone process that runs in a Java virtual machine. The Kernel of the Lightstreamer server takes control of the operating system’s TCP/IP stack and takes care of the real-time flow of data for each client to optimize the data transmission as much as possible.

Lightstreamer adapter

Join the Ably newsletter today

1000s of industry pioneers trust Ably for monthly insights on the realtime data economy.
Enter your email