What is the Genero Application Server?

The Genero Application Server (GAS) is an engine that delivers Genero applications for various Genero front-ends in both development and production environments.

A brief summary of some of GAS features are described:

Manages Communication between front-end and DVM
The GAS creates relationships between various front-ends and the Dynamic Virtual Machines (DVMs) which run the applications.
Embeds a Web Server
A Web server to handle requests from the Internet is embedded in the GAS. It includes dispatcher and proxy processes. Communication between the Web server and the GAS is handled by dispatchers.
Simplifies Application Deployment
The GAS simplifies the deployment phase by taking care of the connection to the applications. For web-type applications no software installation or configuration is needed on the client; only a browser is required to access the application.
Controls Interaction between DVM and front-ends
The GAS supports the development of Genero Business Development Language (BDL) applications on a single source code stream that can be run on both a browser or on a desktop. If the same application is delivered to either the Genero Browser Client (GBC) or the Genero Desktop Client (GDC), the GAS handles the communication with the DVM through its proxy and dispatcher components in much the same way. See the examples, GAS role in GBC application delivery and GAS role in GDC application delivery.
Provides Genero Web Services (GWS) for clients
The GAS can also be configured to provide Genero Web Services (GWS) for clients. GWS DVMs are managed in a pool by the GAS to provide resources to clients when requested. See the example GAS role in GWS.

GAS role in GBC application delivery

The GBC front-end allows users to run applications from their browser. The following describes the processes involved, highlighting the role of the GAS and its components as it delivers an application to the browser.
Figure: GBC Application Delivery

The figure shows the function of the GAS in delivering a GBC application to a browser.
  1. A request is sent to the dispatcher to run the application from the browser.
  2. The dispatcher checks the application configuration in the configuration files (xcf, xrd) and routes the request to the required proxy.
  3. The proxy starts a DVM using configuration files and runs the application.
  4. The DVM returns an Abstract User Interface (AUI) tree describing the objects of the user interface and sends rendering instructions to the proxy.
  5. The client browser interprets the DVM instructions and builds the Web interfaces from widget components that are defined by Cascading Style Sheets (CSS), JavaScript, and HTML code to provide the dynamic behavior for the application.

GAS role in GDC application delivery

The GDC front-end allows you to run applications locally using native screens on your Windows®, Linux®, or macOS™ for user interaction. The following example highlights the role of the GAS and its components as a GDC application starts up.
Figure: GDC application delivery

The figure shows the function of the GAS in delivering a GDC application.
  1. A request is sent to the dispatcher to run the application from the GDC.
  2. The dispatcher checks the application configuration in the configuration files (xcf, xrd) and routes the request to the required proxy.
  3. The proxy starts a DVM using configuration files and runs the application.
  4. The DVM returns an Abstract User Interface (AUI) tree describing the objects of the user interface and sends rendering instructions to the proxy.
  5. The GDC interprets the DVM instructions and AUI tree to create the screens natively on your system so as to provide the user interface.

GAS role in GWS

The GAS allows you to provide Web services to clients. Web services configured on your GAS installation are started automatically when the GAS starts and services listen for requests from clients. For more information on Web services, see What is Web Service?.

The following example highlights the role of the GAS and its components in exposing a Web service to a client that requests the functions of its services over the internet via the hypertext transfer protocol (HTTP).
Figure: GWS Server/Client

The figure shows the role the GAS plays in providing a Web service to a client.
  1. An HTTP request to perform a function of the Web service is sent to the dispatcher from the client.
  2. The dispatcher checks the application configuration in the configuration files (xcf, xrd) and routes the request to the GWS proxy.
  3. The GWSProxy is in charge of the pool of DVMs that will serve the Web service application, and perform the requested functions.
  4. The DVM returns a HTTP response with requested data, and response codes to indicate success or failure.
  5. The client interprets the HTTP response instructions and processes the returned data, for example, for display.