The following figure illustrates EGL compilation, which
is the process by which the EGL technology creates output from your
source code.
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:
- The EGL compiler acts as follows:
- Accepts the source code (file extension .egl).
- Validates the code for general syntax errors.
- 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.
- The EGL compiler invokes an EGL generator, which
acts as follows:
- Accepts the IR file, which must be error free.
- 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.
- 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.).
- 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:
- You write the EGL source code at development time.
- The EGL compiler creates the output written to IR files at compilation
time. and an EGL generator creates the output that is specific
to an EGL target platform at generation time. The phrase transformation
time refers to compilation and generation time as a single
duration.
- The EGL deployer configures the output for an EGL target platform
at internal-deployment time.
- The deployable output might be re-configured for the specific
runtime environment at external-deployment time.
- The business application runs on the target platform at run
time.