DataStream Plugin

OVERVIEW

The DataStream Plugin is a (non visible) component to take care of fast and reliable transfer of binary data between a Servoy Client and Server.

With the DataStream Plugin you can stream the data , that needs to be imported, direct into a specific record in your database.
Of course, you can also export the data by streaming to a location on the client file-system.
An additional set of functions will allow you to import and export data to and from the Servoy server file-system as well.

When importing and/or exporting large data loads the User Interface will block.
In many cases this is undersirable. An important feature of the DataStream Plugin is that it can prefent the User Interface from blocking. Should the User Interface block, alternatively, settings can be applied to specify that the transfers should block, forcing the user to wait until the transfer is complete.

Import and export without effect on the Servoy User Interface? 
All connections to the back-end database are provided by the Servoy server itself. By doing so there is no risk of interfering with the update notifications that Servoy does by default.
Apart from the above, the streams in both directions are plain http streams. Requests to import and export are standardized SQL queries. Both are managed by the Plugin.

Client feedback 
If configured (optionally, no need to do so), the user can be confronted with a progress dialog.
The dialog can be shown with or without history.

BENEFITS

  • When large data loads are sent between the Client and Server (via RMI) most failures can occur due to out-of-memory conditions (on both sides).
  • Streaming data between these 2 endpoints removes this risk since a small placeholder is re-used to the data. Therefore an out-of-memory condition is almost eliminated.

In short: every developer that needs import and export of larger loads of data can benefit from the DataStream Plugin.

COMPATIBILITY

Smart client Headless client Web client Mobile client NG client
8.0+ 1.6+
7.0+ 1.6+ n/a
6.1+ 1.6+ n/a n/a

DOCUMENTATION

We published our API Specifications for the DataStream Plug-in as a future and current reference.

After downloading the DataStream Plug-in using our Components Manager a sample solution {servoy_root}/solutions/it2be-examples/it2be-datastream.servoy is installed.
You can import the sample solution into Servoy Developer and you will have some (basic) code examples of how to use the DataStream Plug-in.

FAQ

When I open a streamed file in the callback method it sometimes is still busy. What can I do?

This is a know issue with the DataStream Plugin.
It can happen when you open the streamed file immediately after it was created, using the callback method.

The issue can be avoided by adding ‘application.sleep(500)’ (500ms sleep) before you open the file in the method.

I cannot use the Component with Servoy Developer or an Application Server.

Open the Servoy Administration Website (e.g. localhost:8080/servoy-admin/ for a default Servoy Developer installation). Move to ‘Servoy Server Home’ -> ‘Smart Client Settings’ and add it2be.DataStreamService to ‘servoy.application_server.trustedRemotePlugins’ (you can use a comma as separator).
This should allow the Component to work.

RELEASE NOTES



BUY NOW

Developer

$150

One developer & unlimited deployment

  • +35% p/y
    maintenance fee

Site

$330

Team of developers & unlimited deployment

  • +35% p/y
    maintenance fee