EGL process from development to run time

The following figure illustrates EGL compilation, which is the process by which the EGL technology creates output from your source code.



EGL compilation


The developer's task is threefold: first, to write and test source code, which includes the build step illustrated in the figure, although that step is typically automatic; second, to generate and prepare the code for external deployment; and third, to install the code on one or another platform.

Here is an overview of the technological process:
  1. The EGL compiler acts as follows:
    1. Accepts the source code (file extension .egl).
    2. Validates the code for general syntax errors.
    3. Compiles the code into an intermediate representation of the logic.

    The compiled output is serialized and written to an output file. The compilation and output is called an EGL build, and the output files are called an intermediate representation (IR) file (extension .ir). In almost every case, the IR file is written even if it includes errors.

  2. The EGL compiler invokes an EGL generator, which acts as follows:
    1. Accepts the IR file, which must be error free.
    2. Scans the intermediate representation and determines whether a generation is possible and valid.

      This scan is called pre-generation. It determines whether the IR fulfills the rules of the EGL target system, which is the operating environment where the logic ultimately runs; for example, a Windows platform.

    3. Generates output on the condition that no errors were found during the pre-generation.

    The generated output is JavaScript or Java (tm) source code. COBOL generation of various kinds is available in commercial EGL extensions.

    You control generation primarily by defining the build file, which is an XML file identified by the extension .eglbld. (This aspect of the technology is under review.).

  3. If generation succeeds, the generated output can become an input to an EGL deployer, which readies the generated output for deployment on an EGL target platform.

    You invoke the deployer after configuring the EGL deployment descriptor, which is an XML file identified by the extension .egldd. The EGL deployment descriptor controls aspects of service deployment, JavaScript deployment, and access of external services.

    Note: The EGL deployment descriptor is different from the Java Platform, Enterprise Edition (JEE) deployment descriptors, which are web.xml (for WAR files) and application.xml (for EAR files).
EGL documentation refers to several stages: