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, andisapidispatch
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. - 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.
- A request to run an application is sent from the browser to the dispatcher.
- The dispatcher checks the application configuration in the configuration files (xcf, xrd) and routes the request to the required proxy.
- The proxy starts a DVM using configuration files and runs the application.
- The DVM returns an Abstract User Interface (AUI) tree describing the objects of the user interface and sends rendering instructions to the proxy.
- 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.
- A request to run an application is sent to the dispatcher from the GDC.
- The dispatcher checks the application configuration in the configuration files (xcf, xrd) and routes the request to the required proxy.
- The proxy starts a DVM using configuration files and runs the application.
- The DVM returns an Abstract User Interface (AUI) tree describing the objects of the user interface and sends rendering instructions to the proxy.
- 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. 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).
- An HTTP request to perform a function of the Web service is sent to the dispatcher from the client.
- The dispatcher checks the application configuration in the configuration files (xcf, xrd) and routes the request to the GWS proxy.
- The GWSProxy is in charge of the pool of DVMs that will serve the Web service application, and perform the requested functions.
- The DVM returns a HTTP response with requested data, and response codes to indicate success or failure.
- The client interprets the HTTP response instructions and processes the returned data for display.