
Software Architecture for Busy Developers
By :

In this section, we will go through a very simplified use case for the sake of brevity. Here is the business scenario:
Contoso needs to provide a data upload channel for its customers. Uploaded data files may contain errors and must go through a data-cleansing and data-wrangling phase. If errors cannot be automatically fixed, an error file should be returned to the sender through a callback notification. After this first data-check and transformation phase, the resulting validated data is routed to the relevant systems for further handling. In addition, customers require that data can only be processed in Europe for sovereignty reasons, and they are used to File Transfer Protocol (FTP) systems.
The upload channel should always be available, while the actual handling of the data might be deferred in case of a system outage. It is expected by Contoso's customers to be notified back within 24 hours. The total volume of data uploaded by customers is about...