Child pages
  • Servoy Design Principles

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Servoy platform is designed from the ground up to provide a scalable, secure and stable platform. Servoy builds on proven industry standards that are combined together and made easy to use. It provides out of the box clustering support, database connection pooling and active data management

tiers

databroadcasting

two tier security; datalayer, Ui layer

built-in audit trail

Agile development

Wiki Markup
_Out of the box productivity_:
Servoy brings [4GL|http://en.wikipedia.org/wiki/4GL]\-like productivity, without the usual limitations that come with 4GL. From a \[single codebase\|Single codebase\] solutions can be deployed on any platform, any database, on any device and in the deployment model of your choice. Features like Security, ... are built in, though fully configurable

WYSIWYG UI Design:.

Using a multi-tiered setup, it provides separation of concern and unparalleled scalability. 

Agile development

Out of the box productivity:
Servoy's aim is to bring 4GL-like productivity, without the usual limitations that come with 4GL. From a single codebase, applications can be deployed on any platform, any database, on any device and in the deployment model of your choice, without having to write specific code or making special builds.

Features like Security, Audit Trails, Internationalization are built in, though fully configurable.

Servoy defines a lot of behavior out of the box, but also provides the developers with the means to override the default behavior to fit their needs.

Client, Database, platform and device agnostic development

When developing a solution with Servoy, it will out of the box run in all Servoy Clients (Smart Client, Web Client, Headless Client and Batch processor), can be deployed on any platform, connected to any database and in any deployment model one chooses. 

Servoy's built-in datalayer through which all the interaction with database is done will make sure that a Solution will run on any database. For example, during development the developers can use the bundled PostgreSQL, while during deployment at Customer A the Solution is ran on Oracle 8, at Customer B on Oracle 11 and at Customer C on MySQL.

Solutions developed with servoy will be deployed to end-users through either the Servoy Smart Client or the Servoy Web Client. The Servoy Web Client runs in all modern browsers on any platform and the Servoy Smart Client uses Java WebStart technology to deploy the Smart Client to Windows, OSX, Linux or any other Unix variation.

WYSIWYG UI Design
The Servoy Developer IDE comes with a full-featured, What You See Is What You Get User Interface designer, to visually create UI's. 

Data-centric development/Automatic databinding:

The Servoy platform included an ORM 

Business Logic scripting:

Extensive built-in scripting library:

Instant Developer feedback:a ORM that exposes records and tables from the database as Objects within the Solution, with a extensive API for manipulating the data without having to write any SQL statement. The exposed Objects (called FoundSets and Records) expose the columns as so-called dataproviders which can be bound to the UI by simply setting the dataprovider property on the UI element. Servoy will automatically keep the UI, the datalayer inside Servoy and the backend database in sync.

Business Logic scripting

Business Logic in Servoy is written in the world most used programming language, JavaScript. Servoy provides all the tools to make writing JavaScript a breeze: a full featured debugger inside the Servoy Developer IDE, designtime code validation, full refactoring support, code formatting, code completion (also known as IntelliSense or autocompletion), extensive built-in scripting library for all common actions, with samplecode on each function etc.

Instant Developer feedback

While developing Solutions with Servoy, debug clients can be started from the Servoy Developer IDE to instantly run and test the code or start a debug session. More importantly, any changes made to the design of the Solution are instantly broadcasted to the connected debug clients. so, without having to restart the debug client or having to go through a compilation cycle, the changes can be seen/tested straight away

Modular & Object oriented development:

Database, platform and device agnostic development:

Backwards compatibility:

Solutions can be built, maintained and versioned in modular fashion. A Solution can be used as a module in another solution, building a entire tree of modules, that together make up the end solution.

Besides modular development, Servoy also supports inheritance within the Solution. 

And finally a UI, called a Form in Servoy, is an object that can be reused in different locations and nested into other Forms using so-called container elements like TabPanels and SplitPanes 

Backwards compatibility

New Servoy version are always backwards compatible: take a Solution developed with Servoy 2.2 and import it on Servoy 6.0 and it will just work!

A new version might provide new and improved ways to do things, but old functionality is deprecated, never removed. 

Single codebase

Cross platform:
Application built on the Servoy platform can be deployed to all modern operating systems, including windows, Mac, Linux, Solaris etc., without the need to write or compile platform specific code.

...

Built-in Localization support:

Easy deployment

Zero installation:install Clients 
Servoy applications do not have to be installed on the client machine.

In case of the Servoy Smart Client, the application will automatically download and install itself, by accessing just a URL on the Servoy Application Server from the client machine.

In case of a Servoy Web Client, just accessing a URL on the Servoy Application Server will launch the application. 

Remote management

The Servoy Application Server hosts the Servoy Admin page: a web-based portal to administer the Servoy Application Server remotely

Auto update

Rolling out a new version of a Solution with Servoy is a breeze:

Remote management:

Built-in versioning:

...

From Servoy Developer an export is made of the Solution, which is then imported through the Admin page of the Application Server, after which the new version is available.

By default, on import on the Servoy Application Server Servoy will update the datamodel to the version required for the new version of the Solution, but like with all things, the default behavior can be overridden by the developer to create their own mechanism.  

The Servoy Smart Client will automatically update itself on launch when it detects that there is a new version available on the Servoy Application Server. The Web Client is launched on the Servoy so will also always automatically runt he latest version 

Built-in versioning

Each version of a Solution that is imported on an application Server is recorded and can be rolled back with the click of a button through the Admin page

Standards based

Servoy tries hard to not invent the wheel, but

Open and extend able

Open source:

...