Extensions

Extensions are features which provide additional capabilities during modeling and code generation. They can be enabled and disabled within a service project.

Usually, the use case to implement within the service is determining the set of enabled extensions. As some extensions come with dependencies, e.g. a specific database or external services like Apache Kafka, you have the option to disable those dependecies that are not needed for your use case.

Note:

The chosen stack of the service project provides different extensions.

Project types and extensions

When creating a project from scratch, the project types give you a good starting point for your service development. Each of the types comes with a set of default enabled extensions.

Service project type (stack)Extensions enabled with creationNotes
Domain Service (NodeJS TypeScript)Aggregate persistence support API modelling, Business event support, Domain modelling, Integration modeling, Unit testing support, Swagger UI supportThe extensions cannot be disabled
Domain Service (Java Spring Boot 2.0)Aggregate persistence support, API modelling, Business event support, Domain modelling, Integration modeling, Unit testing support, Swagger UI support
Generic Service (NodeJS TypeScript)---No extensions available
Generic Service (Java Spring Boot 2.0)No extensions enabled
Generic Service (NodeJS JavaScript)---No extensions available

Enabling and disabling extensions

You can find all extensions of your project under the tab Extensions of the Project overview. Here, it is also possible to enable and disable extensions and set additional configurations via the Edit extensions button. Extensions can be enabled and disabled at any time, which provides full flexibility during service development.

Note:

An extension cannot be disabled if it is already in use. Potential artifacts using a particular extension have to be deleted beforehand.