Skip to end of metadata
Go to start of metadata

Smart Clients are one of the ways to deploy Solutions to end users.

A Smart Client is a native application, that gets launched from the Servoy Application Server using Java WebStart technology. The Smart Client installs itself on the client machine on first launch and from there onward will keep itself up to date, by checking for updates on each consecutive launch. 

A Solution running in a Smart Client has access to the local file system or local appliances, like printers attached to the machine on which the Smart Client runs. 

While the Smart Client caches itself and the solutions that it runs in binary format on the local machine for fast startup, it does not cache any user data in between sessions, but relies on a connection to the Servoy Application Server while running for data retrieval.

In This Chapter

Smart Client System Requirements

Servoy Smart Client
Windows Linux OS X
Intel Pentium or higher
256Mb RAM
50Mb Free diskspace
Java Standard Edition Runtime Environment 6.0 or higher
Intel Pentium or higher
256Mb RAM
50Mb Free diskspace
Java Standard Edition Runtime Environment 6.0 or higher
Intel CPU 1 Ghz or higher
256Mb RAM
50Mb Free diskspace
Mac OS X 10.4 or higher
Java Standard Edition Runtime Environment 6.0 or higher
Networking: TCP/IP

Network Settings

In order to be able to start and run Smart Clients the Application Server needs to be properly reachable from the machine on 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 Related Settings for more information.

Java Standard Edition Runtime Environment, Including Java Web Start

A Smart Client requires Java Standard Edition Runtime Environment (JRE) to operate and Java Web Start to launch. Java Web Start is included in Sun/Oracle's JRE distributions. On most machines, a JRE installation will be present by default.

