Overview of Maven modularity
In order to reduce code duplication, make maintenance easier and allow better customisation control, the Ensono Stacks Workloads use the following internal dependencies:
Common Modules
These modules are shared modules, independant of the cloud provider selected: -
- Ensono Stacks modules parent, found in stacks-java-module-parent
- Ensono Stacks commons core module, found in stacks-java-core-commons
- Ensono Stacks commons API module, found in stacks-java-core-api
- Ensono Stacks commons CQRS module, found in stacks-java-core-cqrs
- Ensono Stacks messaging core module, found in stacks-java-core-messaging
Azure Capability Modules
Capabilities are provided by the Azure cloud platform: -
- Ensono Stacks Azure Service Bus module, found in stacks-java-azure-servicebus
- Ensono Stacks Azure CosmosDB module, found in stacks-java-azure-cosmos
AWS Capability Modules
Capabilities are provided by the AWS cloud platform: -
- Ensono Stacks AWS SQS module, found in stacks-java-aws-sqs
- Ensono Stacks AWS DynamoDB module, found in stacks-java-aws-dynamodb
The modules are built and published independently of the Workloads and by default are pulled into the project as Maven dependencies. You can easily replace these by cloning individual repositories and placing them in your application either directly or as modules.