DataStream Plug-in

Transfer of binary data between a Servoy Client and Server.

home Introduction
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.
lightbulb_outline 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.
swap_vertical_circle Compatibility
Smart client Headless client Web client Mobile client NG client
8.0+ 1.6+ check remove remove remove remove check check check
7.0+ 1.6+ check remove remove remove n/a check check check
6.1+ 1.6+ check remove remove n/a n/a check check check
code How to Use
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.
bookmark 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.

description Release Notes
shop Buy Now
Developer
License
€ 150,00
One developer
&
unlimited deployment
€ 40,00 p/y
maintenance fee
Site
License
€ 330,00
Team of developers
&
unlimited deployment
€ 85,00 p/y
maintenance fee
Upgrade
License
€ 205,00
You already have a Single Developer license
€ 85,00 p/y
maintenance fee
Source
License
discuss
When you want to have access to the source code
not applicable