Reaching the hexagonal application with driving operations
We may consider it inconceivable that a system can be self-contained in the sense that no one interacts with it and that this system doesn’t interact with other users or systems. Such an arrangement goes against the fundamentals of computer architecture (von Neumann, 1940), which presume the presence of input and output operations in any computer system. Indeed, it’s difficult to imagine a useful software program that doesn’t receive any data or produce any result.
Through the lens of the hexagonal architecture, the input side of a system is controlled by driving operations. We call them driving operations because they actually initiate and drive the behavior of a hexagonal application.
In Chapter 3, Handling Behavior with Ports and Use Cases, we related driving operations to primary actors. These actors are in charge of triggering driving operations in the hexagonal system. The driving operations...