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 server
The GAS runs dispatcher and proxy processes to handle requests for applications and web services. In a production environment the GAS must be installed behind a web server. The GAS has dedicated dispatchers to support different web servers: fastcgidispatch is used for the Apache and Nginx web servers, and isapidispatch is used for IIS. There is also a standalone dispatcher, httpdispatch, that allows you to connect directly to a GAS without involving a web server. This connection is the typical method used during development when testing applications.
Important:

The standalone GAS is for development only; provided to simplify your development setup and configuration. For deployment and production systems, you must include a web server.

For information on configuring a GAS for a web server, see the Web Server configuration pages.
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 web application using the Genero Browser Client to a browser.
  1. A request to run an application is sent from the browser to the dispatcher.
  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 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 an application using the Genero Desktop Client.
  1. A request to run an application is sent to the dispatcher 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 display the application user interface on your system.

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.

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 display.