The Application Server hosts a webpage that can be used to check if a valid JRE is installed on the cllient machine and if not, to automatically install it. This page can be accessed in the browser through the following url: {serverURL}/autoinstallvm.html. This autoinstallvm page is also linked from the Smart Client launch page ({serverURL}/index.html

The JRE can also be manually downloaded and installed. See Java Runtime for more information.

Installing Smart Clients

Smart Clients install themselves on first launch. 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 if a new version is available.

Smart Client launch by accessing the relevant URL on the Application Server (see Starting Smart Clients below). 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.

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 Client side settings through the Java Control Panel for more information on the client-side Java WebStart settings and Servoy Application Server configuration related to Smart Clients for more information on the Application Server settings.

Removing Smart Client Installations

Smart Clients are launched via Java WebStart installed on the client machine. Java WebStart caches every application that it launches. This cache can e viewed through the Java Control Panel or the cache viewer can be opened directly from the commandline using the following command:

javaws -viewer 

For more information on the Java control Panel, see Client side settings through the Java Control Panel

Starting Smart Clients

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

Servoy Smart Client can also be started 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. 

Smart Client Start URL

What is does



Opens a Smart Client and shows the 'Select Solution' dialog.

The 'Select Solution' dialog will not be displayed if solution browsing is disabled, see Solution browsing. In this case the user will not be able to open a solution.


Opens a Smart Client and launches the specified solution



Opens a Smart Client and launches the specified solution. The argument value is passed into the Solutions onOpen event handler.



The same as the previous scenario, but with additional custom keys for additional arguments



Opens a new Smart Client OR activates an already running Smart Client.

Activation of an existing Client is only possible when enabled, see Deeplinking into existing Smart Client for more info. 

In case of activating an existing Smart Client, the specified deeplink method will be fired. 
In case of a new Smart Client, the deeplink method will be fired once the onOpen event handler of the solution has fired


The same as the previous scenario, but specifying a single value to be passed as an argument into the onOpen event handler and deeplink method



The same as the previous scenario, but with additional custom keys for additional arguments


Short vs. long syntax

The urls above use the short syntax. Instead of using the short syntax, the following mapping allows using the longer syntax:

  • ss > solutions (Web Client only)
  • s > solution (Web Client only)
  • m > method
  • a > argument

Solution Browsing

By default, when using the first option above to launch a Servoy Smart Client (or through the default web page for starting Smart Clients mentioned earlier), when the Smart Client is started, the user will be presented with a list of all available solutions. Through the servoy.allowSolutionBrowsing option under Solution Settings on the Admin page of the Application Server, this dialog can be disabled. When disabled, the deeplink options that specify the solution must be used or else the user is presented with a Smart client without an option to start a solution.

Servoy provides the ability to execute a method in an already running Smart Client using the standard Smart Client start url's, if the url contains a deeplink method ('&m={methodName}'). In order for a deeplink into an existing Smart Client to work, the following conditions need to be met:

  • The servoy.allowExistingClientActivate setting on the Admin page needs to be set to true
  • The already running Smart Client needs to be started using a URL
  • The deeplink url to activate the already running Smart Client needs to be handled through the same browser/application with which the already running Smart Client was launched 
  • The browser/application used to handle the deeplink url/launch the already running Smart Client must support Cookies
  • The deeplink url must contain a deeplink method: '&m={methodName}'

If any of these conditions are not met, the deeplink will result in the opening of a new Smart Client


The deeplinking into an existing Smart Client is partly based on browser cookies. When starting the Smart Client from, for example a desktop shortcut, while deeplink from within an email in a mail client, it can happen that the first deeplink from the mail client opens a new Smart Client anyway. A possible workaround for this is added '?x=x' to the shortcut's URL, like {serverURL}/servoy-client/{mySolutionName}.jnlp?x=x


The Admin page of the Servoy Application Server exposes several settings that determine how the Smart Client communicates with the Application Server. As it can happen that one (group of) Smart client(s) requires different settings than other Smart Clients, the Application Server supports so-called Profiles.

Profiles, identified by a unique name, can contain one or more settings relevant to the Smart Client. The values for settings specified in a Profile override the value for those settings set on Application server level, when the Smart Client is connecting to the Application Server through the Profile.

In order for a Smart Clients to connect to the Application Server using a particular profile, the Profile name needs to be added to the URLs mentioned above. For example:

Smart Client Start URL

What is does


Opens a Smart Client and launches the specified solution, while using the settings provided in the specified Profile

For more information on Profiles and an overview of which settings can be controlled through them, see Profiles.

Servoy Application Server Configuration Related to Smart Clients

The Smart Client related settings are exposed through the Servoy Admin page, in several locations:




Network connection settings

Network Settings page

For more information on the Network configuration for Smart Clients see Network Related Settings


Profiles page

For more information on Profiles see Profiles

Smart Client Settings

Servoy Server home > Smart Client Settings

Settings related to desktop shortcut creation, default Look and Feel, allow activation etc.

Memory/Performance Settings

Servoy Server home > Memory/Performance Settings

Several settings related to memory settings for the Smart Client. For more information see Smart Client Memory Management


Servoy Server home > Branding

For more information on Branding see Branding

Locale Settings

Servoy Server home > Locale Settings

Several settings related to localization. 

Solution Settings

Servoy Server home > Solution Settings

Provides to option to disable Solution browsing by the user

Client Side Settings Through the Java Control Panel

A Sun/Oracle JRE installation can be configured and managed through the Java Control Panel. How to access the Java Control Panel differs per (version of) Operating System, for example:

  • Windows: Start > Settings > Control Panel > Java
  • OSX: Applications > Utilities > Java Preferences
  • Linux (Ubuntu): System > Preferences > Java

The Java Control Panel provides functionality to manage and configure a JRE installation, configure several settings related to Java WebStart and gives access to the installed application through Java WebStart 




Shortcut creation

Advanced > Settings > Shortcut Creation

While the Servoy Application Server has a setting which determines if Servoy tries to create a shortcut on the user's desktop when launching a Smart Client, the Java WebStart configuration allows the user to configure if WebStart applications are allowed to do so

Network settings

General > Network Settings > Network Settings

Allows the configuration how the Java WebStart application accesses the internet

Java Console

Advanced > Settings > Java console

Opens an additional logging window when a Java Webstart application is launched

Temporary Internet files

General > Temporary Internet Files > Settings

Here the location where the Java WebStart cache is stored can be configured

Logging & tracing

Advanced > Settings > Debugging

Exposes the ability to enable tracing and logging. The tracing output will appear in the Java console and also in the log if Logging is enabled

Managing installed applications

General > Temporary Internet Files > View

Shows all the applications that are installed in Java WebStart and allows the applications to be removed

Smart Client Footprint

A Smart Client has a very small footprint on the client machine. For startup performance reasons, both the Smart Client libraries as well as the Servoy Solution binaries are cached.




Java WebStart cache

Depends on the configuration ()

The cache of all libraries and resources downloaded by Java WebStart

Servoy cache

.server directory in the user's home directory

Contains the cached solutions, i18n-messages and client settings

  • No labels