In This Chapter
As is the promise of Java, applications developed in Servoy can be deployed to all modern operating systems, including Windows, Mac, Linux, Solaris, etc. without the need to rewrite or recompile code.
Applications written in Servoy can also be deployed to any modern browser, including IE, Firefox, Safari, Opera, Chrome, etc. There is no need to rewrite or tweak an application to ensure a consistent experience across all browsers and no proprietary protocols or browser plug-ins are ever used.
Single Code Base
Servoy offers multipleclient options and any application developed in Servoy can be deployed to either client without the need for any rewrite.
Servoy is NOT a database. There are plenty great databases out there and Servoy can connect any modern (and even some that aren't so modern) relational (and even some that are not relational) Database
Servoy provides a powerful Application Server which brokers connections between clients and back-end resources. This architecture is far more favorable to the 2-tier architecture used by most 4GL tools, where clients connect directly to back-end databases. An application server offers the following advantages over a 2-tier setup.
- Greatly reduced load on the back-end databases.
- Increased performance
- Increased Scalability
- Increased Security
- Ability to operate over a WAN (Wide Area Network)
- Data Broadcasting: The ability for all clients to see real-time data changes, a feature unique to Servoy.
Servoy applications never have to be installed on the client machine.
Smart Client applications will download and install automatically using Java WebStart technology. In fact, developers can easily roll out new changes to users, with a single click to export a new build to the Application Server. The Application Server does NOT have to be restarted and connected clients do NOT have to be shutdown. Moreover, the Application Server supports versioning for roll-back, roll-forward capability.
Simply put: No Installation. No Maintenance.
This chapter provides an overview of the most important concepts in the Servoy patform
A Solution is a single application that can be run in any of the Servoy Clients. It contains forms, business logic and datalayer definitions.
A Module is solution that is contained within another Solution.
A Form is an object that provides a UI and/or contains business logic. The UI of a Form is built up of Form Parts, which in turn contain Elements.
An Abstract Form is a Form that does not implement any Form Parts and as such can not be shown to the user, but can contain business logic and can act as a Super Form for Child Forms
A Form that is used as a Parent for a Child Form through inheritance
Alias for Super Form
A Form that extends another Form through inheritance
Horizontal bands on the Form that together make up the vertical dimensions of a Form, like a header, body and footer.
The 'view' mode of the Form. There are three modes available:
A UI widget that can be placed on a Form, like a Field, button, Label or TabPanel for example
A Element that can contain another another Form, like a TabPanel or SplitPane
A UI widget that is not a core Element in Servoy, but a drop in extension to the built-in list of Elements
UI is short for User Interface. In Servoy a UI is provided by Forms with their Form Parts which contain Elements
A file object, usually images.
The library in which Media's are stored.
The mechanism of creating new Forms (Child Form) that extending existing Forms (Super or Parent Form).
The scripting language used in Servoy to write business logic
The virtual layer in the Solution where all the execution of business logic takes place
The predefined set of functions by Servoy to facilitate common actions, for example the API of all the datalayer components for easy datamanipulation
A drop-in extension to the Scripting API
A named property that can contain a value
The default top-level scripting scope inside a Solution or a Module.
The exposed objects in the Form scopes that are tied to columns and tables in the database.
A datasource is the identifier for an external source of tabular data, in most cases a table from a database.
A named property that contains data. The property can be tied to a element in the UI or can be interacted with in scripting.
A object from the datalayer that provides the link from one datasource to another, based on one or more matches between the dataproviders in the datasource and an operator
An object from the datalayer that is used in the UI to provide selection lists and translations of internal values to display values
A FoundSet is a represention of a datasource as an object in the Solution. Each record from the datasource is contained in the FoundSet as a Record, making the FoundSet a collection of Records.
A Record is a representation of a record in a datasource as an object in the Solution. Records are contained in FoundSets
A DataSet is an object with inmemory
A dataprovider on datasource level, who's value is calculated by business logic and is exposed as a dataprovider on each Record in Foundsets based on the datasource
A calculation that is not stored in the external source behind the datasource
A calculation that is stored in the external source behind the datasource. Calculations automatically become Stored Calculations if defined with the same name as one of the columns in the external source of data behind a datasource
A dataprovider that is an aggregation of a column in the datasource
The automated mechanism of Servoy to notify Servoy Clients that have data in memory to update their cache if the data was altered by another ServoyClient
The facility in Servoy to set a filter on a datasource, after which Servoy will automatically apply the filter to all interaction with that datasource
Designtime refers to everything the developer creates inside Servoy Developer that becomes part of the Solution. These are the Forms, the business logic written, the datalayer definitions etc.
Runtime refers to everything that happens while a Solution is running in a Servoy Client
The scripting API that allows developers to modify the design of the Solution at runtime
The mode in which a form can be set that allows user to resize and rearrange the Elements on the Form
The act of and tools for adding multi language and multi timezone support to a Solutions
Short for Internationalization
A native Servoy Client that automatically installs and updated itself on the client machine
A browser based, fully Ajax aware Servoy Client, that executes all it's business logic on the Servoy Application Server, while rendering the UI using just HTML and CSS in a browserNG
A Servoy Client that has no UI attached to it and runs on the Application Server and provides a Java API for interacting with all the business logic and forms contained in the Solution it runs
A Headless Client that is configured on the Servoy Application Server to automatically start when the Application Server is launched