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 ^

HOME >> TECHNOLOGY >> ARCHITECTURE