Using the Servoy Smart Client, solutions developed in Servoy can be distributed to end users.

Characteristics of a Smart Client

Servoy Smart Clients are launched and distributed from the Servoy Application Server using Java Web Start technology.

On first launch, the Java Web Start process will install the Smart Client in a cache on the client machine. On subsequent starts, the Java Web Start mechanism will check to see if the application is already cached and will start from the cache if available.

On start, it will validate the version in the cache with the version available on the Application Server and will automatically update when a new version is available.

While running, the Smart Client is connected to the Application Server to utilize the services provided by the Application Server, like database connectivity, datachange broadcasting, emailing and reporting for example.

Prerequisites

Network settings
In order to be able to start and run Smart Clients the Application Server needs to be properly reachable from the machine from which the Smart client is to be started. Depending on the network route from the client machine to the server, different configuration might need to be applied. See Network Settings for more information.

Java Standard Edition Runtime Environment version 5.0 or higher, including Java Web Start
A Smart Client requires Java Standard Edition Runtime Environment (JRE) version 5.0 or higher to operate and Java Web Start to launch. Java Web Start is included in JRE. On most machines, this will be included by default.

The Servoy installation contains a webpage that can be used to check if a valid JRE is installed and if not, to automatically install it. This page can be accessed in the browser through the following url: <serverUrl>/autoinstallvm.html

Installing Smart Clients

The Smart Client will automatically install itself the first time it is launched.

The first-time launch of a Smart Client is performed by accessing the the relevant URL on the Application Server (see #Starting Smart Clients). On initial launch, all required libraries will be automatically downloaded and locally cached by the Java Web Start process. The started solution will be cached by the Smart Client in the Servoy cache.

On subsequent launches, the Smart Client/solution will launch from the cache. On start it will check with the Application Server for new versions of libraries and or solutions and will download only these when available.

Desktop integration
The Smart Client can automatically integrate with the desktop of the client machine. Whether or not this happens depends on both client-side settings in the Java environment as well as server-side settings on the Application Server. See #Java Web Start for more information on the client-side Java settings and Smart Client Settings for more information on the Application Server settings.

Starting Smart Clients

Starting a Servoy Smart Client is done by accessing a URL on the Servoy Application Server. Depending on the configuration of the Servoy Application Server, an icon might be placed on the users desktop to start the application thereafter.

By default, the Servoy Application Server comes with a web page for starting Smart Clients. This web page also provides a link to check if a Java Standard Edition Runtime Environment is installed. This web page is located at <serverUrl>/index.html

<serverUrl>/servoy-client/servoy_client.jnlp
<serverUrl>/servoy-client/mySolutionName.jnlp
<serverUrl>/servoy-client/mySolutionName.jnlp?m=myMethodName
<serverUrl>/servoy-client/mySolutionName.jnlp?a=value
<serverUrl>/servoy-client/mySolutionName.jnlp?m=myMethodName&a=value
<serverUrl>/servoy-client/mySolutionName.jnlp?a=value&name1=value1&name2=value2
<serverUrl>/servoy-client/mySolutionName.jnlp?m=myMethodName&a=value&name1=value1&name2=value2

The Servoy Admin page exposes a couple of settings that influence the starting of Smart Clients:

Smart Client footprint

A Smart Client has a very small footprint on the client machine.
-.servoy directory in the user directory: contains cached solutions, i18n-messages and client settings
-.Java Web Start cache: contains the cached libraries for the Smart Client, beans & plugins

Java Web Start

Trouble shooting