Integrating Bounded Contexts

Every enterprise application is typically composed of several areas in which the company operates. Areas such as billing, inventory, shipping management, catalog, and so on are common examples. The easiest manner in which to manage all these concerns may seem to lean toward a monolithic system. But, you might wonder, does it have to be this way? What if any friction garnered between teams working on these separate areas could be reduced by splitting this big monolithic application into smaller, independent chunks? In this chapter, we'll explore how to do this, so be prepared for insights and heuristics around strategical design.

Dealing with Distributed Systems
Dealing with distributed systems is hard. Breaking a system into independent autonomous parts has its benefits, but it also increases complexity. For example, the coordination and synchronization of distributed systems is not trivial, and as a result, should be considered carefully. As Martin Fowler said in the PoEAA book, the first law of distributed systems is always: Don't distribute.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset