JCL

FEUP/DEI & INESC TEC

User Tools

Site Tools


students:201507agarcez

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

students:201507agarcez [26/09/2015 15:25] (current)
Line 1: Line 1:
 +====== António Garcez ======
 +
 +**[[https://​sigarra.up.pt/​feup/​pt/​cur_geral.cur_view?​pv_curso_id=742|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)