 |
 |
| lightstreamer
server |
Lightstreamer Server is the push/streaming engine, that handles the physical connections with the clients. It streams data through HTTP and HTTPS connections to any type of client (Web clients, application clients, etc.).

Lightstreamer Server is a stand-alone process, which does not
rely on web servers or application servers. This approach was taken in order to have direct control over the operating system's TCP/IP stack and to optimize the data transmission as much as possible. The Kernel of Lightstreamer Server has the task to distribute the data to the clients in a very reliable and efficient way, offering unique features like
Bandwidth & Frequency Control and
Adaptive Streaming. Please download our
White Paper to know more about these leading-edge technologies.Lightstreamer is based on native HTTP/HTTPS protocol
and implements many sophisticated mechanisms to pass through any firewall and proxy without the
risk of security policy blockages. |
| top ^ |
 |
 |
| lightstreamer adapters |
The Data Adapter is a plug-in module which interfaces Lightstreamer with the data source (or "feed") to be integrated. The Data Adapter receives a flow of data from the back-end systems (information provider, data feed, database, etc.) and makes it available to Lightstreamer Server for controlled delivery to individual users. The Data Adapter can use any technology to integrate with the data feed. However, if possible, it is preferable to use some technology that allows an asynchronous paradigm (such as message-oriented middleware: JMS, TIB/RV, MQ, etc.) in order to avoid a break with the asynchronous chain that goes from the feed to the user's browser. In any case, it is also possible to use polling techniques to refresh the data (e.g. reading from file or from database). |
| |
 |
 |
| |
The Metadata Adapter is a plug-in module which provides Lightstreamer Server with the
metadata of the push sessions. In particular, given that Lightstreamer Server interfaces directly with the Internet, the Metadata adapter is used to authenticate users. The Kernel therefore uses the Metadata Adapter to validate the credentials received. This Adapter also manages the description of the information categories handled, the push message schema, user bandwidth and frequency policies and any kind of information that does not consist of actual push data, but data of a higher level (i.e. metadata). |
| |
 |
 |
| |
The architecture of Lightstreamer makes it possible to handle an arbitrary number of different Data Adapters and Metadata Adapters. In this way, it is possible to integrate heterogeneous sources of information while maintaining a single point of access to the streaming/push channel. |
| |
 |
 |
| |
A Java API
is provided to develop Lightstreamer Adapters. In addition,
through the Adapter Remoting Infrastructure, a .NET
API is available too. |
| top ^ |
 |
 |
| lightstreamer deployment |
The following diagram shows a typical scenario in which the real-time data is being distributed to Web browsers.

A
Lightstreamer Server and a common Web Server are deployed in the
DMZ network. Lightstreamer gets the data and metadata from the back-end Servers that are protected by the second firewall. The Web browser gets the static Web pages as usual
from the Web Server, but it receives the real-time updates pushed
from Lightstreamer Server. See Technology – Client Side to read more about how the browser handles push updates.
Usually the Java Lightstreamer Adapters run in-process with
Lightstreamer Server. Nevertheless situation can exist where you
prefer or need to make the Adapters run in a different process
or on a different physical machine. For these cases and to allow
the development of Adapters based on technologies other than
Java, the Adapter Remoting Infrastructure (ARI) is
provided. Through ARI, Proxy Adapters
are provided and Remote Servers based on different
technologies can host the actual custom Adapters. Currently a
.NET Server is available. Other servers can be developed by
implementing the fully documented ARI network protocol. |
| |
 |
 |
| |
It is possible to create a cluster of Lightstreamer Servers by using a common Web load- balancing appliance. Clustering allows both scalability of the system and handles fail-over. If one of the Lightstreamer Server machines in the cluster fails, the clients try to reconnect with the cluster. At this point, the web load balancing system directs the new connections to another machine in the cluster, which will continue to serve the users in lieu of the machine that failed. The recovery is completely transparent to the client user
and the data coherency in guaranteed. |
| top ^ |
|
| |
|
 |
 |
| |
|
|
 |