The need to create ports and use cases
After putting some effort into modeling the problem domain in the Domain hexagon, the next step is to move on to the Application hexagon and define how the software system enables the behavior that fulfills the business-related operations that come from the Domain hexagon. Actors—who could be both users and other systems—drive these behaviors. They dictate the system's capabilities.
The moment when we start implementing the Application hexagon is crucial because we begin to think in aspects that are not directly related to the domain model. Instead, these aspects may be related to integrations for communicating with other systems. But we shouldn't go so far as to decide which technologies to use. We don't take decisions related to technology when implementing the Application hexagon. Rather, technology concerns are a subject that we go deep into in the Framework hexagon.
We employ use cases to define what a system...