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