Quarta-feira, 5 de Maio de 2010
Servidor: Geo-localização

 Uma vez conseguida a solução do dispositivo móvel que localiza o utilizador foi necessário criar um servidor que guarde a localização de todos os utilizadores de forma persistente.


A arquitectura global do sistema de geo-localização (representada na figura abaixo) é a seguinte: O dispositivo movel envia as coordenadas da sua localização, juntamente com o seu IMEI, através do protocolo XMPP. Do lado do servidor existe outro cliente XMPP que recebe as mensagens e processa-as, guardando na base de dados. Adicionalmente fornece serviços para terceiras aplicações consultarem a localização de utilizadores através do numero de telemóvel. Note que foi criado também um simulador manual de um HSS (Home Subscriber Server), para fazer o mapeamento entre o IMEI e o numero de telefone.


 


 



 


Posto o problema foi necessário identificar um conjunto de tecnologias que os permitissem implementar. A biblioteca utilizada para o cliente XMPP foi novamente a Smack [1]. Foram estudadas soluções para disponiblizar a localização dos utilizadores a terceiras aplicações, optando-se pela criação de Webservices, utilizando o J2EE. Para guardar a localização dos utilizadores foi utilizado uma base de dados derby, usando o JPA.


Uma dificuldade encontrada, foi a seguinte: como colocar um cliente XMPP a correr permanentemente num projecto que é instalado no Glassfish? A solução passou pela utilização de Enterprise Beans, criando um Singleton especificando para ele correr logo aquando é feita a instalação ( anotações importantes do EnterpriseBeans: @Singleton, @Startup, @PostConstruct)


Após estes e outros problemas com persistência e algumas versões do Glasshfish/J2EE o servidor de geo-localização encontra-se disponivel no nosso repositório, bem como o daemon Android.


 



[1] - www.igniterealtime.org/projects/smack/




.mais sobre mim
.pesquisar neste blog
 
.Junho 2010
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5

6
7
8
9
10
11
12

13
14
17
18
19

20
21
22
23
24
25
26

27
28
29
30


.posts recentes

. Contexto

. CallCenter

. Ligação entre Sofia-Sip c...

. Integração

. Servidor SMS Center

. MediaGateway

. Servidor: Geo-localização

. Android: Daemon de geo-lo...

. SMS Gateway

. Aspectos Técnicos

.arquivos

. Junho 2010

. Maio 2010

.tags

. todas as tags

.participar

. participe neste blog

blogs SAPO
.subscrever feeds