ovirt-engine, is a monolith with more
than one million lines of codes based on Wildfly. One of the problems faced
when working on such big projects is that sometimes writing tests is extremely
complex. You spend a tremendous amount of time mocking database access and
irrelevant services for the unit under test.
One way to deal with that complexity is to treat the
database as part of the application. While we will see the advantages of this
for writing tests it does also make a lot of sense for other reasons.
In the past the database was not part of the application, it was the opposite.
The database was the integration point of different applications and
services. A database was full of different views for BI, Finance, Shops, and
many more. This has changed over time. Nowadays the integration mostly happens
through REST or similar APIs, giving applications the freedom to choose the one
(or even more than one) database technology suiting their domain.
Read More »