Implementando Rotinas                  de GeolocalizaçãoCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott...
Quem?!    Er Galvão Abbott trabalha há mais de 16 anosdesenvolvendo sistemas e aplicações com interface web.Palestra em ev...
Objetivo    Demonstrar conceitos e detalhes – tanto técnicos quanto não-técnicos – envolvidosna implementação de rotinas d...
Introdução     Existem três formas de se implementar uma rotina de Geolocalização em umaaplicação:→ Utilização de Posicion...
Introdução - Maxmind     A Maxmind é uma empresa que fornece bases de dados de GeoIP. Foi escolhidapor possuir uma precisã...
O ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 6 / 21
O Projeto                                         XCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/...
O ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 8 / 21
O Projeto                                         XCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/...
Por que não pode ser simples?  X Problemas de performance  X Problemas em caso de imprecisão da base de dados  X Não é ren...
Objetivosa   Performance, maior inteligência na localizaçãoa   Precisão, mesmo sem automação totala   Renovável, “correção...
Conceitos do Projeto                                               177.18.69.152                              Classes     ...
Conceitos do ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 13 / 21
ISOs→ ISO 3166-1 Alpha 2 – http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2    Código único para cada país, contendo duas l...
IPv4 e IPv6O que é importante levar em consideração:→ Enquanto o IPv4 é representado por 4 grupos de 8 bits, ou octetos, c...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 16 / 21
Falhas inerentesCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 17 / 21
Falhas conceituais  X Atualização de dados não prevista  X Excesso de confiança na localização por Classe C  X Investiment...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 19 / 21
Conclusão     Geolocalização é uma feature cada vez mais importante em um número crescentede projetos. Embora seja possíve...
Obrigado!                              ? Dúvidas?                             ↓ Críticas?                             ↑ El...
Upcoming SlideShare
Loading in …5
×

Implementando rotinas de geolocalização

969 views
886 views

Published on

