adempiere / ADReactiveSystem

The Application Dictionary Reactive System allows you to build an application based on an active data dictionary.
GNU General Public License v3.0
5 stars 5 forks source link

Are you looking to setup a model that is DB independent similar to the one from OFbiz? #3

Open e-Evolution opened 7 years ago

e-Evolution commented 7 years ago

Given that the architecture is based on Domain Driven Design, the domain model is intended to be agnostic of the technology.

In other words, the domain model and the business logic must be decoupled from the layer of infrastructure.

Therefore the handling of transactions, data persistence engine, database support should not affect the build our application and business logic

For the implementation of the infrastructure layer, the interfaces (trait) to implement the repository patterns necessary for the implementation of any data persistence technology will be defined.

EntityRepository

The selection of which technology that will be using will be based on the most convenient for our objectives taking into consideration backward compatibility, of course we will support Oracle and PostgreSQL

This does not mean that we are not considering including support for other technologies such as NoSQL or Event Sourcing.

For now, with the objective to show a prototype for Reading Side of the CQRS design pattern, we begin tested with Quill as technology based on JDBC and standard SQL.

Here you can see the way simple and pragmatic to mapping the domain model with the database.

EntityMapping

But it is possible to use any other technologies as JPA or Event Sourcing to implement infrastructure layer.

When we implement the layer of infrastructure for the entities persistence we will select technology more suitable to expose the Applications Dictionary.

Thank you so much for asking Kind regards