Lightstreamer
   HOME

TheInfoList



OR:

Lightstreamer is a
web-based A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
asynchronous messaging Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complex ...
project, implementing the
WebSocket WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection. The WebSocket protocol was standardized by the IETF as in 2011. The current API specification allowing web applications ...
protocol, the
Comet A comet is an icy, small Solar System body that, when passing close to the Sun, warms and begins to release gases, a process that is called outgassing. This produces a visible atmosphere or coma, and sometimes also a tail. These phenomena ar ...
model, the
push technology Push technology or server push is a style of Internet-based communication where the request for a given transaction is initiated by the publisher or central server. It is contrasted with pull/get, where the request for the transmission of informat ...
paradigm, and the
real-time web The real-time web is a computer network, 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 periodicall ...
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 The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
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. The user launched the Java applet from a ...
. The application domain driving most of the interest in push technology at that time was
market data ''For market data as used in marketing, see marketing information system'' 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 an ...
distribution for the
financial services Financial services are the Service (economics), economic services provided by the finance industry, which encompasses a broad range of businesses that manage money, including credit unions, banks, credit-card companies, insurance companies, acco ...
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 agency of the US federal government responsible for the civil space program, aeronautics research, and space research. NASA was established in 1958, succeeding t ...
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 full-duplex communication channels over a single TCP connection. The WebSocket protocol was standardized by the IETF as in 2011. The current API specification allowing web applications ...
,
Comet A comet is an icy, small Solar System body that, when passing close to the Sun, warms and begins to release gases, a process that is called outgassing. This produces a visible atmosphere or coma, and sometimes also a tail. These phenomena ar ...
, 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, publish–subscribe is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers, but instead categorize published me ...
, 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 * Swift Client API * iOS Client API * macOS Client API * tvOS Client API * watchOS Client API * Python 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 site

Online Lightstreamer demos


{{DEFAULTSORT:Lightstreamer Message-oriented middleware Push technology