Handling external resources with driven operations
A general characteristic of business applications is their need to send or request data from other systems. We've already seen that output ports and adapters are the hexagonal architecture components we use to allow the hexagonal system to interact with external resources without compromising the business logic. These external resources are also known as secondary actors and provide data or capabilities absent in the hexagonal application that requests them.
When the hexagonal application sends a request to a secondary actor – generally on behalf of a primary actor who first triggered a driving operation from one of the hexagon application's use cases – we call such a request a driven operation. It's driven because these operations are controlled and driven by the hexagonal system.
So, driving operations come from primary actor's requests that drive the behavior of a hexagonal system, whereas...