Solutions created with the Servoy platform can deployed to users either though a client-server architecture with a central Servoy Application Server or can be installed locally using the Servoy Runtime Client.
The majority (>98%) of all deployments use the client-server architecture.
In This Chapter
Servoy client-server deployment architecture consists of the Servoy Application Server and the Smart , Web and NG Client.
Besides the aforementioned Smart ,Web and NG Client, there is also the Headless and BatchProcessor Client, both of which operate headlessly on the Servoy Application Server
The Servoy Application Server is the central hub in the client-server architecture:
Solutions can be run in one of the available clients.
The Smart Client is a native desktop client, that runs on the user's machine and interacts with the Servoy Application Server to retrieve and send data
The Smart Client install itself when launched for the first time and on every consecutive launch will automatically update itself if a new version is available.
The NGClient is web based Servoy client technology, which depends on AngularJS framework for all form elements. It futher more depends heavily on the HTML5 specification and upcoming webcomponent specification. See NGClient deployment for more information
The Headless Client is, as the name suggests a headless client, meaning it does not have a User Interface. The Headless Client runs on the Servoy Application Server and can run a solution and expose both the business logic and data layer of the solution through a Java API.
As the client does not provide a UI, the client cannot be launched directly by a user, but only programatically.
The BatchProcessor Client is based on the Headless Client
Servoy NG Client: A browser based client, made on AngularJS and HTML5
Servoy Headless Client: A programmatic Java interface to the solution, to be used programatically expose and use both the business logic and datalayer defined in the solution
Servoy Batch Processor: A headless client that runs on the Servoy Application Server to perform tasks like batch processing, either periodically or when triggered by an external event.
The Servoy Application Server is available in two variations:
Servoy supports in basis 2 ways to deploy solutions:
Client Server deployment involves a centralised server which runs Servoy Server from which any of the Servoy clients can be launched. Although technically the same Client Server deployment can be implemented in three different ways:
On premises deployment typically means that the application server is located on the same premises as the users of an application.
Servoy wil run fine without the optimal configuration but with the configuration above there will be less cpu usage, less memory usage, better performance and less potential network issues
Servoy can also be deployed using SaaS. There are a couple of ways to do this:
Servoy supports the main three SaaS paradigms:
For SaaS deployment the server installation and management is identical to a normal installation.
Servoy can be deployed in most cloud computing environments. Essentially all you need is a database (this can be a third party or the included PostgreSQL database) and the possibility to run a Java process (Java 5 or higher, Java 6 recommended).
Servoy Server can then be installed on the server, either with the GUI installation (if a GUI is available) or command line. It is also possible to copy a directory of Servoy from one server to another. As there are some batch scripts it is recommended to only make copies between similar operating systems. Additionally if the included PostgreSQL database is used the binaries are not cross platform.
To increase availability or performance it is possible to use Servoy Cluster and combine multiple servers.
Servoy can be deployed in two ways for stand alone usage.
In this case a server is installed locally and a Smart or web client is deployed from that server to the local user
Using the Servoy Runtime builder a runtime is generated that contains a doubleclickable executable. No server installation is necessary and the folder in which the runtime resides is portable (it can be moved between different machines as long as they have the same host operating system)