Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/94350
DC FieldValueLanguage
dc.contributor.advisorAraújo, Filipe João Boavida Mendonça Machado de-
dc.contributor.authorSantos, Rodrigo Filipe Mendes dos-
dc.date.accessioned2021-04-16T22:00:11Z-
dc.date.available2021-04-16T22:00:11Z-
dc.date.issued2021-01-25-
dc.date.submitted2021-04-16-
dc.identifier.urihttps://hdl.handle.net/10316/94350-
dc.descriptionDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia-
dc.description.abstractNa Talkdesk, a infraestrutura segue um modelo arquitetural baseado em micro-serviços. Atualmente esta infraestrutura está cada vez mais complexa, existindo um número crescente de serviços e clientes. A maioria dos clientes implementados são utilizados para manipular recursos contidos nos serviços. Estes clientes partilham a maior parte do seu código, exceto algumas partes que estão "hard-coded", por exemplo: os formulários que os utilizadores podem preencher e como executar as operações sobre os recursos (URL e informação sobre o método HTTP a invocar). Este tipo de implementação tornou-se difícil de manter porque sempre que existe uma alteração no sistema isso implica alterações nos clientes.Este trabalho serve para apresentar a arquitetura para uma "framework" capaz de lidar com os recursos utilizando uma representação de alto nível. A "framework" também será capaz de adicionar meta-informação às respostas enviadas pelo serviço.Com esta informação extra, podemos criar clientes genéricos capazes de descobrir as APIs de um serviço, como as invocar, gerar os formulários baseados na representação de alto nível de um recurso. Podemos afirmar que o estágio foi concluído com sucesso. Conseguimos concluir com sucesso os dois principais objetivos: ter a primeira implementação da "framework"; desacoplar os clientes da implementação do serviço.A versão atual da "framework" já permite uma abstração de algumas operações que necessitam de uma alocação de tempo de desenvolvimento.O cliente implementa um "UI" genérico, os elemento apenas vão aparecer quando o serviço envia a informação necessária na resposta.Apesar de utilizável, a "framework", ainda está num estado muito inicial do seu desenvolvimento. Ainda é possível alterar alguma da lógica relativa a configurações para que a sua utilização seja mais fácil.por
dc.description.abstractBased on the micro-services architectural model, Talkdesk's infrastructure is now a complex system, ever-growing in the number of services and clients. Most of the implemented clients responsible for manipulating resources data have a common codebase, differing only in hard-coded operations: how they show the resource forms and how to execute the actions (endpoint URL and HTTP method). This kind of implementation is hard to maintain because it implies a refactor on the client codebase when a resource structure is updated.This work and document address the issue, proposing a framework architecture capable of handling resources based on high-level representations and improving service responses with meta-information regarding subsequent possible actions (endpoint URL and HTTP method).We can then create a generic client capable of discovering available service APIs, how to invoke them and render the resources and associated forms based on its high-level representation.In the end, this internship was completed successfully. We were able to fulfil the two main goals: have the first implemented version of the framework; decouple the client from the service implementation.The current version of the framework already abstracts multiple operations, that otherwise would require extra development time.The client implements generic UI elements that are only displayed/called when the server's response contains the necessary information.Right now, the framework is usable, but it is still in his early development state. We can solve some of the configuration-related flows to improve usability.eng
dc.language.isoeng-
dc.rightsopenAccess-
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/-
dc.subjectRecursopor
dc.subjectRESTpor
dc.subjectAPIpor
dc.subjectMicro-Serviçopor
dc.subjectSchemapor
dc.subjectSchemaeng
dc.subjectResourceeng
dc.subjectRESTeng
dc.subjectAPIeng
dc.subjectMicro-Serviceeng
dc.titleDynamic Resources Frameworkeng
dc.title.alternativeDynamic Resources Frameworkpor
dc.typemasterThesis-
degois.publication.locationTalkdesk-
degois.publication.titleDynamic Resources Frameworkeng
dc.peerreviewedyes-
dc.identifier.tid202697258-
thesis.degree.disciplineInformática-
thesis.degree.grantorUniversidade de Coimbra-
thesis.degree.level1-
thesis.degree.nameMestrado em Engenharia Informática-
uc.degree.grantorUnitFaculdade de Ciências e Tecnologia - Departamento de Engenharia Informática-
uc.degree.grantorID0500-
uc.contributor.authorSantos, Rodrigo Filipe Mendes dos::0000-0003-0639-7689-
uc.degree.classification17-
uc.degree.presidentejuriMadeira, Henrique Santos do Carmo-
uc.degree.elementojuriFernandes, Fernando Pedro Lopes Boavida-
uc.degree.elementojuriAraújo, Filipe João Boavida Mendonça Machado de-
uc.contributor.advisorAraújo, Filipe João Boavida Mendonça Machado de-
item.openairetypemasterThesis-
item.fulltextCom Texto completo-
item.languageiso639-1en-
item.grantfulltextopen-
item.cerifentitytypePublications-
item.openairecristypehttp://purl.org/coar/resource_type/c_18cf-
crisitem.advisor.researchunitCISUC - Centre for Informatics and Systems of the University of Coimbra-
crisitem.advisor.parentresearchunitFaculty of Sciences and Technology-
crisitem.advisor.orcid0000-0002-1663-1937-
Appears in Collections:UC - Dissertações de Mestrado
Files in This Item:
Show simple item record

Page view(s)

157
checked on Jul 16, 2024

Download(s)

1,810
checked on Jul 16, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons