Skip to content

Move DDIStore with server-side implementation details to war-project

Problem

  • DDIStore class in stardat-ddiflatdb-rest has too many responsibilities:
  • database entity (Hibernate),
  • audited entity (Hibernate Envers),
  • search index entity (Hibernate Search)
  • DTO for REST communication
  • Thereby stardat-ddiflatdb-rest must hold dependencies on Hibernate and others.
  • These dependencies, which are actually implementation details of the microservice backend, are pulled into actually independent clients.
  • In the case of stardat-reporting this coupling made it even impossible to compile (!!!) its code base, because it uses Hibernate 4, but stardat-ddiflatdb-rest uses Hibernate 5. A stardat-reporting developer gets an exception about his implementation details caused by a very specific dep-conflict of a third compoment. More coupling is presumably not possible.

hard-coupling-by-transitive-dependencies

Solution