The first version of Lightstreamer was created at the end of 2000, as one of the first attempts to implement real-time data push to HTML pages without employing Java applets. The application domain driving most of the interest in push technology at that time was market data distribution for the financial services industry.[2] In the following years, Lightstreamer was used within other application domains too, including aerospace telemetry, where NASA chose Lightstreamer to push live telemetry data for the International Space Station.[3]
Architecture
The Lightstreamer Server is a high-performance engine that manages all the connections with the clients through the Internet. It integrates with the backend systems via custom adapters. The Data Adapter receives the real-time data flow from the data feed and injects it into the Lightstreamer Server. The Metadata Adapter has control over authentication, authorization, and quality of service.
Lightstreamer Server is made up of three logical layers:[4]
Web Transport. Lightstreamer implements a bi-directional transport based on standard Web protocols. This means it uses several underlying techniques (WebSocket, Comet, HTTP streaming, etc.) to provide the upper layers with a channel over which data can be exchanged in real-time with any client connected through the Web, even if protected by firewalls and proxies.
Messaging. Lightstreamer implements a publish–subscribe pattern, suitable for both one-to-many fan-out scenarios and one-to-one messaging needs. It takes care of routing each message to the right recipients, multiplexing the flow of events on the top of each connection with the clients.
Semantics+QoS+Security. It implements data semantics (tables, schema, metadata, conflation, etc.), network optimization (dynamic throttling, bandwidth control, resampling, batching, etc.), and full session management (authentication, fine-grained authorization, etc.) on the top of publish-subscribe.
This page is based on this Wikipedia article Text is available under the CC BY-SA 4.0 license; additional terms may apply. Images, videos and audio are available under their respective licenses.