Uniface Development Paradigm

Uniface application development is model-driven and component-based. When developing Uniface applications, you first model the application data and behavior as modeled objects, before constructing components based on the model.

The Uniface paradigm for developing enterprise applications is encapsulated by the phrase Model, Construct, Build, and Deploy.

  • Model abstract development objects that can be reused by other objects.
  • Construct application components that reuse and specialize the modeled objects.
  • Build the application into archive files of runtime objects and files.
  • Deploy application archive files into your testing or production environment.

Modeling and Construction

During modeling and construction, you use templates and modeled objects to create development objects, which are definitions for application data, components, libraries, menus, and other modules. These definitions are stored in a relational database, known as the Repository. (It is also possible to save and load development objects so they can be managed in a file-based source control system.)

Templates and modeled objects are abstract definitions that are copied or re-used in other objects. For more information, see Templates and Palettes and Modeled Objects.

Modeled entities are development objects that represent the application data and their default behavior. These can then be re-used by components, which inherit the properties and code defined in the entity. During component construction, you can override inherited definitions, and add component-specific behavior and characteristics. You can also define modeled objects for selected properties, which helps to improve productivity and enforce consistency when defining models. For more information, see Modeling the Application and Constructing Components and Other Objects.

In many of the development objects that you create during modeling and construction, you can script application processing and behavior. Uniface uses ProcScript for logic interpreted by the Uniface Virtual Machine, and JavaScript for logic interpreted by browsers. Both are defined from within the IDE.For more information, see Scripting Application Behavior and Uniface ProcScript.


During the build process, the development objects are compiled into runtime objects , ready for testing and deployment. Runtime objects comprise executable components, libraries, descriptors, and other resources required by the application. For more information, see Uniface Runtime Objects.

Uniface provides a pre-configured runtime environment for unit testing and debugging components and applications. The testing environment is a standalone version of a runtime environment, and features a Uniface Router, Uniface Server, and Apache Tomcat web application server. For more information, see Testing and Debugging.


The runtime objects generated at the end of the build process can be packaged into Uniface archive files (UARs) that are deployed into the Uniface runtime environment. Configuration files enable you to define the locations of application archives, databases, and other resources, and to set platform-specific defaults for application modules.

For more information, see Deploying Applications.

Related Topics