Project Types
System Architecture Design project type
When selecting the System Architecture Design stack, your project will include a modeling tool for creating and maintaining diagrams. Furthermore, you can create, maintain and link decisions surrounding your architecture, and manage your model elements.
Service project types
The following service projects are currently available:
- Domain Service based on NodeJS TypeScript
- Domain Service based on Java Spring Boot
- Integration Service based on Java Spring Boot
- Generic Service based on NodeJS TypeScript
- Generic Service based on NodeJS JavaScript
- Generic Service based on Java Spring Boot
Extensions
Extensions are features which provide additional capabilities during modeling and code generation. They can be enabled and disabled within a project. For more information about extensions see 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 by default upon creation | Notes |
---|---|---|
Domain Service (NodeJS TypeScript) | Aggregate persistence support API modelling, Business event support, Domain modelling, Integration modeling, Unit testing support, Swagger UI support | The 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 by default | |
Generic Service (NodeJS JavaScript) | --- | No extensions available |
List of available extensions
Extension | Description |
---|---|
Aggregate Persistence Support | Model and implement your entities and simply store them in a database. For Java Spring Boot "MongoDB" or "RMDB" are available. For TypeScript only "MongoDB" is currently supported. |
Business Event Support | Send business events via Kafka and react on them with EventAgents. |
Distributed Tracing Support | Support for tracing user requests end-to-end across microservices. |
JWT Checking | Validate all incoming requests for a valid JSON Web Token (JWT), requires OIDC Connection. |
OIDC Connection | Provides settings for connections to an OIDC compliant identity server. |
OpenAPI Documentation Publishing | Publishes the OpenAPI Documentation of the APIs of the project. |
Aggregate Mutation Support | Automatically sends events when an aggregate was changed within the database. |
Audit Logging Emitter | Emit Audit Logs to a central listener. Requires the Audit Listener to be available in the application. |
Health Checks | Provides basic health checks. |
API modelling | Model and implement a secure REST API and publish it as an OpenAPI specification. |
Domain modelling | Model and implement your business logic based on Domain Driven Design principles. |
Integration modelling | Model and implement integrations to other services. |
Saga Pattern Support | Modeling and code-generation support to handle distributed transactions |
Unit Test Support | Write unit tests directly in your code and execute them before the project gets deployed. |