Palestra que tem por objetivo demonstrar conceitos ténicos e não técnicos envolvidos na implementação de rotinas de geolocalização em aplicações web.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
969
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Implementando rotinas de geolocalização

  1. 1. Implementando Rotinas de GeolocalizaçãoCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 1 / 21
  2. 2. Quem?! Er Galvão Abbott trabalha há mais de 16 anosdesenvolvendo sistemas e aplicações com interface web.Palestra em eventos, dá cursos em diversas instituições eé o Diretor da PHP Conference Brasil, o principal evento de PHPda América Latina. Especializou-se em segurança de aplicações web,abordando o tema em uma época quando isso ainda era raro noBrasil. Trabalhou com diversas empresas de grande parte, tantonacionais como internacionais. É o fundador e líder do GU PHPBR, Grupo de Usuáriosde abrangência nacional, que hoje conta com mais de 1.200usuários cadastrados.Site: http://www.galvao.eti.br/Twitter: @galvaoSlides e Documentos: http://slideshare.net/ergalvao CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 2 / 21
  3. 3. Objetivo Demonstrar conceitos e detalhes – tanto técnicos quanto não-técnicos – envolvidosna implementação de rotinas de Geolocalização em aplicações web. Abordaremos osseguintes tópicos:→ Introdução→ O projeto→ ISOs envolvidas→ Sobre IPv4 e IPv6→ Falhas conceituais→ Falhas inerentes CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 3 / 21
  4. 4. Introdução Existem três formas de se implementar uma rotina de Geolocalização em umaaplicação:→ Utilização de Posicionamento Global por Satélite (GPS)→ Posicionamento do dispositivo conectado (Triangulação por torres de transmissão)→ Análise de endereço IP (GeoIP) Embora as duas primeiras ofereçam uma grande vantagem na precisão, a terceirase aplica a qualquer dispositivo, móvel ou não, e será o foco desta apresentação. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 4 / 21
  5. 5. Introdução - Maxmind A Maxmind é uma empresa que fornece bases de dados de GeoIP. Foi escolhidapor possuir uma precisão razoável e por oferecer versões gratuitas de suas bases dedados, além de uma API pronta em PHP e diversas outras linguagens.Principais vantagens:↑ Precisão de 99.8% (nível de país) e de 72% (nível de cidade no caso do Brasil)↑ APIs prontas para C, C#, Java, Perl e PHP.↑ Atualizado mensalmente↑ Formato binário para uso com a API ou CSV para importação diretaPrincipais desvantagens:↓ Suporte confuso para PHP (“port” para PHP5, fork “melhorado”)↓ Compatibilidade limitada com IPv6↓ Divisão de dados em dois arquivos CSV CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 5 / 21
  6. 6. O ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 6 / 21
  7. 7. O Projeto XCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 7 / 21
  8. 8. O ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 8 / 21
  9. 9. O Projeto XCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 9 / 21
  10. 10. Por que não pode ser simples? X Problemas de performance X Problemas em caso de imprecisão da base de dados X Não é renovável X Apenas uma fonte de pesquisaCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 10 / 21
  11. 11. Objetivosa Performance, maior inteligência na localizaçãoa Precisão, mesmo sem automação totala Renovável, “correção automatizada”a Mais de uma fonte de pesquisa, maior precisão e confiabilidade CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 11 / 21
  12. 12. Conceitos do Projeto 177.18.69.152 Classes A B C D IP (v4) 177 18 69 152→ IPs pertencentes a mesma Classe C são, normalmente, agrupados na mesma geolocalização→ IPs/CCs geolocalizados incorretamente precisam de correção manual→ IPs/CCs corrigidos manualmente são bloqueados (“locked”)→ Todos os dados não bloqueados possuem um “TTL”→ TTL é o tempo pelo qual um IP/CC não precisará ser verificado novamente CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 12 / 21
  13. 13. Conceitos do ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 13 / 21
  14. 14. ISOs→ ISO 3166-1 Alpha 2 – http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Código único para cada país, contendo duas letras. É, com raras exceções, o mesmocódigo utilizado nos ccTLDs (Country Code Top-Level Domains). Por ser único e ocupar pouco espaço pode ser indexado.p. ex.: BR (Brasil), AR (Argentina), US (Estados Unidos), etc...→ ISO 3166-2:XY, onde “XY” é um ISO 3166 Alpha2 Código único para subdivisões de cada país (Estados, Territórios, Condados, etc...),composto de duas letras para o país (sendo estas duas letras o ISO 3166-1 Alpha 2 do país),um hífen e dois caracteres para a subdivisão em si. Tomando como exemplo o Brasil (http://en.wikipedia.org/wiki/ISO_3166-2:BR):BR-SP (São Paulo), BR-RJ (Rio de Janeiro), etc... Não indexado em nosso projeto, por razões específicas. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 14 / 21
  15. 15. IPv4 e IPv6O que é importante levar em consideração:→ Enquanto o IPv4 é representado por 4 grupos de 8 bits, ou octetos, como por exemplo: 192.168.100.1O IPv6 é representado por 8 grupos de 16 bits, ou grupos de valores hexadecimais: 2001:0DB8:0000:0000:130F:0000:0000:140B→ Não existe conversão de IPv4 para IPv6, o que existe é o que se chama de IPv4-mapeado.Usando a notação de IPv4-mapeado, teríamos o endereço anterior representado como: ::FFFF:192.168.100.1 ou 0:0:0:0:0:FFFF:192.168.100.1 ou ainda 0000:0000:0000:0000:0000:FFFF:192.168.100.1 CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 15 / 21
  16. 16. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 16 / 21
  17. 17. Falhas inerentesCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 17 / 21
  18. 18. Falhas conceituais X Atualização de dados não prevista X Excesso de confiança na localização por Classe C X Investimento zero ? Exigir interação do clienteCC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 18 / 21
  19. 19. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 19 / 21
  20. 20. Conclusão Geolocalização é uma feature cada vez mais importante em um número crescentede projetos. Embora seja possível implementar uma rotina razoável de geolocalizaçãocom pouco ou nenhum custo, o projeto ideal passa por uma série de questões quediferem bastante do apresentado aqui:→ Investimento em serviços de qualidade para prover os dados→ Utilização das três formas (GPS, Triangulação e GeoIP), havendo uma tomada dedecisão, dependendo do caso, para qual forma deve ser preferida. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 20 / 21
  21. 21. Obrigado! ? Dúvidas? ↓ Críticas? ↑ Elogios?!CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 8/7/12 - 21 / 21

×