Automating behavior with the Application hexagon
Automation is one of the most valuable things software can do. The advent of computation brought radical changes to how people solve their problems. An interesting scenario is that of the credit card industry in its early years. When banks started to offer credit cards to their customers, most of the back-office activities were done manually. If you wanted to pay for something with a credit card, the person in the store would need to call their bank, who, in turn, would need to contact your card issuer to confirm you had credit. As the technology evolved, computer systems were able to automate this credit verification process.
If we decided to use the hexagonal architecture to build a credit card verification system, those required steps to confirm the cardholder's credit could be expressed using a use case. With an input port, we could handle business rules and all the data necessary to achieve the use case goal, consuming,...