Child pages
  • Servoy Design Principles
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Servoy is both a Rapid Application Development (RAD) tool and a deployment platform, designed and build to create rich, data centric applications, that can be securely deployed over the internet or locally to any platform with as little code and effort as possible.

Using industry standard components and protocols, Servoy offers a scalable, secure and stable enterprise-level computing platform, while at the same time offering unparalleled developer productivity.

Servoy's unique architecture provides developers with a single solution to create applications that, from a single codebase, can be deployed on any platform, on many different devices, in whatever deployment model one chooses, supporting different databases and multiple languages at the same time.

The Integrated Development Environment (IDE) of Servoy, Servoy Developer, allows developers to focus on creating the required functionality to solve business requirements in the most efficient way possible.

Servoy Design Principles

The Servoy platform is built around the following principles:

Scalable, Secure & Stable

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

Out of the box productivity:
Servoy brings 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:
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:

Modular & Object oriented development:

Database, platform and device agnostic development:

Backwards compatibility:

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.

Multi client:
An application developed in Servoy can be run using one or more of the different types of clients that Servoy offers:

  • Servoy Smart Client: a native client
  • Servoy Web Client: a browser-based, 100% HTML, CSS & JavaScript client
  • Servoy Headless Client: a server-side client, without UI that exposes all business logic of the application programatically
  • Servoy Batch-processor Client: a server-side client to automate tasks in the background
  • Servoy Runtime Client: .....

While each client has it's specific pro's and con's,  

Cross device:
Through the different clients that Servoy offers, applications built using the Servoy technology can run on a multitude of devices, including tablets, desktops, laptops and mobile phones.

Database agnostic:
Servoy is not a database, as there are a plethora of excellent database engines out there, both commercial and free. Servoy can connect to any database that supports the JDBC protocol, which nowadays it nearly any database. Servoy comes bundled with PostgreSQL, an open source and free database, but, as Servoy can connect to any database, it's not mandatory to use PostgreSQL.

Due to Servoy's incorporated ORM (Object Relational Mapping) layer that provides an easy to use API for all interaction between the actual implementation of the data-layer (database x, y or z) and the application, any application created with Servoy is out of the box database agnostic, meaning that it can be deployed on any database.

The ORM layer exposes the components of the data-layer of the application as objects with an easy to use API for interaction (standard CRUD operations and more) and allows for easy linking of UI elements like fields and grids to the data-layer, eliminating the need for manually writing SQL statements. 

Transactions, locking, SP's, cross database joins

Deployment model agnostic:
Whether in the Cloud (public or private) or on Premises, whether in Client-Server or stand-alone setup, whether single or multi-tenant (SaaS ), Servoy supports all these deployment models out of the box. The development of applications in Servoy is to a great extend agnostic to the deployment model and where differentiation is needed (for example single vs. multi-tenant) this differentiation can be incorporated within the same code-base. 

Built-in Localization support:

Easy deployment

Zero installation
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. 

Auto update:

Remote management:

Built-in versioning:

Standards based
Open and extend able

Open source:

Native plugin API:

Extensive public API:

Feature Highlights

  • One solution > multiple clients
  • Internationalization & localization support
  • Built-in support for all SaaS implementation modela
  • Automatic data binding
  • WYSIWYG UI Design
  • Scripting layer for business logic
  • Fully event driven
  • Inheritance, re-use & templating
  • Extensive, multi layer styling control
  • Built-in Security
  • Built-in Audit trail
  • Drag 'n Drop support

Architecture

client server

repository model

  • No labels