0008-bounded-contexts

0008-bounded-contexts

Start Date

Nov 13, 2023

End Date

 

Contributors

@Craig McNally

Status

CLOSED - The Technical Council has decided that the best path forward is to close these smaller, focused RFCs in favor of a single, wider-scoped RFC.

Summary

The term bounded context often appears in discussions about decomposing a monolithic system into multiple microservices. Instead of all services sharing a single database, the system is partitioned into several bounded contexts, each with it's own database, data models, etc. In Folio's case, we're working the other direction. When the project started, it was decided that each module should have their own database, and cross-module database access must be avoided. Coupling this with another practice the project has followed, separating business logic and storage modules, we wind up with suboptimal service/storage interactions. It is proposed that we introduce the concept of bounded contexts, which would align with Application boundaries. Any of the backend modules in a given Application would be able to directly access the storage layer.

See: https://github.com/folio-org/rfcs/blob/master/text/0008-bounded-contexts.md