Raquel dos Santos Maximino      raquelsmax@yahoo.com.br

                                  Raquel Alves Silva                       raquel.silva@yahoo.com.br

                                  Madalena Lopes e Silva                madalenals@yahoo.com.br

 

 

Universidade Estácio de Sá

Coordenação de Informática

 

 

Resumo: Aplicações acadêmicas estão sendo cada vez mais utilizadas pelas instituições para a gestão de informações, pois permitem facilidade e rapidez de acesso, baseadas nas informações mais simples e sucintas. O objetivo deste artigo é descrever uma solução em linguagem de programação Java para disponibilizar acesso móvel a informações, apresentando uma arquitetura e ferramentas ideais para esta aplicação. O resultado demonstra que é possível o acesso móvel às informações acadêmicas através de ferramentas gratuitas de desenvolvimento.

 

 

Abstract: Academic applications are being more and more used by the companies for the information administration, because they allow access easiness and rapidity, based on more recent information of your institution. This article has as goal describe a Java solution for mobile access the information, introducing architecture and tools that support such development. The result demonstrates that it is possible the utilization of Java technology, for the mobile access to the academic information and also the utilization tool free of development.

 

 

Palavras-chave: Wireless, Java, J2ME, J2EE, dispositivos móveis, informações acadêmicas

 

 

1. Introdução

 

 

No mundo acadêmico, hoje, faz-se necessário disponibilizar serviços e informações de forma rápida e eficiente. Em um ambiente de alta  demanda por informações, o acesso às mesmas torna-se indispensável. Torna-se cada vez mais evidente para as instituições de ensino, que a disponibilidade das informações, é ponto chave para a excelência de seus serviços. Atualmente, algumas tecnologias possibilitam a realização do que, em um passado recente, era inviável: acessar remotamente dados e informações, só disponíveis através de um terminal ou secretaria da instituição.

A evolução da indústria wireless através da tecnologia GSM, em conjunto  com a tecnologia Java para o desenvolvimento de aplicações J2ME, e dos próprios dispositivos móveis, veio possibilitar a criação de aplicações altamente elaboradas utilizando gráficos, cores, imagens e outros recursos.O artigo em questão visa expor o trabalho de conclusão de curso, baseado no desenvolvimento de uma aplicação acadêmica de acesso móvel, permitindo o acesso rápido e simples de informações acadêmicas do corpo discente.

 

2. Perspectiva de produto

 

O SIA Mobile - Sistema de Informações Acadêmicas Móvel - foi desenvolvido visando disponibilizar os dados da vida acadêmica do aluno, contidos em sua base de dados, com rapidez e praticidade. O aluno poderá através de um dispositivo móvel que suporte Java, instalar a aplicação, realizar solicitações de requerimentos, consulta a empréstimos de livros, consultas de datas e notas de provas, entre outras consultas e acompanhar o andamento dos requerimentos solicitados.

De qualquer lugar, o aluno pode acessar as informações de que mais necessita, sem a necessidade de se deslocar até o computador mais próximo conectado à Internet. Com a tecnologia celular podemos hoje prover acesso à informação de forma mais rápida e eficaz.

O sistema foi idealizado para o atendimento a uma das maiores demandas do corpo discente: o acesso às suas informações acadêmicas. Além de facilitar o acesso às informações, o sistema também as armazena para que possam ser acessadas pelo aluno no próprio celular, para consultas posteriores, dispensando uma nova conexão wireless.

 

3. Visão Geral

 

Os seguintes Casos de Uso fazem parte do SIA Mobile:

 

figura1.jpg

 

 figura2.jpg

 

 

Figura 1 – Diagrama de Casos de Uso

 

 

3.1 Descrição dos Atores

 

 

Aluno

 

Representa todos os alunos da universidade, que podem ser da graduação tradicional, politécnico ou pós-graduação.

 

 

Professor

 

Representa todo o corpo docente da universidade.

 

Operador

 

 

Representa os operadores que podem fazer ações de infra-estrutura e manutenção dos dados do sistema.

 

 

4. Tecnologias adotadas

 

Para atender aos requisitos do sistema, foi escolhida a tecnologia Java. O Net Beans IDE 4.1 com Mobility Pack, da Sun Microsystems foi utilizado como ferramenta de desenvolvimento. O servidor web utilizado foi o Tom Cat e como banco de dados o MySQL. As demonstrações do sistema foram feitas através do emulador do Wireless ToolKit J2ME na versão 1.0, embutido no próprio Net Beans. A seguir será apresentada uma breve descrição da tecnologia Java.

 

 

5. Visão geral da plataforma JAVA

 

