G ERENCIAMENTO DO PROCESSO DE ABASTECIMENTO DE VEÍCULOS ATRAVÉS DE UM DISPOSITIVO MÓVEL Ricardo Koball Orientador: Marcel Hugo
R OTEIRO Introdução: Objetivos do trabalho. Fundamentação teórica: Rede social; Android; Geolocalização; REST; Trabalhos correlatos. Desenvolvimento da ferramenta: Requisitos; Especificação; Implementação; Operacionalidade da ferramenta; Resultados e discussão. Conclusão: Extensões.
I NTRODUÇÃO Quantidade de smartphones e veículos vem crescendo a cada ano no país. Expectativa: tarefas automatizadas. As pessoas realizam o processo de abastecimento de maneiras diferentes. Ter uma maneira de auxiliar no processo pode poupar tempo e dinheiro do usuário. Compartilhamento de informações sobre os preços de combustível favorece a criação de uma rede social.
O BJETIVOS O objetivo deste trabalho é desenvolver uma aplicação móvel para auxiliar a tarefa de reabastecimento de combustível em veículos automotivos de um usuário. Objetivos específicos: Base de dados para armazenar os dados dos usuários. Webservice para ler e gravar na base de dados. Aplicativo na plataforma Android que permite ao usuário visualizar e fornecer informações para a rede social. Serviço que atualiza os dados no dispositivo.
R EDE SOCIAL São muito mais antigas que a Internet. De acordo com Henrik (2010), “as redes sociais são responsáveis pelo compartilhamento de ideias entre pessoas que possuem interesses e objetivos em comum e também valores a serem compartilhados”. Compartilhamento de informações: Preços dos combustíveis; Avaliações dos postos de combustível.
A NDROID A plataforma Android é um pacote completo para dispositivos móveis, incluindo um sistema operacional, um middleware e aplicações básicas para a utilização do sistema. Uma aplicação pode ser composta por diversos componentes: Activity (atividades); Service (serviços).
C OMPONENTES Activity: representa uma tela da aplicação. Service: é executado em segundo plano, sem a interação do usuário. Utilizado para executar tarefas periódicas.
A SYNC T ASK A thread principal do aplicativo é responsável por atualizar os componentes visuais das interfaces. Tarefas que exigem alguns segundos/minutos para serem executadas.
G EOLOCALIZAÇÃO Criação do Global Positioning System (GPS), tornou possível determinar a geolocalização de forma rápida e precisa. Dispositivos móveis modernos possuem GPS. Aplicações podem utilizá-lo para determinar a localização do dispositivo.
S ERVIÇOS B ASEADOS EM L OCALIZAÇÃO Segundo Morais (2011), serviços que têm como objetivo fornecer informações relevantes ao usuário, de acordo com o local que ele está no momento, são chamados de Serviços Baseados em Localização. Foursquare: rede social onde o usuário pode indicar onde está no momento, além de escrever sua opinião sobre determinado local.
G EOLOCALIZAÇÃO NO A NDROID Localização pode ser obtida através: Triangularização de satélites GPS; Torres de telefonia móvel; Base de dados de pontos de acesso Wi-Fi. LocationManager: getLastKnownLocation: Retorna a ultima localização conhecida. requestLocationUpdates: Recebe atualizações de localização entre certos períodos de tempo e distância. Location: localização geográfica (lat. / long.) Address: endereço textual (logradouro, bairro...)
S ERVIÇOS DA WEB DA API DO G OOGLE M APS Fornece serviços da web que permitem que serviços externos solicitem dados de sua API. Requisição HTTP. Resposta nos formatos JSON e XML. Serviços mais utilizados: Geocoding API : geocodificação e geodecodificação; Distance Matrix API : distância e tempo de deslocamento entre locais; Directions API : rotas entre locais.
R EPRESENTATIONAL S TATE T RANSFER - REST De acordo com Jones (2012), REST “é um estilo de arquitetura para comunicação baseada na web que permite aos clientes conversarem com os servidores de maneira única”. Utilizam o protocolo HTTP em conjunto com suas operações GET, POST, DELETE e PUT para enviar e receber dados do servidor. Cada recurso fornecido deve possuir um identificador único, chamado de Universal Resource Indicators (URI).
B IBLIOTECA J ERSEY Java determina seu suporte à arquitetura REST através da especificação Java Specification Request (JSR) 311. Jersey implementa esta especificação. Utiliza um servlet para verificar todas as requisições e determinar qual método deve responder a requisição. Anotações para configurar os recursos.
T RABALHOS C ORRELATOS Proteste Postos: aplicativo para iOS e Android; lista com postos próximos; localizar posto através de um mapa; traçar rota até determinado posto; boa credibilidade; informações desatualizadas. informações disponibilizadas pela Agência Nacional de Petróleo, gás natural e biocombustíveis (ANP).
T RABALHOS C ORRELATOS Meu combustível: site que apresenta um mapa com os postos de combustível da região pesquisada. Ferramenta Android baseada em realidade aumentada e serviços baseados em localização usando notificações (Rampelotti): auxiliar os acadêmicos em suas atividades acadêmicas; utiliza SBL para informar ao usuário que ele está próximo a um evento.
R EQUISITOS Principais Requisitos Funcionais: posto possui a melhor razão entre custo e benefício; lista dos postos de combustível mais próximos; mapa da região onde o usuário está; trajeto até determinado posto de combustível; estimativa calculada com dados sobre o consumo; apresentar comentários e avaliações de usuários; permitir avaliar e comentar sobre um posto; sincronizar os dados entre o aplicativo e servidor;
E SPECIFICAÇÃO Casos de uso: Usuário.
E SPECIFICAÇÃO Casos de uso: Dispositivo.
E SPECIFICAÇÃO Diagrama de pacotes do servidor.
I MPLEMENTAÇÃO Ferramentas: Eclipse Juno 4: ambiente de desenvolvimento. SDK 17: plataforma Android. Biblioteca Jersey: criar recursos no webservice. Hibernate: salvar dados no banco de dados do webservice. SGBD MySQL 5.5: armazenar dados do webservice.
I MPLEMENTAÇÃO Utilizado: SQLite para salvar no banco de dados do aplicativo. Atividades para criar as telas. LocationManager: obter atualização de localização. Serviços web da Google Maps API: geocodificação, distância e rota de trajeto. AsynkTask: enviar requisição aos serviços web.
O PERACIONALIDE DA FERRAMENTA Funções: Quero abastecer e Mapa.
R ESULTADOS E DISCUSSÃO Intervalos entre atualização da localização. Consumo de dados (em KBs) Intervalo em metros Intervalo em minutos Quantidade total de requisições
R ESULTADOS E DISCUSSÃO Teste da funcionalidade de estimativa calculada. Quilometragem real Quilometragem estimada Data /04/ /04/ /04/ /04/ /04/ /05/2013
C ONCLUSÃO Objetivo principal do trabalho foi alcançado. Aplicativo para dispositivo móvel mostrou-se ser uma decisão acertada. Plataforma Android mostrou-se ser sólida. O conceito de REST, permitiu que a implementação do webservice fosse realizada de maneira simples. Hibernate: poupou horas de desenvolvimento. Google Maps API: mostrou-se ser eficiente e de fácil entendimento.
E XTENSÕES Melhorar o mecanismo de confiabilidade. Considerar avaliações dos usuários ao indicar o posto com o melhor custo-benefício. Sincronizar os dados com o servidor posteriormente, caso não esteja conectado. Diminuir o consumo de dados: Menos requisições aos serviços web da Google Maps API; Melhorar sincronização entre aplicativo e servidor.