students:201507agarcez
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | students:201507agarcez [26/09/2015 15:25] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== António Garcez ====== | ||
+ | |||
+ | **[[https:// | ||
+ | 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, | ||
+ | |||
+ | 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, | ||
+ | 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, | ||
+ | de desenvolver técnicas e tecnologias que, nativamente, | ||
+ | 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, | ||
+ | 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, | ||
+ | |||
+ | 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, | ||
+ | módulo acede à API para ir buscar informação mais detalhada sobre a indicação recebida e envia | ||
+ | a informação, | ||
+ | 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 by 127.0.0.1