We have been talking a lot about the language we use, and how systems interact and what they are comprised of, but there is a higher level we need to touch as well: How do systems interact with other systems?
In the server world, there is currently a strong focus on microservices and their building and interaction. The important takeaway is that having a system that a small team owns is easier to maintain than a system built by a larger team; this is only half the story, so services need to interact after all. Microservices are the more technical approach to the domain-driven design bounded context.
The following diagram shows how an interaction in a microservice world can take place. We have a lot of small services calling each other to accomplish a bigger task:
Interaction not only happens on the API level but at the developer level, as well.