J. Correia Lopes

FEUP/DEI & INESC TEC

User Tools

Site Tools


students:201507agarcez

Table of Contents

António Garcez

Master in Informatics and Computing Engineering
Informação Clínica em Tempo Real
António Joaquim Ribeiro Garcez


Abstract

The web, in its early days, was mostly comprised of pages whose content was static, although the content of some web pages was dynamically generated by external tools to the web server. Moreover, the page content was updated only when the user reloaded the web page. However, in the process of migration of standalone applications to the web, there was the need to develop techniques and technologies that, originally, could change the web page content without having to reload it manually and thus showing real time information.

Because of the ease with which it is implemented and the excellent results it obtains, the companies, in the most diverse areas, began using polling to update the information in the web applications they developed. Polling is a technique that, thanks to a large number of HTTP requests made by the client in a short time, gives the idea to the user that is the server that informs the client about the updates that are happening. The increase in users and the reliability of information required in some web applications made the polling limitations being exposed. The main problems associated to the use of polling are connected to a decrease in the server performance and the increase in the network traffic. These two limitations may lead to the information reaches the client with significant delay or, in extreme cases, end up not reaching the client. In an area as sensitive as is the area of health, there cannot be information gaps because it can mislead health professionals, which can end up compromising the health of hospitalized patients.

For this work, the first goal is to research all the techniques that allow a web application showing real-time information. Starting with the research carried out and analyzing the advantages and disadvantages of the various techniques, the second goal consists in choosing a technique to solve the problems encountered. Taking for base the chosen technology, the third objective is to implement one module that will allow web applications show real time information in a more effective and efficient way without making lots of changes in the current system. Finally, the last goal is the adaptation of an existing web application to be used to evaluate and test the deployed module.

Based on the research techniques and analyzing the advantages and disadvantages of each one, it has been concluded that the best technique would be the technology WebSocket. In order to the web applications to receive the information updates trough the WebSockets it is necessary to have a way of recording the changes of information. As such doesn’t exist, the changes are recorded in the data base which, after a change is made, sends the indication that something has changed to the module. Lately, the module access API to collect more detailed data about the received indication and sends the information, troughWebSockets, to the web applications interested in receiving such kind of information. The worked tests are based on two metrics: the latency and traffic generated in the transmission of information. Based in the tests we can see that the WebSockets need less time and less bytes to update the information from web applications. This proves it is possible to keep the information updated without overloading the servers, the network and the clients.

Resumo

AWeb, nos seus primeiros tempos, era basicamente constituída por páginasWeb cujo conteúdo era estático (algumas páginas Web recorriam a software externo para alterar o conteúdo). Contudo, com o processo de migração das aplicações, até aqui, stand-alone para a Web houve a necessidade de desenvolver técnicas e tecnologias que, nativamente, conseguissem alterar o conteúdo da página Web sem ter de recarregar manualmente e, assim, poder mostrar informação em tempo real.

Devido à facilidade com que é implementada e aos excelentes resultados que conseguem obter, as empresas começaram a utilizar polling para atualizar a informação nas aplicações Web que desenvolviam. O polling é uma técnica que, graças a um grande número de pedidos HTTP feitos pelo cliente num pequeno intervalo de tempo, permite dar a ideia ao utilizador de que é o servidor que está a informar o cliente sobre as atualizações que estão a acontecer. O aumento de utilizadores e a fiabilidade da informação exigida em algumas aplicações Web fizeram com que as limitações do polling ficassem expostas. Os principais problemas associados ao polling estão relacionados com uma diminuição do desempenho do servidor, com o aumento no tráfego da rede e com problemas no rendering da informação nas aplicações Web. Estas duas limitações podem fazer com que a informação chegue ao cliente com atraso significativo ou, em casos mais extremos, que acabe por não chegar ao cliente. Numa área tão sensível como é a área da saúde, não pode haver falhas de informação, uma vez que pode induzir em erro os profissionais de saúde, acabando por comprometer a saúde dos doentes internados.

Para este trabalho, o primeiro objetivo passa pela elaboração de uma pesquisa sobre todas as técnicas que permitam a uma aplicação Web mostrar informação em tempo real. A partir da pesquisa efetuada e analisando as vantagens e desvantagens das várias técnicas, o segundo objetivo consiste na escolha de uma técnica que resolva os problemas encontrados. O terceiro passa, com base na técnica escolhida, por implementar um módulo que permita às aplicações Web mostrar informação em tempo real de uma forma mais eficaz e eficiente, sem que com isso o sistema atual sofra grandes alterações. Por fim, o último objetivo passa pela adaptação de uma aplicação Web, previamente desenvolvida, que vai permitir avaliar e testar o módulo implementado.

Com base nas técnicas pesquisadas e analisando as vantagens e as desvantagens de cada uma, chegou-se à conclusão que a melhor técnica seria a tecnologia WebSocket. Para que as aplicações Web consigam receber as atualizações da informação através de WebSockets é necessário registar as alterações da informação. Como tal não existe, o registo das alterações é feito na base de dados que, após uma alteração, envia a indicação do que foi alterado para o módulo. Posteriormente, o módulo acede à API para ir buscar informação mais detalhada sobre a indicação recebida e envia a informação, através de WebSockets, para as aplicações Web interessadas em receber esse tipo de informação. Os testes efetuados têm por base duas métricas: a latência e o tráfego gerado na transmissão da informação. Com base nestes testes, pode-se observar que os WebSockets necessitam de menos tempo e de menos bytes para atualizar a informação das aplicações Web. Isto vem comprovar que é possível

Jury

  • Chair: Maria Cristina Ribeiro
  • External Examiner: Maria Benedita Malheiro (IPP)
  • Supervisor: João Correia Lopes
  • Date: 16/07/2015


students/201507agarcez.txt · Last modified: 26/09/2015 15:25 (external edit)