Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.ufpe.br/handle/123456789/69397

Share on

Full metadata record
DC FieldValueLanguage
dc.contributor.advisorSANTOS, André Luís Medeiros-
dc.contributor.authorNOVAES, Vinícius Cardoso-
dc.date.accessioned2026-07-21T15:04:01Z-
dc.date.available2026-07-21T15:04:01Z-
dc.date.issued2026-01-27-
dc.date.submitted2026-02-06-
dc.identifier.citationNOVAES, Vinícius Cardoso. Toccata: biblioteca para implementação do padrão Try-Confirm-Cancel no ecossistema BEAM. 2026. Trabalho de Conclusão de Curso de Engenharia da Computação – Universidade Federal de Pernambuco, Recife, 2026.pt_BR
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/69397-
dc.description9pt_BR
dc.description.abstractA coordenação de transações distribuídas constitui um desafio fundamental em arquiteturas de microsserviços, nas quais operações de negócio atravessam múltiplos serviços independentes. O padrão Try-Confirm-Cancel (TCC) oferece uma abordagem para coordenação transacional estruturada em três fases: tentativa, que reserva recursos sem efetivá-los; confirmação, que torna as reservas permanentes; e cancelamento, que libera recursos em caso de falha. Diferentemente do padrão Saga, no qual cada transação é imediatamente efetivada e falhas exigem compensações, o TCC mantém recursos em estado reservado até a confirmação explícita. Apesar de implementações consolidadas em outras plataformas, não há bibliotecas que implementem o padrão TCC no ecossistema Elixir. Este trabalho propõe a Toccata, uma biblioteca open-source que implementa o padrão TCC em Elixir, oferecendo uma API funcional para composição de transações, suporte a observabilidade e mecanismos de resiliência com retentativas automáticas. A validação foi conduzida por meio de análises comparativas, funcionais e de desempenho, tendo como referência a biblioteca Sage, que implementa o padrão Saga no ecossistema. Os resultados demonstraram paridade funcional e equivalência de desempenho em cenários de sucesso. A biblioteca contribui para o ecossistema BEAM ao oferecer uma alternativa para cenários nos quais o padrão TCC é mais adequado.pt_BR
dc.format.extent56p.pt_BR
dc.language.isoporpt_BR
dc.rightsopenAccesspt_BR
dc.rights.urihttps://creativecommons.org/licenses/by-nc-nd/4.0/pt_BR
dc.subjectSistemas Distribuídospt_BR
dc.subjectTransações Distribuídaspt_BR
dc.subjectBEAMpt_BR
dc.subjectMicrosserviçospt_BR
dc.titleToccata: biblioteca para implementação do padrão Try-Confirm-Cancel no ecossistema BEAMpt_BR
dc.typebachelorThesispt_BR
dc.contributor.authorLatteshttps://lattes.cnpq.br/1978579506523096pt_BR
dc.degree.levelGraduacaopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/0084300900034108pt_BR
dc.description.abstractxThe coordination of distributed transactions represents a fundamental challenge in microservices architectures, where business operations span multiple independent services. The Try-Confirm-Cancel (TCC) pattern provides a transactional coordination approach structured into three phases: a try phase, which reserves resources without committing them; a confirm phase, which makes the reservations permanent; and a cancel phase, which releases resources in case of failure. Unlike the Saga pattern, in which each transaction is immediately committed and failures require compensating actions, TCC maintains resources in a reserved state until explicit confirmation. Despite well-established implementations in other platforms, there are currently no libraries implementing the TCC pattern in the Elixir ecosystem. This work proposes Toccata, an open-source library that implements the TCC pattern in Elixir, providing a functional API for transaction composition, built-in observability support, and resilience mechanisms with automatic retry policies. Validation was conducted through a comparative functional and performance analysis against the Sage library, a reference implementation of the Saga pattern in the Elixir ecosystem. The results demonstrate functional parity and performance equivalence in success scenarios. The proposed library contributes to the BEAM ecosystem by providing an alternative for scenarios in which the TCC pattern is more appropriate.pt_BR
dc.subject.cnpqÁreas::Ciências Exatas e da Terrapt_BR
dc.degree.departament::(CIN-DCC) - Departamento de Ciência da Computaçãopt_BR
dc.degree.graduation::CIn-Curso de Engenharia da Computaçãopt_BR
dc.degree.grantorUniversidade Federal de Pernambucopt_BR
dc.degree.localRecifept_BR
dc.identifier.orcidhttps://orcid.org/0009-0001-2061-1031pt_BR
Appears in Collections:(TCC) - Engenharia da Computação

Files in This Item:
File Description SizeFormat 
TCC Vinicius Cardoso Novaes.pdf728.21 kBAdobe PDFView/Open


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons