Gerenciamento de Mensagens Internas Via Comunicação Bluetooth

Propaganda
Estudo de CI.C.S.;
aso / CSOLER,
ase Estudy
FEDECHEN, E.A.; CATARINO,
L.
Gerenciamento de Mensagens Internas Via Comunicação Bluetooth Desktop-Celular
Internal Messages Management Via Desktop-Celular Bluetooth Comunication
Emerson André Fedechena*; Iolanda Cláudia Sanches Catarinoa; Luciano Solera
Curso de Engenharia da Computação, Universidade Norte do Paraná, PR, Brasil
a
*E-mail: [email protected]
Resumo
Este artigo apresenta uma ferramenta para o gerenciamento de mensagens dentro de ambiente organizacional via comunicação Bluetooth
entre um servidor desktop e celulares clientes. O propósito desta solução é melhorar a organização e a entrega de mensagens entre o meio
administrativo empresarial e seus colaboradores. O projeto concentrou-se na facilidade de uso e disponibilidade no lado servidor (Desktop)
baseado na tecnologia J2SE – Java Standard Edition, biblioteca BlueCove e em interface simples com configurações mínimas exigidas no
lado cliente (celular) para prover rapidez de uso e exigir o mínimo de memória do dispositivo durante a execução das consultas. Ao final
deste artigo é apresentada a aplicação desta ferramenta na comunicação interna entre a coordenação e alunos dos cursos de Engenharia da
Computação e Tecnologia em Análise e Desenvolvimento de Sistemas da unidade CCET da Unopar – Londrina.
Palavras-chave: Bluetooth. Desktop. Celular. J2ME.
Abstract
This article presents a Bluetooth messages management tool for organizational environments via desktop server and cellular clients
communication. This purpose of this solution is to improve the organization and delivery of messages between administrative center and its
employees. The project focus in the simplicity and availability in the server side (Desktop) based on J2SE technology – Java Standard Edition,
Bluecove libraries, and in simple interface with minimum configuration required in the client side (cellular) in order to provide fast operation
and minimum memory demand of the device during the execution of the consultations. In the end of this paper the application of this tool as
communication interface between coordination room and students of Computer and Technology in Analysis and System Development of CCET
Unopar - Londrina.
Keywords: Bluetooth. Desktop. Celular. J2ME
1 Introdução
Comunicação basicamente trata-se do processo de troca de
informações entre elementos. Em um ambiente empresarial,
a comunicação é a relação da empresa com o seu público
interno e externo, envolvendo um conjunto de procedimentos
e técnicas destinados à intensificação do processo de
comunicação (MATOS, 2009).
Em um ambiente universitário, a comunicação interna
entre a área administrativa e os alunos tende a ser mais intensa
do que a encontrada em outras organizações empresariais,
visto que cada aluno representa um interesse pessoal único
que se relaciona com todas as camadas administrativas.
Os canais de comunicação geralmente utilizados pelas
universidades para se comunicar com seus públicos internos
constituem-se em: jornal institucional, revista institucional,
mural, site/portal, Intranet, rádio, TV universitária, newsletter,
ouvidoria, caixa de sugestões, etc. (CRUZ, 2009).
Ao criar um processo de comunicação interno bem
estruturado, cria-se um mecanismo que fortalece o interrelacionamento entre as partes capaz de intensificar a
participação e coleta de novos dados que poderão ser utilizados
em tomadas de decisões futuras.
UNOPAR Cient. Exatas Tecnol., Londrina, v. 10, n. 1, p. 55-59, Nov. 2011
A elaboração de um sistema de gerenciamento de
mensagens internas baseado na comunicação Bluetooth entre
um servidor Desktop e unidades clientes móveis (celular)
visa criar um meio de comunicação ágil que fortalecerá o
inter-relacionamento entre o meio administrativo e os alunos.
O propósito inicial do projeto é gerenciar localmente um
banco de dados com mensagens administrativas e propagálas de forma direta (pessoal) ou por departamentos conforme
requisitadas pelas aplicações móveis instaladas nos celulares
dos participantes.
O sistema foi desenvolvido dentro do projeto PROMIDIA,
que visa o desenvolvimento de softwares para plataformas
móveis, fortalecendo o aprendizado do grupo por meio da pesquisa
e prática aplicada na análise, planejamento, implementação
e aplicação da solução no Centro de Ciências Exatas e
Tecnológicas da Universidade Norte do Paraná (UNOPAR).
2 Tecnologias Aplicadas
A integração de sistemas computacionais vem ocorrendo
de forma cada vez mais frequente, eliminando barreiras e
facilitando a vida de milhares de pessoas com novos serviços
sendo oferecidos. Sabe-se também que junto com esta
55
Gerenciamento de Mensagens Internas Via Comunicação Bluetooth Desktop-Celular
integração, a utilização de aparelhos celulares tem crescido
muito nos últimos anos, chegando a mais de 197 milhões
no Brasil (ANATEL, 2010), e que associado com os demais
dispositivos tem se mostrado de grande importância no dia a
dia.
Para que toda esta integração ocorra foi necessário o
estudo de tecnologias específicas para criação, transmissão e
recebimento da informação de forma íntegra e concisa. Dentre
estas tecnologias podemos citar o Bluetooth e Java.
Piconet A
Scatternet
Piconet B
2.1 Sistema de comunicação Bluetooth
Bluetooth é uma forma de conexão de dispositivos sem fio.
Sua rede transmite voz e dados via ondas de baixa potência
e consumo de energia. Feita para funcionar no mundo todo,
fez-se necessário a adoção de uma faixa de frequência de
rádio aberta chamada de ISM (Industrial, Scientific, Medical)
que opera na faixa 2,45GHz. Por utilizar radiofrequência
para comunicação entre os elementos que compõem a rede,
o Bluetooth pode se comunicar com qualquer dispositivo
que esteja em sua área de alcance, não necessitando que os
dispositivos estejam um de frente para o outro como no caso
do infravermelho (SIG, 2010).
Ao utilizar uma faixa aberta de rádio, é necessário garantir
que o sinal não sofra e não gere interferências, para isso foi
criado o esquema de comunicação FH-CDMA (Frequency
Hopping Code Division Multiple Access), que faz com que a
frequência seja dividida em vários canais (79). Utiliza-se então
o salto de frequência a partir do momento que o dispositivo
efetua a conexão, fazendo com que o dispositivo troque de
canal a cada 625 µs (microssegundos). Estas 1600 trocas por
minuto praticamente impossibilita que dispositivos A e B
transmitam dados ao mesmo tempo e na mesma frequência
para um dispositivo C, evitando problemas de transmissão.
Quando os dispositivos com Bluetooth se comunicam
ocorre uma troca de dados para determinar se eles possuem
serviços compatíveis ou se um deve controlar o outro (mestre
/ escravo). Quando esta comunicação ocorre é formada uma
rede entre os dispositivos chamada de piconet.
A piconet (Figura 1) pode suportar até 8 dispositivos
conectados simultaneamente (1 mestre / 7 escravos), entretanto
é possível fazer sobreposição de redes piconet, formando uma
rede maior chamada de scatternet (Figura 2).
Piconet A
Dispositivo escravo na
Piconet A
Figura 1: Piconet
56
Dispositivo Escravo na Piconet A - Mestre Piconet B
Dispositivo escravo na Piconet A
Dispositivo escravo na Piconet B
Figura 2: Scatternet
Para que seja possível programar e utilizar diversos recursos
que o Bluetooth disponibiliza foi criado a especificação JSR82 que padroniza as APIs Java, facilitando na integração dos
dispositivos no ambiente Bluetooth.
2.2 JSR-82
Para que fosse possível padronizar a utilização da tecnologia
Bluetooth em dispositivos móveis, foi desenvolvida a JSR82 (Java Specification Request). Esta especificação permite o
desenvolvimento de aplicações que troquem dados através de
uma comunicação Bluetooth de forma mais simples e segura.
A JSR-82 é dividida em dois pacotes: javax.bluetooth e
javax.obex. O primeiro apresenta classes genéricas e representa
o núcleo da API já o segundo pacote fornece transferência de
objetos com o protocolo OBEX (Object Exchange), sendo
opcional e não implementado em alguns dispositivos.
Apesar de ser considerado padrão, a especificação JSR82 não é intuitiva e requer um bom conhecimento sobre
arquitetura Bluetooth, o que dificulta muito a utilização
por programadores menos experientes. Felizmente
existem diversos projetos que abstraem parte do código da
comunicação entre dispositivos, o que torna a programação
mais fácil e intuitiva, como é o caso do projeto de código
aberto Bluecove utilizado no desenvolvimento deste trabalho.
3 Projeto e Implementação
Dispositivo Mestre na
Piconet A
Scatternet
Dispositivo Mestre na Piconet A
O desenvolvimento deste trabalho foi dividido basicamente
em três etapas: a primeira concentrou-se na composição
da camada de comunicação entre um computador pessoal
(desktop), para atuar como servidor de mensagens, e as
estações clientes (celulares) via Bluetooth; a segunda consistia
em desenvolver a camada de apresentação do servidor,
baseado em Java Web, e por fim, os módulos de manipulação
das mensagens para ambas as partes comunicantes.
UNOPAR Cient. Exatas Tecnol., Londrina, v. 10, n. 1, p. 55-59, Nov. 2011
FEDECHEN, E.A.; CATARINO, I.C.S.; SOLER, L.
3.1 Comunicação Bluetooth desktop/celular
A implementação da comunicação Bluetooth por meio da
linguagem Java está disponível através da Plataforma Java 2
Micro Edition (J2ME). No entanto estas facilidades não foram
definidas de forma nativa para a Plataforma J2SE.
Com o objetivo de resolver esta limitação, criou-se a
Bluecove, uma biblioteca Java para Bluetooth (implementação
JSR82) que pode ser utilizada por uma aplicação J2SE sobre
os sistemas operacionais Windows, Mac OS e Linux como
pode ser visto na figura 3.
Java VM
Applications
BlueCove
CLDC API (GCF)
API for Bluetooth (JSR-82)
BlueCove JNI libraries
Operating System & Bluetooth Stack
Service Discovery Protocol
(SDP)
OBEX
(object exchange)
RFCOMM
(serial emulation)
Logical Link Control and Adaptation Protocol (L2CAP)
public UUID uuid = new UUID(“102030405060708090A1
B1C1D1E1F111”, false);
String nomeServico = “BluetoothUNOPAR”;
String url = “btspp://localhost:” + uuid.toString()
+”;name=”+ nomeServico;
public StreamConnectionNotifier conexaoServidor =
(StreamConnectionNotifier)Connector.open( url );
A classe “Connector” é definida pela J2ME e contém os
métodos usados para criar todos os objetos de conexão (IBM,
2010).
Dispositivos Bluetooth mantém informações sobre seus
serviços em um Service Discovery DataBase (SDDB). Um
SDDB contém entradas de registros de serviços onde cada um
desses registros contém atributos que o descrevem.
A seguir, é criado um “template” e é definido nele os
atributos do serviço: “0x0008” para identificação do atributo
e “0xFF” para indicar que o serviço está disponível.
ServiceRecord template = dispositivo.getRecord(
conexaoServidorStream );
template.setAttributeValue( 0x0008, new DataElement(
DataElement.U_INT_1, 0xFF ) );
template.setDeviceServiceClasses( SERV_CLASS );
Host controller interface (HCI)
Bluetooth Controller
Link Manage Protocol (LMP)
Baseband Link Controller (LC)
Bluetooth Radio
Fonte: http://bluecove.org/index.html
Figura 3: Interface Bluecove com sistemas operacionais
Dentre os serviços básicos oferecidos pela biblioteca,
podemos citar a descoberta de dispositivos Bluetooth nas
proximidades, a busca e disponibilização de serviços e, por
fim, o envio e o recebimento de dados.
O sistema começa com o módulo servidor ativado e
permitindo a sua descoberta por tempo indeterminado,
demonstrado no código Java abaixo:
LocalDevice dispositivo = LocalDevice.getLocalDevice();
dispositivo.setDiscoverable(DiscoveryAgent.GIAC);
Para viabilizar a sua descoberta, o servidor recebe um
identificador universal de 128 bits para este caso, e o serviço
de mensagens recebe um nome para diferenciá-lo, informações
úteis no estabelecimento de uma conexão:
UNOPAR Cient. Exatas Tecnol., Londrina, v. 10, n. 1, p. 55-59, Nov. 2011
O argumento “SERV_CLASS” é uma constante definida no
projeto com valor “0x400000” (classe de serviço de telefone)
para declarar o tipo de Classe de Serviço que será iniciada.
A partir daí o servidor começa a aceitar conexões clientes,
ficando bloqueado enquanto um cliente estiver conectado.
StreamConnection conexao = conexaoServidorStream.
acceptAndOpen();
RemoteDevice dispositivoRemoto = RemoteDevice.
getRemoteDevice( conexao );
As classes “DataInputStream” e “DataOutputStream”
implementam as classes para codificação e decodificação dos
dados no padrão UTF-8 (Unicode Transformation Format) de
8 bits.
DataInputStream entrada = conexao.
openDataInputStream();
DataOutputStream saida = conexao.
openDataOutputStream();
Imediatamente depois de enviada a resposta, a conexão
é fechada e o servidor fica aguardando por novas conexões.
O lado cliente trabalha de modo semelhante, começando
57
Gerenciamento de Mensagens Internas Via Comunicação Bluetooth Desktop-Celular
com a busca por servidores e em seguida por serviços como o
descrito abaixo:
máquina Desktop e as unidades clientes instaladas nos
celulares dos alunos.
private DiscoveryAgent agenteDescoberta = dispositivo.
getDiscoveryAgent();
boolean resultado = agenteDescoberta.
startInquiry(DiscoveryAgent.GIAC, new
BluetoothListener());
agenteDescoberta.searchServices(null, servicoUUIDs,
dispositivoRemoto, new BluetoothListener() );
Após detectados os serviços disponíveis, o processo de
envio e recebimento de mensagens segue o mesmo princípio
do servidor.
3.2 Camada de apresentação – Módulo Servidor
Durante a criação do servidor de mensagens, ressaltaramse dois aspectos importantes: a facilidade e a disponibilidade de
uso. Preocupando-se em atender a estas características que se
utilizou da tecnologia Java para aplicações Web, direcionando
a aplicação para o formato de sistema distribuído, acessível de
qualquer lugar da Internet.
Visando oferecer uma interface amigável e interativa
ao usuário, utilizou-se a tecnologia Flex que, com seus
componentes e funcionalidades, possibilitou alcançar uma
apresentação rica e agradável rapidamente.
Inicialmente o acesso à interface do módulo servidor
ficará restrito aos usuários com o perfil administrativo, mas já
criando a base para o acréscimo de serviços a todos os demais.
3.3 A manipulação das mensagens
O gerenciamento das mensagens, foco principal
deste sistema, é um processo simples, mas que atende às
necessidades básicas da comunicação empresarial.
O sistema começa com a inserção de novas mensagens pelos
usuários administradores. Esta operação pode ser feita local ou
remotamente e precisa respeitar o preenchimento dos campos
obrigatórios requisitado pela interface servidora (Flex). Com
estas informações, o sistema fará o processo de distribuição
(Bluetooth) conforme requisitado pelos usuários clientes,
previamente cadastrados e classificados pelos seus perfis.
As mensagens são mantidas em um banco de dados local
(MySQL) até que o seu prazo pré-determinado expire.
Outras atribuições imediatas do sistema são a limpeza de
mensagens antigas e geração de relatórios de uso e acesso de
todos os integrantes do sistema de comunicação.
4 Estudo de Caso: Sistema de Gerenciamento de
Mensagens Internas - UNOPAR
O sistema de comunicação interna para a Universidade
Norte do Paraná foi projetado para se basear na comunicação
Bluetooth entre uma unidade servidora, instalada em uma
58
Figura 4: Unidade cliente em execução
A escolha deste sistema foi fundamentada na facilidade de
acesso e custo reduzido dos dispositivos envolvidos.
A operação começa pelo sistema servidor que dependerá
de uma antena Bluetooth ativa para poder disponibilizar o
serviço. A interface com o usuário implementada no servidor
é bastante simples e permite o cadastro de mensagens
associadas às turmas, semestres ou matrícula. O usuário deste
módulo será a pessoa com acesso e permissão às mensagens
que deverão ser publicadas aos alunos.
As mensagens possuirão um prazo para expirar e após este
prazo o sistema apagará automaticamente as mensagens do
banco de mensagens.
O sistema servidor gera também listagens com informações
de acesso e serviços requisitados no sistema.
O processo de uso do sistema cliente resume-se nos
seguintes passos:
Passo 1:
Na área de cobertura, o aluno faz o download do software
via diretório compartilhado por Bluetooth no servidor.
Passo 2:
Na primeira conexão, o aluno fará um rápido cadastro via
aplicação onde será requisitado o nome, turma, matrícula,
semestre e senha. Este cadastro poderá ser alterado caso o
aluno troque de aparelho ou deseja redefinir o seu perfil.
Passo 3:
Diariamente o aluno poderá executar o programa para
consultar o sistema por novas mensagens, que serão filtradas
através dos dados do seu cadastro. Como opção, o aluno
poderá escolher receber apenas as mensagens novas ou todas
as mensagens disponíveis (Figura 5).
UNOPAR Cient. Exatas Tecnol., Londrina, v. 10, n. 1, p. 55-59, Nov. 2011
FEDECHEN, E.A.; CATARINO, I.C.S.; SOLER, L.
Passo 5:
A comunicação é encerrada. As mensagens podem ser
salvas localmente para posteriormente serem relidas ou
excluídas permanentemente.
5 Conclusão
A ferramenta de comunicação interna baseada na tecnologia
Bluetooth mostrou-se solução viável para organizações que
necessitam prover um sistema de comunicação entre os
setores administrativos e os seus colaboradores. A principal
vantagem foi o aproveitamento de uma infraestrutura
formada graças à tecnologia já presente em grande parte dos
dispositivos utilizados pelos colaboradores e a facilidade
de acesso aos demais mecanismos presentes no sistema,
Hardware e Software. Como limitação pode-se citar os casos
dos colaboradores que não possuem o aparelho com suporte
Figura 5: Escolha de serviços oferecidos pelo sistema de
mensagens internas Unopar.
Passo 4:
Após recebidas as mensagens o aluno terá os títulos destas
na forma de uma lista que permitirá a seleção para leitura,
exclusão ou salvamento local.
Bluetooth e a cobertura do sinal que é limitada principalmente
por barreiras comumente presentes nos ambientes estudados.
Referências
ANATEL. Agência Nacional de Telecomunicações. Brasil tem
197,53 milhões de celulares. Disponível em: http://www.anatel.
gov.br/Portal/exibirPortalInternet.do#. Acesso em: 21 dez 2010.
COMER, D.E. Redes de computadores e internet. 4.ed. São
Paulo: Editora Bookman, 2007.
CRUZ, C.M.L. Análise da comunicação interna em universidades
no Rio Grande do Sul. In: INTERCOM – SOCIEDADE
BRASILEIRA DE ESTUDOS INTERDISCIPLINARES
DA COMUNICAÇÃO. CONGRESSO BRASILEIRO DE
CIÊNCIAS DA COMPUTAÇÃO. 32. Curitiba, 2009.
FOROUZAN, B.A. Comunicação de dados e redes de
computadores, 3.ed. Porto Alegre: Bookman, 2006.
HAR-SHAI, L. et al. Inter-piconet scheduling in bluetooth
scatternets. Technion – Israel Institute of Technology,
Departament of Electrical Engineering, Haifa, Israel, 2002.
IBM. Networking with J2ME. Disponível em: http://www.ibm.
com/developerworks/java/library/wi-jio/. Acesso em 13 dez.
2010.
IEEE 802. IEEE 802.15 WPAN Task Group 1 (TG1). Disponível
em: http://www.ieee802.org/15/pub/TG1.html. Acesso em: 12
dez. 2010.
MATOS, G.G. Comunicação empresarial sem complicação. 2.ed.
São Paulo: Manole, 2009.
Figura 6: Mensagem exibida no modulo cliente
UNOPAR Cient. Exatas Tecnol., Londrina, v. 10, n. 1, p. 55-59, Nov. 2011
SIG. The bluetooth special interest group. Disponível em: http://
www.bluetooth.com. Acesso em: 13 dez. 2010.
59
Gerenciamento de Mensagens Internas Via Comunicação Bluetooth Desktop-Celular
60
UNOPAR Cient. Exatas Tecnol., Londrina, v. 10, n. 1, p. 55-59, Nov. 2011
Download