Lightstreamer is a
web-based
A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
asynchronous messaging project, implementing the
WebSocket
WebSocket is a computer communications protocol, providing a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
protocol, the
Comet
A comet is an icy, small Solar System body that warms and begins to release gases when passing close to the Sun, a process called outgassing. This produces an extended, gravitationally unbound atmosphere or Coma (cometary), coma surrounding ...
model, the
push technology
Push technology, also known as server Push, refers to a communication method, where the communication is initiated by a server rather than a client. This approach is different from the " pull" method where the communication is initiated by a clien ...
paradigm, and the
real-time web
The real-time web is a network web using technologies and practices that enable users to receive information as soon as it is published by its authors, rather than requiring that they or their software check a source periodically for updates.
H ...
practices.
Origin
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
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
pages without employing
Java applets
Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode.
At the time of their introduction, the i ...
. The application domain driving most of the interest in push technology at that time was
market data
In finance, market data is price and other related data for a financial instrument reported by a trading venue such as a stock exchange. Market data allows traders and investors to know the latest price and see historical trends for instruments ...
distribution for the
financial services
Financial services are service (economics), economic services tied to finance provided by financial institutions. Financial services encompass a broad range of tertiary sector of the economy, service sector activities, especially as concerns finan ...
industry.
In the following years, Lightstreamer was used within other application domains too, including aerospace telemetry, where
NASA
The National Aeronautics and Space Administration (NASA ) is an independent agencies of the United States government, independent agency of the federal government of the United States, US federal government responsible for the United States ...
chose Lightstreamer to push live telemetry data for the International Space Station.
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:
* Web Transport. Lightstreamer implements a bi-directional transport based on standard Web protocols. This means it uses several underlying techniques (
WebSocket
WebSocket is a computer communications protocol, providing a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
,
Comet
A comet is an icy, small Solar System body that warms and begins to release gases when passing close to the Sun, a process called outgassing. This produces an extended, gravitationally unbound atmosphere or Coma (cometary), coma surrounding ...
, 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
In software architecture, the publish–subscribe pattern (pub/sub) is a messaging pattern in which message senders, called publishers, categorize messages into classes (or ''topics''), and send them without needing to know which components ...
, 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.
Server-side APIs
* Java In-Process Adapter API
* Java Remote Adapter API
* .NET Standard Adapter API
* Node.js Adapter API
* Python Adapter API
* Generic Adapter API (based on TCP sockets)
* JMX Management API
Client-side APIs
* Web Client API
* Node.js Client API
* Android Client API
* Java SE Client API
* .NET Standard Client API
* C++ Client API
* Swift Client API
* iOS Client API
* macOS Client API
* tvOS Client API
* watchOS Client API
* visionOS Client API
* Python Client API
* Flutter Client API
* Flash Client API
* Flex and AIR Client API
* Silverlight Client API
* BlackBerry Client API
* Java ME Client API
* Generic Client API (via a documented protocol)
References
External links
Lightstreamer web siteOnline Lightstreamer demos
{{DEFAULTSORT:Lightstreamer
Message-oriented middleware
Push technology