AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience
Main Author: | |
---|---|
Publication Date: | 2024 |
Format: | Master thesis |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | https://hdl.handle.net/10216/161041 |
Summary: | Modern systems, from real-time Sports analyses to Smart houses, have contributed to the growth of the demand for responsive and scalable architectures. The adoption of Event-Driven architectures (EDA) is currently the most used solution to fulfill these demands. Unlike traditional request-response models like REST APIs, these architectures revolve around various events' propagation, detection, and response, from sensor inputs to user interactions. Among all the paradigms in this scenario, the publish/subscribe paradigm is one of the most used and consists of an asynchronous exchange of messages based on a category or topic. This exchange is done using an event bus or a broker. Although these kinds of architectures fulfill most of the needs of modern systems, there are a lot of challenges associated with them. The more severe are related to the complexity of handling the messages and ensuring their overall consistency. In most systems, a message is composed by the event header in a specification like CloudEvents and the event data and is serialized using Avro or JSON format. The field's novelty also makes the number of tools to interact with these architectures low, making the overall design and development harder. This dissertation researches different ways of describing events and explores the development of developer-friendly helper tools to design and visualize these asynchronous and distributed architectures. Their key functionalities include bootstrapping a specification file compliant with the AsyncAPI specification from an easy and intuitive Graphical User Interface (GUI) and the ability to visualize the whole architecture from imported specification files. To evaluate these tools, experiments will be conducted with subjects with different backgrounds of expertise. As organizations increasingly embrace event-driven paradigms, this tool not only contributes to the growing body of knowledge in this field but also offers a more straightforward solution for architects to create responsive and robust systems with more efficiency while having a better experience. |
id |
RCAP_e0aaa96fbbae61ad4fd4bad106006e2c |
---|---|
oai_identifier_str |
oai:repositorio-aberto.up.pt:10216/161041 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer ExperienceOutras ciências da engenharia e tecnologiasOther engineering and technologiesModern systems, from real-time Sports analyses to Smart houses, have contributed to the growth of the demand for responsive and scalable architectures. The adoption of Event-Driven architectures (EDA) is currently the most used solution to fulfill these demands. Unlike traditional request-response models like REST APIs, these architectures revolve around various events' propagation, detection, and response, from sensor inputs to user interactions. Among all the paradigms in this scenario, the publish/subscribe paradigm is one of the most used and consists of an asynchronous exchange of messages based on a category or topic. This exchange is done using an event bus or a broker. Although these kinds of architectures fulfill most of the needs of modern systems, there are a lot of challenges associated with them. The more severe are related to the complexity of handling the messages and ensuring their overall consistency. In most systems, a message is composed by the event header in a specification like CloudEvents and the event data and is serialized using Avro or JSON format. The field's novelty also makes the number of tools to interact with these architectures low, making the overall design and development harder. This dissertation researches different ways of describing events and explores the development of developer-friendly helper tools to design and visualize these asynchronous and distributed architectures. Their key functionalities include bootstrapping a specification file compliant with the AsyncAPI specification from an easy and intuitive Graphical User Interface (GUI) and the ability to visualize the whole architecture from imported specification files. To evaluate these tools, experiments will be conducted with subjects with different backgrounds of expertise. As organizations increasingly embrace event-driven paradigms, this tool not only contributes to the growing body of knowledge in this field but also offers a more straightforward solution for architects to create responsive and robust systems with more efficiency while having a better experience.2024-07-172024-07-17T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/10216/161041TID:203859197engJosé Pedro Abreu Silvainfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-02-27T17:42:23Zoai:repositorio-aberto.up.pt:10216/161041Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T22:23:57.199897Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience |
title |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience |
spellingShingle |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience José Pedro Abreu Silva Outras ciências da engenharia e tecnologias Other engineering and technologies |
title_short |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience |
title_full |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience |
title_fullStr |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience |
title_full_unstemmed |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience |
title_sort |
AsyncAPI-First Design for Event-Driven Architectures: Improve Developer Experience |
author |
José Pedro Abreu Silva |
author_facet |
José Pedro Abreu Silva |
author_role |
author |
dc.contributor.author.fl_str_mv |
José Pedro Abreu Silva |
dc.subject.por.fl_str_mv |
Outras ciências da engenharia e tecnologias Other engineering and technologies |
topic |
Outras ciências da engenharia e tecnologias Other engineering and technologies |
description |
Modern systems, from real-time Sports analyses to Smart houses, have contributed to the growth of the demand for responsive and scalable architectures. The adoption of Event-Driven architectures (EDA) is currently the most used solution to fulfill these demands. Unlike traditional request-response models like REST APIs, these architectures revolve around various events' propagation, detection, and response, from sensor inputs to user interactions. Among all the paradigms in this scenario, the publish/subscribe paradigm is one of the most used and consists of an asynchronous exchange of messages based on a category or topic. This exchange is done using an event bus or a broker. Although these kinds of architectures fulfill most of the needs of modern systems, there are a lot of challenges associated with them. The more severe are related to the complexity of handling the messages and ensuring their overall consistency. In most systems, a message is composed by the event header in a specification like CloudEvents and the event data and is serialized using Avro or JSON format. The field's novelty also makes the number of tools to interact with these architectures low, making the overall design and development harder. This dissertation researches different ways of describing events and explores the development of developer-friendly helper tools to design and visualize these asynchronous and distributed architectures. Their key functionalities include bootstrapping a specification file compliant with the AsyncAPI specification from an easy and intuitive Graphical User Interface (GUI) and the ability to visualize the whole architecture from imported specification files. To evaluate these tools, experiments will be conducted with subjects with different backgrounds of expertise. As organizations increasingly embrace event-driven paradigms, this tool not only contributes to the growing body of knowledge in this field but also offers a more straightforward solution for architects to create responsive and robust systems with more efficiency while having a better experience. |
publishDate |
2024 |
dc.date.none.fl_str_mv |
2024-07-17 2024-07-17T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/10216/161041 TID:203859197 |
url |
https://hdl.handle.net/10216/161041 |
identifier_str_mv |
TID:203859197 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833599674324353024 |