EventChain: uma proposta de estilo arquitetural para sistemas orientados a cadeia de eventos na área financeira - Luz, Maicon Azevedo da (2021)
Estilos arquiteturais são importantes para engenharia pois são a ponte entre os requisitos e o design de implementação. Tem a função de expressar um conjunto de características de uma arquitetura de software, objetivando fornecer uma visão ampla da comunicação entre os componentes da arquitetura de software, facilitando o reuso e reduzindo a complexidade. Com o crescimento da área financeira, tais empresas empregaram diferentes estilos arquiteturais no desenvolvimento de software visando aumentar a reusabilidade, desempenho e a segurança. A literatura acerca do tópico, porém, carece de estudos que investiguem estilos arquiteturais modernos que possuam foco nas necessidades específicas das arquiteturas de software para o desenvolvimento de aplicações na área financeira, tais como escalabilidade, alta disponibilidade, consistência e integridade das informações. Além disso, em face do recente crescimento dessa área, torne o desenvolvimento de novas aplicações simples e robusto. Esta dissertação, portanto, apresenta o EventChain, o qual trata-se de um estilo arquitetural orientado a cadeia de eventos, que emprega o uso de comunicação assíncrona e Blockchain para o desenvolvimento de aplicações da área financeira. O estilo arquitetural proposto foi avaliado através de duas formas. A primeira sendo a construção de um protótipo com o objetivo de avaliar a viabilidade e demonstrar o seu funcionamento, e a segunda, a aplicação de um questionário de aceitação tecnológica para avaliar a aceitação do estilo arquitetural por profissionais da indústria. Os resultados obtidos mostram que o estilo arquitetural proposto é uma implementação viável, funcional e que atende aos requisitos de sistemas na área financeira. Por fim, conclui-se que o estilo arquitetural representa uma nova abordagem com grande potencial para facilitar o desenvolvimento de novos sistemas na área financeira, que endereça os requisitos específicos e torna flexível a implementação de novas aplicações.