Extending the Application Features
A generated application contains a set of projects which will be used to create the different application services.
They are organized as follows:
-
extensions-
backend-service-extension -
data-service-extension -
execution-service-extension -
gateway-service-extension -
scenario-service-extension
-
-
gene-model-
gene-model-dom -
gene-model-dto -
gene-model-jpa -
spec
-
-
gene-services-
backend-service -
data-service -
execution-service -
gateway-service -
scenario-service
-
-
processing-
checker -
engine -
python-engine
-
-
web -
workers-
checker-worker -
engine-worker -
python-engine-worker
-
This directory organization divides your code between libraries and executables (referred to as services). The gene-model, processing, and extensions directories contain the code of libraries; the gene-services, workers, and web contain the code of executables. The purpose of this split between libraries and executables is to allow you to unit test the code in your libraries without the overhead of a Spring-based microservices architecture.
The processing/engine and processing/checker libraries are associated with the workers/engine-worker and workers/checker-worker executables, respectively. The extensions/backend-service-extension library is associated with the gene-services/backend-service executable, etc.
This structure is provided as a starting point. You may feel the need to augment it. If you do, do not forget to update the settings.gradle file in the root folder of your application so that your changes are included in the build process.