20. Requirements regarding the Composition of Applications

20.1. Context and Problem Statement

We want to have clear and simple requirements when it comes to the way applications can be created in the user interface.

20.2. Decision Drivers

  • MUST be compatible with Lombok

20.3. Considered Options

  • Applications cannot be composed out of other applications. Applications can only be created using single services.
  • Applications can be part of other (new) applications. Therefore inheritance between MicoApplication and MicoService is necessary. This would mean difficulties with Lombok.

20.4. Decision Outcome

Chosen option: the first option, since we want a simple solution, in order to have the system running as soon as possible.

20.4.1. Positive Consequences

  • Lombok can be used.
  • Better code quality.

20.4.2. Negative consequences

  • Applications cannot be created using other existing applications.