Generators for Business Capabilities¶
In this section you find documentation about the generator Capability
, which subsumes a bunch of generators that are capable of generating Java code for data-driven web applications and webservices. You can use this generator to build software systems that follow one of the following architectures:
- microservices
- monolith
- distributed monolith
The generator doesn’t force you into any of these architectures. It even serves you well, when you only need a persistence layer or a simple webservice. In the end it is kind of a swiss army knife.
The main modeling concept to create models to serve as input for the Capability
generator is capability. A modeled capability provides references to other model elements, for which code is going to be generated. Here you can find more information about the modeling of capabilities. The following picture shows a sample capability MyCapability
:
The benefits to use the Capability
generator instead of several individual generators are:
- You don’t need to think about the mapping between model files and generators. You simply use all of your model files as input for a single generator.
- The generator automatically finds out, in which software component a generated file has to be included
- You only need to set up and maintain one single generation project.
- You don’t have to keep generation options in sync accross multiple generation projects.
- You decide within the model itself, which parts of the model are being used for which parts of the generated software system.
The following table points you to the individual generators whose functionality is contained in the Capability
generator.
Generator | Purpose |
---|---|
JSF Application |
JSF web application |
JSF Web-Fragment |
JSF web pages, in a modular form, reusable in many different web applications |
EJB |
components that implement business logic and data conversion logic |
JPA |
persistence layer to store data in a relational database |
JAX-RS |
webservice implementations |
JAXB |
POJOs for the de/serialization of data for the JSON and XML formats |
Retrofit |
webservice client code |
Note
You need to set up your build configuration, e.g. maven pom files or Eclipse .project files, yourself. We plan to provide additional code generators that are capable of providing this automatically.