Please use this identifier to cite or link to this item:
https://repositorio.ufpe.br/handle/123456789/69397
Share on
Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | SANTOS, André Luís Medeiros | - |
| dc.contributor.author | NOVAES, Vinícius Cardoso | - |
| dc.date.accessioned | 2026-07-21T15:04:01Z | - |
| dc.date.available | 2026-07-21T15:04:01Z | - |
| dc.date.issued | 2026-01-27 | - |
| dc.date.submitted | 2026-02-06 | - |
| dc.identifier.citation | NOVAES, 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.uri | https://repositorio.ufpe.br/handle/123456789/69397 | - |
| dc.description | 9 | pt_BR |
| dc.description.abstract | A 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.extent | 56p. | pt_BR |
| dc.language.iso | por | pt_BR |
| dc.rights | openAccess | pt_BR |
| dc.rights.uri | https://creativecommons.org/licenses/by-nc-nd/4.0/ | pt_BR |
| dc.subject | Sistemas Distribuídos | pt_BR |
| dc.subject | Transações Distribuídas | pt_BR |
| dc.subject | BEAM | pt_BR |
| dc.subject | Microsserviços | pt_BR |
| dc.title | Toccata: biblioteca para implementação do padrão Try-Confirm-Cancel no ecossistema BEAM | pt_BR |
| dc.type | bachelorThesis | pt_BR |
| dc.contributor.authorLattes | https://lattes.cnpq.br/1978579506523096 | pt_BR |
| dc.degree.level | Graduacao | pt_BR |
| dc.contributor.advisorLattes | http://lattes.cnpq.br/0084300900034108 | pt_BR |
| dc.description.abstractx | The 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 Terra | pt_BR |
| dc.degree.departament | ::(CIN-DCC) - Departamento de Ciência da Computação | pt_BR |
| dc.degree.graduation | ::CIn-Curso de Engenharia da Computação | pt_BR |
| dc.degree.grantor | Universidade Federal de Pernambuco | pt_BR |
| dc.degree.local | Recife | pt_BR |
| dc.identifier.orcid | https://orcid.org/0009-0001-2061-1031 | pt_BR |
| Appears in Collections: | (TCC) - Engenharia da Computação | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| TCC Vinicius Cardoso Novaes.pdf | 728.21 kB | Adobe PDF | View/Open |
This item is protected by original copyright |
This item is licensed under a Creative Commons License
