JGAS overview

The Genero Application Server for Java (JGAS) is an implementation of the Genero Application Server (GAS) that is written in Java. It can be used for the development, testing, and deployment of applications.

This implementation performs the same functions as the GAS. Where it differs noticeably from the standard GAS is in its architecture and in terms of how it implements configuration and logging. In configuration it offers more flexibility with element order and schema validation, and it enhances the logging mechanism. See JGAS configuration file.

Using the JGAS

The JGAS is packaged as a separate Genero product. The fglgar tool, included in the FGLGWS installation, provides you with access to the JGAS and a means to package and deploy applications.
Note:

For more information on using fglgar, see the fglgar topic in the Genero Business Development Language User Guide.

The fglgar war command provides the ability to package a Genero archive (gar) file with your applications, and to include the JGAS implementation, the Genero Browser Client, and any additional files in a Java Web Archive (war) file. The war can be deployed in any existing Java Enterprise Edition (J2EE) container such as Apache Tomcat® (version 10 or greater), Jetty, or Glassfish and the applications can be run in a browser.

JGAS Architecture

The JGAS uses Java and is designed to run on the J2EE servlet. It differs from the standard GAS in the way it uses Web server resources such as sockets and memory in the handling of HTTP communication between the DVM and the front-end.

In the standard GAS when an application is started (for example by launching it from the browser or from the Genero Desktop Client), the communication passes through the following three stages of processing:
  1. The Web server receives an HTTP request that is forwarded to the GAS dispatcher.
  2. The GAS dispatcher forwards it to the proxy using sockets.
  3. The proxy sends the data to the DVM and handles any child VMs that may be started.

In the JGAS architecture those processes are similar except that proxies are not used between the DVM and the dispatcher. HTTP requests are processed internally and one socket per DVM is all that is required to maintain the communication.

JGAS offers the following advantages:
  • Less resources are consumed overall as less system processing is required.

  • There are no proxy processes running, and therefore no sockets are required between the proxy and the dispatcher.

  • Asynchronous management of requests allows the J2EE container to recycle worker threads instead of keeping them locked waiting for a response.

JGAS as standalone

The JGAS can not run standalone. For development environment testing, you need a separate GAS installation or a Java Enterprise Edition server (J2EE ), such as Apache Tomcat, Jetty, or Glassfish, to access your applications and services via a browser.