Java é uma tecnologia criada pela Sun Microsystems que permite o desenvolvimento de programas para serem usados em qualquer plataforma de processamento que possua uma máquina virtual Java (Java Virtual Machine). A primeira edição lançada da plataforma Java foi a Java Standard Edition (J2SE), que cujo foco o desenvolvimento de aplicações desktop. Posteriormente foi lançada a edição para servidores chamada Java Enterprise Edition (J2EE), visando o desenvolvimento de aplicações servidoras distribuídas e que necessitam de alta performance.

 

Recentemente, com o crescimento de aplicações embutidas, foi criada a edição Java Micro Edition (J2ME), para ser utilizada em dispositivos que abrangem desde TV´s com acesso a Internet até celulares. Atualmente a tecnologia Java conta com mais uma edição chamada JavaCard que permite a criação de aplicações embutidas em cartões para diversas finalidades.  

 

figura3.jpg 

 

Figura 2 – Plataformas Java

 

 

5.1. Java Enterprise Edition (J2EE) – Server Side

 

Essa tecnologia tem como objetivo para possibilitar o desenvolvimento de sistemas servidores que necessitam de um alto desempenho, permitindo o uso de uma arquitetura distribuída. Permite a utilização de componentes Java Beans (JB), que são registrados em um servidor J2EE. Através do servidor, os JB’s disponibilizam suas interfaces que poderão ser utilizadas por uma diversidade de aplicações.

Em um projeto de aplicação distribuída, os JB são responsáveis pela camada de business do Java. É uma tecnologia criada pela Sun Microsystems que permite o desenvolvimento de programas a fim de serem usados em qualquer plataforma de processamento que possua uma máquina virtual Java (Java VirtualMachine). Os JB’s podem residir em máquinas distintas permitindo obter-se o máximo desempenho de cada máquina para a realização das transações do sistema.

 

 

5.2 Java Micro Edition (J2ME) – Client Side

 

 

Essa edição da plataforma Java foi construída com o objetivo de ser utilizada em dispositivos de baixa capacidade de processamento e armazenamento tais como: aparelhos celulares, PDAs, Internet screenphones, settop boxes digitais para TV, sistemas de navegação automotiva, comutadores e roteadores de rede, componentes para automação residencial, etc.

 

A plataforma J2ME é constituída das seguintes partes:

 

KVM – K Virtual Machine: Máquina virtual J2ME para que seja possível a execução das aplicações nos dispositivos móveis.

 

CLDC - Connection Limited Device Configuration: Camada de configuração que possui uma API limitada, com o mínimo necessário para que seja executada uma aplicação em um dispositivo móvel de baixa capacidade de processamento. O CLDC precisa de uma área específica de memória para o seu funcionamento, sendo assim, não há como o desenvolvedor de aplicações acessar partes da memória específica do dispositivo, como agenda de endereços e outras informações que dizem respeito ao usuário do dispositivo, garantindo assim a segurança contra possíveis defeitos de invasão de memória.

 

Os seguintes pacotes são disponibilizados:

 

_ java.io

_ java.lang

_ java.util

_ javax.microedition.io

 

Os três primeiros são herdados da edição Java Standard Edition (J2SE), porém com menos recursos, como por exemplo: não suportam tipo de dados ponto flutuante, finalização( Object.finalize() ) e Java Native Interface (JNI).

 

CDC – Connected Device Configuration: API utilizada no desenvolvimento de aplicações

para dispositivos com maior capacidade de processamento como, por exemplo, PDAs mais

robustos.

 

 

MIDP - Mobile Information Device Profile: Essa API acrescenta funcionalidades específicas a um determinado tipo de dispositivo móvel. O MIDP define os pacotes que estão no CLDC e adiciona os listados abaixo:

 

 

ü      javax.microedition.lcdui (interface com o usuário)

ü      javax.microedition.rms (sistema de gerência de registros para persistência de informações)

ü      javax.microedition.midlet

 

Atualmente os dispositivos móveis disponíveis no mercado que suportam J2ME utilizam a versão 1.0 do MIDP. Alguns fabricantes de dispositivos oferecem pacotes adicionais ao MIDP que são compatíveis apenas com determinados modelos. Portanto uma aplicação desenvolvida utilizando esses pacotes adicionais possuirá operações específicas correspondentes ao modelo do aparelho, o que torna difícil o uso da mesma aplicação para outros modelos com suporte J2ME.

Para que uma aplicação possa ser utilizada em qualquer dispositivo compatível com J2ME, ela deverá ser desenvolvida apenas utilizando os pacotes existentes na versão MIDP suportada.

 

 

6. Arquitetura do sistema:

 

O sistema possui três camadas:

 

Camada cliente: representada pela aplicação J2ME carregada dentro de um dispositivo móvel.

 

Camada de Negócios composta por:

 

ü      Java Beans componentes responsáveis pela lógica de negócios.

 

ü      Scripts JSP (Java Server Pages), responsáveis por controlar a conexão HTTP com a aplicação J2ME e a camada de apresentação e o layout do sistema.

 

ü      Servidor J2EE responsável por prover a infra-estrutura para uso dos Java Beans.

 

