|HOME >> TECHNOLOGY >> ARCHITECTURE|
|Lightstreamer Server||Lightstreamer Server is
a real-time engine that delivers real-time data over HTTP and WebSockets to/from any types of clients (HTML pages, native mobile applications, desktop applications, etc.).
Lightstreamer implements many sophisticated mechanisms to pass through any firewall and proxy without the risk of security policy blockages.
In addition, Lightstreamer supports native push notifications for the Android clients (based on Android GCM) and the iOS clients (based on Apple APNs).
|Lightstreamer Adapters||When a Client
creates a Lightstreamer session, it can specify an Adapter
Set to use. An Adapter Set is made up of a Metadata Adapter
and one or multiple Data Adapters. An Adapter is a custom
server-side component developed by implementing some provided
interfaces (based on Java API, .NET API, Node.js API, or on
plain TCP sockets through the Adapter Remoting
The role of a Metadata Adapter is to manage the policies applied to a user's session. It validates the authentication credentials sent by the Client and enforces the appropriate quality of service (in terms of allocated bandwidth and frequency). It validates each subscription request to decide whether the user is entitled to subscribe to a certain item or not.
Each Data Adapter is a connector that interfaces Lightstreamer Server with a data source. The Data Adapter receives data flows from any back-end systems (information providers, data feeds, databases, etc.) and makes them available to Lightstreamer Server for controlled delivery to individual users.
Being able to handle an arbitrary number of different Data Adapters and Metadata Adapters (grouped into Adapter Sets), it is possible to integrate heterogeneous sources of information while maintaining a single point of access to the streaming/push channel.
|Lightstreamer Deployment||The following diagram shows a typical scenario in which the real-time data is distributed to Web browsers.
|It is possible to create a cluster of Lightstreamer Servers by using any Web load-balancing appliance, in order to achieve load-balancing and fail-over. If one of the machines in the cluster fails, the clients will reconnect to another machine. The recovery is transparent to the users, while full data coherency is maintained.|