Java / Spring Framework Libraries


CQRS (command-query responsibility segregation) + EVENT SOURCING


Test-driven development (TDD)

  • https://testcontainers.org/ - java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
    • fast to configure,
    • forget about environmental problems, when Selenium chrome driver updates,
    • no need configure, use docker containers,
    • ports are configured automatically,
    • you will trust your tests, because you run tests, with the same configuration and environments, as in production.
  • https://junit.org/
  • https://site.mockito.org/
  • http://rest-assured.io/ - fluent HTTP end-to-end API testing, with BDD style (including given, when, then) to create code that is expressive as well as easy to read and understand, is built on top of “spring-mock-mvc”.

Behavior-driven development (BDD)


Consumer-Driven Contracts (CDC)

  • https://www.baeldung.com/spring-cloud-contract - consumer side integration tests for the API gateway use contracts to configure a dummy HTTP server simulating the behavior of the service (Install spring-cloud-contract-wiremock and spring-cloud-contract-stub-runner dependencies).
  • http://wiremock.org/ - simulator for HTTP-based APIs. Some might consider it a service virtualization tool or a mock server, use together with “Spring Cloud Contract”.

Message broker


Central authentication & authorization


Logging

Elasticsearch Stack (the log aggregation infrastructure)

The logging infrastructure is responsible for aggregating the logs, storing them, and enabling the user to search them. One popular logging infrastructure is the ELK stack. ELK consists of three open source products:

AWS

Tracing system


Exception tracking services

In-Memory Computing Platform


Container Orchestration


Container Network Manager (runtime diagnostics, metrics, logging, tracing, traffic security, traffic control)


Api Gateway


Securely accessing secrets


Devops Tools


Other frameworks, similar as Spring Framework