| definitions |
License Type
Lightstreamer Moderato is available free of charge. Lightstreamer Allegro,
Presto and Vivace are commercial products.
Very High Scalability
Lightstreamer Server is a very scalable system, based on a staged
event-driven architecture and asynchronous I/O.
TCP-Level Optimization
Lightstreamer has direct control over the composition of the TCP packets.
Instead of delegating the aggregation of data in packets to the operating system
using the Nagle algorithm, Lightstreamer Server itself decides on each occasion
the optimum composition of each TCP packet, with the objective/trade-off of
reducing the delay time before data is dispatched as well as minimizing the
number of dispatched packets.
Clustering
Multiple instances of Lightstreamer Server can be clustered through a Web load
balancing appliance to guarantee load balancing and failover.
True Push/Streaming
True push/streaming means that the data are sent by the server to the client in
an asynchronous fashion. It is not up to the client to poll the server to know
if new data is available (except for when Stream-Sense switches to Smart Polling).
Stream-Sense and Smart Polling
If a client is connected through a network infrastructure that blocks any form
of streaming, then Lightstreamer is able to send the updates via a smart polling
mode. The Web Client of Lightstreamer automatically detects if streaming is not
supported (through the Stream-Sense feature) and in this case it switches to
smart polling mode.
AJAX Zero-Client Support
Lightstreamer makes it possible to stream real-time data to a Web application
that is purely based HTML and JavaScript, with no software installations and
downloads (no applets, no plug-ins, etc.). Many AJAX frameworks and toolkits can
take advantage of Lightstreamer to dynamically update their view.
Thick Client Support
Besides pushing data to Web Clients (thin applications based on HTML and
JavaScript), Lightstreamer Server implements a different network protocol that
is better suited for thick applications (i.e. non-JavaScript Clients). Thick
applications include Java Clients and .NET Clients.
Authentication and Fine-Grained User Permissioning
Lightstreamer supports user authentication and implements a very fine-grained
permissioning policy so that any user’s action can be validated through the
custom Metadata Adapter.
Secure Streaming
The ability to deliver data over a secure encrypted connection by using the
HTTPS protocol.
Max Frequency per Item (updates/second)
The maximum allowed update frequency for each subscribed item, expressed as
updates per second. For example, with the Presto Edition, in which such limit is
3, a session can subscribe to an arbitrary number of items (each item comprises
a set of fields that get updated in real-time, e.g. a stock quote). For each
item, the maximum update frequency of its set of fields is 3 updates per second.
So 3 updates per second is not the maximum update frequency of a whole page, but
just of each individual item contained in the page. More formally, the 3 update-per-second limitation can be expressed like this: two consecutive updates
for a certain item are always delivered at a minimum distance of 333
milliseconds, where each update can contain information for an arbitrary number
of fields for that item.
Max Concurrent Users
The maximum number of concurrent users (sessions) allowed by the Server.
Variable means that it depends on the license type. Site
Licenses limit the number of concurrent users based on the user packs that have
been purchased. Per-Server Licenses do not directly limit the number of
concurrent users but the number of server instances (and indirectly the number
of users, based on the hardware capacity and application load).
Frequency Control
A maximum update frequency can be allocated for each user/item combination. For
example, it is possible to configure the profile of a certain user so that they
do not receive more than 2 updates per second for a certain subscribed item
(piece of data).
Bandwidth Control
For each user a maximum bandwidth can be allocated, dedicated to the streaming
channel, For example, if it is required that a certain user cannot exceed a
bandwidth of 10 kbps, Lightstreamer will filter the data in such a way as to
ensure that the streaming connection for that user always remains below 10 kbps.
Adaptive Streaming and Congestion Control
Lightstreamer automatically detects situations of congestion on the Internet,
heuristically slowing down or suspending the dispatch of data until the
connection is again fully serviceable.
Heuristic Frequency Management for Web Clients
The Lightstreamer Web Client libraries (used to develop HTML clients) contain
heuristic algorithms that control the push frequency based on the CPU usage of
the client. If the client is very slow because its CPU is dedicated to other
tasks, the push frequency will be reduced accordingly.
Pre-Filtering
The pre-filter stage receives the data from the Data Adapter and lowers its
frequency before the Kernel processes it and dispatches it to the clients at the
final frequency. Filtering the data with two stages (stage 1: general filtering;
stage 2: per-user filtering) greatly improves the performance.
Multiple Subscription Modes (MERGE, DISTINCT, COMMAND, RAW)
Depending on the nature of the data and the type of application and client,
different subscription modes can be chosen to select the most appropriate
filtering algorithms. For more details about MERGE, DISTINCT, COMMAND and RAW
modes please refer to the White Paper or to Lightstreamer documentation.
Selector Mechanism, Event Customization, Backward Communication
For each update of each subscribed item destined to each user, a selector can be
applied to decide whether to send the update or discard it. Through the selector
mechanism, the same item can be subscribed by different users with different
views.
For each update of each subscribed item destined to each user, a transformation
of the values can be applied through custom code before delivering the event to
the client.
Clients can directly send messages to the Lightstreamer Metadata Adapter.
Support for Unicode Data Push
Unicode characters can be pushed from the Server to the Clients.
Server Installation As a Stand-Alone Process
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.
Flexible Adapter-Based Server Integration
By writing custom Adapters, Lightstreamer Server can be integrated with any kind
of back-end system. A Data Adapter connects Lightstreamer to some data feed. A
Metadata Adapter connects Lightstreamer to some authentication/authorization
system.
Basic HTML Monitoring Console
An HTML page embedded in Lightstreamer Server that displays real-time data about
the Server’s status.
JMX Manageability
Any JMX-compliant management console can communicate with the JMX agent included
in Lightstreamer Server to collect thorough data about the Server’s status and
to manage the Server.
Push Export of Server Statistics
The real-time status data available through the HTML Monitoring Console (that is
available on all the Editions) can also be exported through push channels to
feed monitoring clients.
SDK for Java Data Adapter and Metadata Adapter Development
To integrate Lightstreamer Server with the data and metadata sources, specific
Adapters must be written. An Adapter is developed by implementing simple Java
interfaces that are provided as part of this SDK.
SDK for .NET Data Adapter and Metadata Adapter Development
The .NET SDK (based on Adapter Remoting Infrastructure) allow to write Data and
Metadata Adapters using .NET languages instead of Java.
SDK for Adapter Remoting Infrastructure
Through the Adapter Remoting Infrastructure (ARI), Proxy Adapters are provided
that communicate with custom Remote Servers based on different technologies,
that in turn host the actual Lightstreamer Adapters. The Remote Servers can be
developed by directly implementing the fully documented ARI network protocol.
SDK for Web Client Development
Existing Web front-ends, including AJAX applications, can become
“Lightstreamer-enabled” by integrating the Lightstreamer Web Client JavaScript
libraries (provided as part of this SDK) with the existing pages. A very broad
browser compatibility is guaranteed.
SDK for Flash/Flex (JS Bridge) Client Development
This SDK includes an ActionScript/JavaScript bridge that enables any Flash or
Flex application based on ActionScript to receive live data from Lightstreamer
Server through the Lightstreamer Web Client.
SDK for Flash/Flex (Native
AS) Client Development
This SDK includes a native ActionScript library that enables any
Flex application to directly talk to Lightstreamer Server.
SDK for Java SE Client Development
In the case where the client is not a Web browser but a Java application, a Java
SE Client library is provided as part of this SDK. This library completely hides
the network protocol of Lightstreamer and offers a higher level of abstraction
to the developers that need to incorporate streaming data in their Java
applications.
SDK for Java ME Client Development
Two Client libraries for Java
Micro Edition are provided as part of this SDK to build midlets based on both
MIDP 1.0 and MIDP 2.0 This allows the developers to incorporate streaming data in their
mobile Java
applications.
SDK for .NET Client Development
To integrate Lightstreamer with a .NET client application, a .NET Client library
is provided as part of the SDK. As for the Java libraries, it implements the
Lightstreamer network protocol and provides simple methods and callbacks to
interact with Lightstreamer Server.
SDK for Generic Client Development
It is possible to develop Lightstreamer clients written with languages and
technologies other than JavaScript, ActionScript, Java, and .NET. In this case, it is
sufficient to implement, within the client, a management layer for the very simple
Lightstreamer network protocol, that is fully documented.
SDK for JMX Extensions
The API for the MBeans provided by Lightstreamer Kernel for JMX manageability.
Support & Maintenance
Support and Maintenance is available with an annual fee calculated as a
percentage of the List price for the Lightstreamer Licenses
purchased. |