Successfully reported this slideshow.

Geolocalização Realtime - Um estudo de caso de um sistema de monitoramento em tempo real

0

Share

Loading in …3
×
1 of 30
1 of 30

Geolocalização Realtime - Um estudo de caso de um sistema de monitoramento em tempo real

0

Share

Download to read offline

Apresentação feita para o XI Semana Acadêmica de Sistemas de Informação da Universidade Luterana do Brasil (ULBRA) campus Carazinho - RS, com intuito de apresentar um estudo de caso de uma aplicação realtime.

A apresentação expõe as etapas do desenvolvimento de uma aplicação para o rastreamento e monitoramento de veículos de uma frota, mantendo o foco na atualização de dados em tempo real. Além disso, aborda as principais tecnologias e ferramentas utilizadas para o desenvolvimento da ferramenta.

O projeto foi desenvolvido entre 08/2019 e 10/2019 na empresa Atua Sistemas de Informação, com sede em Passo Fundo - RS.

Apresentação feita para o XI Semana Acadêmica de Sistemas de Informação da Universidade Luterana do Brasil (ULBRA) campus Carazinho - RS, com intuito de apresentar um estudo de caso de uma aplicação realtime.

A apresentação expõe as etapas do desenvolvimento de uma aplicação para o rastreamento e monitoramento de veículos de uma frota, mantendo o foco na atualização de dados em tempo real. Além disso, aborda as principais tecnologias e ferramentas utilizadas para o desenvolvimento da ferramenta.