Camada de Acesso aos Dados composta por:

 

ü      Data Access Object (DAO Pattern), responsável pelo acesso aos dados na base de dados.

 

ü      Banco de dados MySQL.

 figura5.jpg

 

 

 

 

Figura 3 – Arquitetura do Sistema

 

7. Formas de se carregar uma aplicação J2ME em um dispositivo móvel

 

A aplicação poderá ser carregada no dispositivo de três formas:

 

• OTA (Over the Air download)

 

Utilizando esse meio é possível fazer o download de uma aplicação J2ME, sendo que para isso a aplicação deverá estar disponível em um servidor Web.

 

• Infravermelho

 

Utilizando esse meio é possível carregar uma aplicação no dispositivo através de uma sincronização de dados infravermelho com outro dispositivo que contenha a aplicação.

 

• Cabo de dados (Serial ou USB)

 

Esse modo permite que a aplicação J2ME seja carregada no dispositivo através de um programa de sincronização proprietário, instalado em um computador que, a partir de uma conexão serial ou USB, irá fazer a transferência da aplicação existente no computador para o dispositivo. As formas para se carregar à aplicação em um dispositivo são dependentes das características de cada aparelho.

 

 

8. Conclusões e futuros trabalhos

 

 

A tecnologia Java demonstrou ser viável, uma vez que a plataforma Java Enterprise Edition (J2EE) permite o desenvolvimento de aplicações servidoras simples, portáveis e possíveis de se integrar com outros sistemas existentes. A versão 1.0 do Java Micro Edition (J2ME) possui limitações quanto do desenvolvimento de interfaces gráficas mais elaboradas.

 

Como trabalho futuro, a aplicação poderá ser melhorada utilizando a nova versão da edição J2ME, que consiste no upgrade do CLDC 1.0 para CLDC 1.1 e MIDP 1.0 para MIDP 2.0. Entre as novidades da nova versão do MIDP destacam-se:

 

ü      API’s para desenvolvimento de interfaces gráficas mais elaboradas;

ü      Criação de conexões HTTPS, trazendo maior segurança no fluxo dos dados através da aplicação;

ü      MMA, Mobile Multimedia API, que permite o uso de áudio e vídeo em dispositivos móveis.

 

A aplicação poderá ser implementada sob um dos frameworks mais utilizados atualmente para sistemas em 3 camadas - o Struts.

Também poderão ser acrescentados novos requisitos no sistema SIA, como a matrícula nas disciplinas, pedido de reservas de livros e a implementação de criptografia sobre o tráfego dos dados.

 

 

 

9. Referências Bibliográficas

 

 

[Muchow2004] Muchow, John W. Core J2ME Tecnologia e MIDP, Rio de Janeiro: Makron Books, São Paulo, 2004.

 

[Mattos2005] Mattos, Érico T. Programação Java para Wireless, Rio de Janeiro: Digerati Books, 2005.

 

[Padilla2005] Padilla,Carlos Emíllio. NetBeans IDE 4.1 para desenvolvedores que utilizam a tecnologia Java, Rio de Janeiro: Brasport, 2005.

 

[Todd, Szolkowski2003] Todd, Nick; Szolkowski, Mark. Java Server Pages – O guia do desenvolvedor, Rio de Janeiro: Campus, 2ª. ed., 2003.

 

[Kurniawan2002] Kurniawan, Budi. Java para a WEB com ServLets, JSP e EJB, Rio de Janeiro:Ciência Moderna, 2002.

 

[Deitel2005] Deitel, H. M.; Deitel, P. J.. Java como Programar, São Paulo: Prentice Hall, 6ª. ed., 2005.

 

[Booch, Rumbaugh, Jacobson2000] Booch, Grady; Rumbaugh, James; Jacobson, Ivar. UML Guia do Usuário, Rio de Janeiro: Campus, 12ª ed.,2000.

 

 

Sítios:

 

Sítio da Sun Microsystens sobre J2EE. Disponível em: <http://java.sun.com/j2ee> . Acesso em: nov. 2005.

 

Sítio da Sun Microsystens sobre J2ME. Disponível em: <http://java.sun.com/j2me>.

Acesso em: nov. 2005.

 

Portal para desenvolvedores da Sun Microsystens. Disponível em: <http://developers.sun.com>. Acesso em: out. 2005.

 

Portal de desenvolvedores para dispositivos móveis. Disponível em: <http://www.portalwebmobile.com.br>. Acesso em: out. 2005.

 

Sabino, Vanessa. Criando e Destruindo objetos. Disponível em:<http://geocities.yahoo.com.br/vanessasabino/java/ej1.html>. Acesso em: nov. 2005.

 

Carniel, Juliano; Teixeira, Clóvis. Tutorial de J2ME. Disponível em: <http://www.portaljava.com.br >.Acesso em: out. 2005.