Repository logo
 
No Thumbnail Available
Publication

WebSockets e a sua aplicação no mundo Web

Use this identifier to reference this record.
Name:Description:Size:Format: 
DM_PedroAlmeida_2019_MEI.pdf9.77 MBAdobe PDF Download

Abstract(s)

Hoje em dia as aplicações são desenhadas e implementadas de forma a que sejam constantemente conectados ao mundo web. Existe um crescimento exponencial da utilização de aplicações web atualmente, e à medida que este crescimento vai acontecendo, novos e inovadores requisitos são enunciados, com o avanço tecnológico. As aplicações web desenvolvidas hoje em dia, baseadas em WebServices (HTTP), genericamente apresentam falhas de comunicação e sincronização entre componentes numa arquitetura cliente-servidor. Problemas de sincronização esses que representam lacunas na comunicação existente entre componentes, atrasos na entrega de mensagens, ou ainda excesso de bytes transferidos, o que leva ao mau desempenho de uma aplicação web, e ao possível abandono por parte dos seus utilizadores por insatisfação. Grande parte destas aplicações são desenvolvidas utilizando WebService APIs, que têm por base o protocolo HTTP. Este protocolo, apesar das suas características o tornarem versátil na sua utilização em aplicações web, existem mecanismos (em determinados contextos) que não são tão eficientes, nomeadamente os utilizados em aplicações web que necessitem de atualizações de dados em tempo real. Nesse sentido foi desenvolvido um protótipo implementando um protocolo diferente – WebSockets – de forma a tentar obter resultados sobre o desempenho do mesmo e que provasse ser a abordagem a seguir na tentativa de solucionar os problemas de comunicação existentes atualmente no mercado das aplicações web. Esses resultados derivam de métricas definidas através de estudos e artigos que definem formas e tipos de testes que se executam nas aplicações web para obter relatórios de desempenho. Após análise das características do protocolo e dos resultados obtidos através do protótipo desenvolvido, conclui-se que o protocolo WebSockets é efetivamente mais eficiente do que o utilizado em WebServices (HTTP), visto que possui mecanismos internos que permitem atingir menores tempos de resposta médios de pedidos efetuados entre cliente-servidor, e também menos dados transferidos.
The products that are designed and developed today are done in a way so that they are constantly connected to the world wide web. There has been an exponential growth in web applications’ usage nowadays, and as growth keeps happening, new and innovative requirements come up. In the context of the main problem of this thesis, web applications have some issues in terms of communication and data synchronization amongst components within a client-server architecture. These kinds of problems represent not only failures in communication between components, but also delays in message delivery and overhead of transferred information, which leads to a bad performance of the app, and a possible abandonment of its users. A great majority of the web apps are developed using WebService APIs, which implement HTTP as a basis protocol. This protocol, despite its characteristics turn it into a versatile one, there are certain mechanisms (in certain contexts) that are not that efficient, specifically the ones used in web apps that need real time data updates. That said, a prototype has been developed using a different protocol – WebSockets – so that results from its performance could be obtained and it proved itself to be the solution of the problem stated above. These results come from multiple studies and articles mentioning different metrics and ways of testing web applications’ performance. After analysing the protocol’s characteristics and the results that come from the prototype development, the conclusion is that WebSockets is indeed more efficient than the one WebServices use – HTTP. This comes from observing that the average time response and also the amount of data transferred between components is lower, and therefore the app provides a greater user experience.

Description

Keywords

WebSockets Cliente-servidor Comunicação web Aplicação web Servidor REST HTTP Tempo de resposta WebService Versatilidade Sistemas em tempo real Client-server Web communication Web application Server Bandwidth Average response time Real time system Versatility

Citation

Research Projects

Organizational Units

Journal Issue

Publisher

CC License