Giuliana Bezerra
Esse desafio foi resolvido nessa playlist e está disponível nesse repositório do github.
Documento de Arquitetura
https://imgr.whimsical.com/object/GM6yt7yzCFzBG8MQwJ468Z
Decisões de Arquitetura
- O controle de unicidade das transações é feito por arquivo CNAB, o que significa que o processamento das transações é feito apenas uma vez por arquivo.
- O arquivo CNAB deve ser nomeado com um id ou timestamp, pois ele será passado como parâmetro do job e só pode ser importado uma única vez.
- Caso seja informado um arquivo já importado, deve ser informada uma mensagem de erro ao usuário.
- Caso haja erro no processamento é possível submeter o mesmo arquivo várias vezes para habilitar o restart de onde o processamento parou.
- Se o arquivo for muito grande, é possível utilizar uma estratégia de particionamento no job, melhorando assim a performance.
Processos
https://imgr.whimsical.com/object/VnXfkJgrNBmm4FqG5veh84
Tela do Sistema
https://imgr.whimsical.com/object/2ZTYwmttnJUs7j2eLMCHm8