- Periodic Table of Realtime
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.
Streaming analytics applications
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”.
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.
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.
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.
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.
Maximize the value of realtime analytics with Kafka and Ably
Learn how you can use Kafka and Ably to engineer a high-performance analytics pipeline that connects your backend to end-users at the network edge in realtime.
AWS IoT is a solution to connect and operate devices that are capable of internet connectivity, and to collect, store, and analyze connected device data.
How to stream Kafka messages to Internet-facing clients over WebSockets
This article explores how to stream Kafka messages to Internet-facing clients, over WebSockets, via a message broker.