O projeto foi desenvolvido entre 08/2019 e 10/2019 na empresa Atua Sistemas de Informação, com sede em Passo Fundo - RS.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Geolocalização Realtime - Um estudo de caso de um sistema de monitoramento em tempo real

  1. 1. Geolocalização Realtime Gustavo Castro Josué Lino Bragagnolo XI Semana Acadêmica de Sistemas de Informação - ULBRA - Carazinho - RS (2019)
  2. 2. Autores Gustavo Castro Tecnólogo em Sistemas para Internet Especializando em Ciência de Dados Desenvolvedor PHP Github: github.com/debgustavocastro Linkedin: linkedin.com/in/gustavocastro78 SlideShare: slideshare.net/GustavoCastro35 E-mail: deb.gustavocastro@gmail.com 2
  3. 3. Autores Josué Lino Bragagnolo Cientista da Computação Analista de Redes / SysAdmin Linkedin: linkedin.com/josuebragagnolo E-mail: josue@atua.com.br 3
  4. 4. Um estudo de caso de monitoramento e rastreamento frota Geolocalização Realtime 4
  5. 5. O problema ● Cliente precisa controlar a frota de veículos ○ Projeção de rotas e estimativa de tempo do percurso ○ Necessidade de saber o posicionamento e situação dos veículos ○ Dados atualizados em tempo real 5
  6. 6. Arquitetura Existente ● Rastreadora ○ Disponibiliza os dados via Webservice ● Processo Atualização ○ Consome os dados do Webservice da rastreadora ○ Persiste os dados no BD ● Cliente ○ Realiza requisições frentes ao servidor ○ Monta uma tabela com os dados obtidos 6
  7. 7. Arquitetura Existente 7 Fonte: Dos Autores
  8. 8. Aplicação cliente 8 Fonte: Dos Autores
  9. 9. Problemas - Arquitetura existente ● Requisições frequentes ○ Várias ou nenhuma atualização ○ Processo lento (consulta no BD) ● Pouca usabilidade ○ Muitos dados na tela 9
  10. 10. Objetivos projeto ● Facilitar a visualização dos dados gerais ● Possibilitar visualização dos acontecimentos e realizar previsões ○ Exibir a situação e a posição dos veículos ○ Criar uma estimativa de tempo de trajeto baseado na rota ● Manter os dados sempre atualizados ○ Ajustar a arquitetura existente para entregar os dados mais próximos da realidade de tempo ● Realizar os itens acima de maneira mais performática 10
  11. 11. Solução - Dados em tempo real ● Arquitetura Cliente/Servidor ○ Sempre inicia no cliente ■ Cliente pergunta ■ Servidor responde ○ Canal unidirecional 11 Fonte: https://medium.com
  12. 12. Solução - Dados em tempo real ● Téc. de realtime ○ Polling ○ Streaming SIMD Extensions ○ Websocket 12 Fonte: https://hpbn.co/websocket/
  13. 13. Solução - Dados em tempo real ● Websocket ○ Abre uma única comunicação bidirecional ○ PHP - Ratchet ■ Fácil controle sobre múltiplas conexões simultâneas ■ Escalável ■ Performático 13
  14. 14. Solução - Arquitetura - Back-end ● Atualização na aplicação cliente e persistência de dados na mesma requisição ● Atualização apenas de dados necessários ● BD mais performático ● Dados em “tempo real” 14 Fonte: Dos Autores
  15. 15. Solução - Arquitetura - Front-end ● Repassa os dados da rastreadora para API’s do Google ○ Google Maps ■ Tráfego na região ■ Trajeto ■ Plota mapa no cliente ○ Matrix API ■ Distância ■ Estimativa de tempo do trajeto 15 Fonte: Dos Autores
  16. 16. Problema - Custos Vl. request Qt. Itens request Qt. exec. p/ dia Qt. request p/ dia Vl. diário Vl. mensal (CONVERTIDO) U$0,005 950* 144 136800 U$ 684 R$ 97.470,00 16 Fonte: Dos Autores
  17. 17. Requisitos para alternativa ● Financeiramente viável ● Cálculos de trajetórias ○ Roteirização ○ Distância ○ Tempo ● Apresentação dados para usuário ○ Mapa 17
  18. 18. 18 Fonte: Dos Autores Fonte: https://leafletjs.com/ Fonte: http://project-osrm.org Fonte: https://nominatim.org/
  19. 19. Soluções utilizadas ● Funcionalidades ○ Construção de rotas ○ Distância entre pontos ○ Estimativa de tempo entre os pontos ● Prós ○ Open Source ○ Self Hosted ● Contras ○ Resolve apenas coordenadas (latitude, longitude) 19 Fonte: http://project-osrm.org/
  20. 20. Exemplo Request / Response 20 Fonte: Dos Autores
  21. 21. Soluções utilizadas ● Funcionalidades ○ Resolve endereços em coordenadas e vice-versa ● Prós ○ Open Source ○ Self Hosted ○ Performático ○ PHP / PostgreSQL / PostGIS ● Contra ○ Base de dados diferente do OSRM 21 Fonte: https://nominatim.org/
  22. 22. Nominatim 22 Fonte: Dos Autores
  23. 23. Exemplo Request / Response 23 Fonte: Dos Autores
  24. 24. Soluções utilizadas ● GeoRoutes API ○ Desenvolvido internamente ○ Servidor REST - Node.js ○ Centralizador ■ OSRM/Nominatim ○ Calcula velocidade 24 Fonte: Dos Autores
  25. 25. Soluções utilizadas ● OpenStreetMap ○ Mapa, tile ● Leaflet ○ Framework ○ Interatividade com o mapa ● Prós ○ Open Source 25 Fonte: https://leafletjs.com/
  26. 26. Resultados ✓ Interface amigável ○ Visualização dos principais dados de forma organizada ✓ Aplicação performática ✓ Baixo custo em relação em relação a outras ferramentas ~ Dados em tempo real ○ Impasse com as rastreadoras que não oferecem webhooks 26
  27. 27. F 27 Fonte: Dos Autores
  28. 28. Dúvidas? ● Websocket ● Geolocation ● Frameworks ● PHP ● PostgreSQL ● Linux / Infra ● ... 28
  29. 29. 29 www.atua.com.br
  30. 30. Referências http://project-osrm.org/ https://medium.com/system-design-blog/long-polling-vs-websockets-vs-server-sent-events-c43ba96df7c1 https://nominatim.org/ https://hpbn.co/websocket/ https://www.digitalocean.com/community/tutorials/how-to-set-up-an-osrm-server-on-ubuntu-14-04 http://download.geofabrik.de/ https://leafletjs.com/ https://www.openstreetmap.org https://postgis.net/ 30

×