Você está na página 1de 18

SERVIO PBLICO FEDERAL MEC-SETEC INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DE MATO GROSSO DEPARTAMENTO DA REA DE INFORMTICA CURSO

SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES

APLICATIVO DE VERIFICAO DE STATUS DE PGINAS WEB UTILIZANDO JAVA MICRO EDITION

Discentes Maryel Juliane de Souza e Silva Willdson Gonalves de Almeida Orientador da Disciplina Prof. Dr. Ruy de Oliveira

Cuiab MT 2012

APLICATIVO DE VERIFICAO DE STATUS DE PGINAS WEB UTILIZANDO JAVA MICRO EDITION

Trabalho apresentado disciplina de Redes sem Fio do CST em Redes de Computadores do Instituto Federal de Educao, Cincia e Tecnologia de Mato Grosso Campus Cuiab como parte dos requisitos necessrios obteno do ttulo de tecnlogo.

Cuiab MT 2012

RESUMO
Este trabalho descreve um aplicativo desenvolvido para dispositivos mveis utilizando o ambiente integrado de desenvolvimento (IDE) NetBeans e linguagem de programao Java Micro Edition (J2ME). Desenvolvido baseado em estudos feitos pelos autores deste trabalho, como requisito para aprovao na disciplina de redes sem fio do Curso Superior de Redes de Computadores do Instituto Federal de Mato Grosso, Campus Cuiab. O objetivo do aplicativo verificar status de funcionamento de servidores web utilizando o protocolo HTTP (Hypertext Transfer Protocol).

Palavras-chave: NetBeans, Java ME, IFMT, HTTP.

LISTA DE ABREVIATURAS
HTTP Hypertext Tranfer Protocol IDE Integrated Development Environmen PDA Personal Digital Assistant JCP Java Community Proccess API Application Programming Interface JME/J2ME Java Micro Edition JRE Java Run-Time Environment CDC Connected Device Configuration

SUMRIO
INTRODUO ............................................................................................................ 6 1. DESCRIO DO APLICATIVO .............................................................................. 7 1.1 CDIGO-FONTE .............................................................................................. 7 1.2 INTERFACE DO APLICATIVO ....................................................................... 10 CONCLUSES ......................................................................................................... 14 REFERNCIAS ......................................................................................................... 15 ANEXO A CDIGO FONTE COMPLETO DO APLICATIVO ................................ 16

INTRODUO
Java Plataform, Micro Edition, Java ME, ou ainda J2ME, uma tecnologia que possibilita o desenvolvimento de software para sistemas e aplicaes embarcadas, ou seja, toda aquela que roda em um dispositivo de propsito especfico, desempenhando alguma tarefa que seja til para o dispositivo. a plataforma Java para dispositivos compactos, como celulares, PDAs, controles remotos e diversos outros dispositivos. Java ME uma coleo de APIs do Java definidas atravs da JCP (Java Community Proccess). A comunidade JCP adotou duas abordagens para especificar as necessidades dos pequenos dispositivos - a sua arquitetura computacional. Primeiro eles definiram o ambiente de execuo JRE (Java Run-Time Environment), e um conjunto de classes bsicas, chamadas de core, que operam sobre cada dispositivo. Isso foi denominado Configurations. Uma configurao define a JVM (Java Virtual Machine) para um pequeno e especfico dispositivo computacional. H duas configuraes para um dispositivo embarcado, uma para dispositivos com maior capacidade computacional (High-end consumer devices), denominado CDC (Connected Device Configuration). A outra com menor capacidade computacional (Low-end consumer devices), denominado CLDC (Connected Limited Device Configuration). A segunda abordagem foi definida como um perfil. Um perfil consiste em um conjunto de classes que possibilita os desenvolvedores de software programar as aplicaes de acordo com as caractersticas das aplicaes dos pequenos dispositivos computacionais. Foi denominado o MIDP (Mobile Information Device Profile), oferecendo recursos como rede, componentes de interface, armazenamento local, etc. O trabalho descreve o desenvolvimento de um aplicativo para dispositivos mveis utilizando o ambiente integrado de desenvolvimento (IDE) NetBeans e linguagem de programao Java Micro Edition (J2ME). Desenvolvido baseado em estudos feitos pelos autores deste trabalho, como requisito para aprovao na disciplina de redes sem fio. Do Curso Superior de Redes de Computadores do Instituto Federal de Mato Grosso, Campus Cuiab. O objetivo do aplicativo verificar status de funcionamento de servidores web utilizando o protocolo HTTP (Hypertext Transfer Protocol), classe RunTimerTask. 6

1. DESCRIO DO APLICATIVO
1.1 CDIGO-FONTE

Informaes sobre os autores e finalidade do aplicativo.

Estas so as bibliotecas utilizadas no desenvolvimento do aplicativo para criao das funes bsicas de MIDLET bem como funes de httpconnection e timer.

Aqui so instanciadas as variveis que sero utilizadas no aplicativo, ateno especial para as variveis url (armazena o endereo do site inserido pelo usurio) e RunTimerTask que faz a conexo com a pgina requisitada e devolve a resposta aplicao.

Neste momento, so descritos os parmetros que iro reger o display do dispositivo mvel, como ttulo do aplicativo, mensagens dos menus de navegao e 7

caractersticas do campo textfield que ir capturar o endereo digitado pelo usurio e que posteriormente ser armazenado na varivel url, como j foi citado na figura anterior.

A classe RunTimerTask responsvel pelo processo de ping do protocolo HTTP neste aplicativo.

De acordo com a condio do processo de conexo, uma das mensagens ser mostrada no display do dispositivo. Se a conexo for bem sucedida a mensagem HttpConnection com sucesso para: + site digitado ser impressa na tela, se no houver conexo, a mensagem Sem resposta de: + site digitado ser mostrada.

As condies de parada e finalizao do aplicativo so descritas abaixo.

Como mencionado anteriormente, abaixo inserido o prefixo do protocolo HTTP na varivel url e tambm adicionado o contedo da varivel textfield que armezenou o endereo do site que foi digitado pelo usurio. Tambm impresso uma mensagem no console da IDE Netbeans a mensagem Conectando quando houver tentativa de conexo.

Neste trecho do cdigo definido o intervalo de tempo entre uma tentativa de conexo e a tentativa seguinte, que no aplicativo foi configurado em 15 segundos.

1.2

INTERFACE DO APLICATIVO

A interface do aplicativo tem a funo de demonstrar e facilitar a execuo do aplicativo para dispositivo mvel, assim como qualquer interface de programas aplicativos ou sistemas operacionais para computadores. Neste caso, a tela inicial do aplicativo demonstra uma caixa de texto onde ser inserido o endereo do site, alm dos botes Exit e Menu.

10

No boto Menu, na opo 1 so mostradas as configuraes do teclado do dispositivo, na opo 2 o boto Ir executa um submit no endereo digitado pelo usurio.

Aps a escolha das configuraes do teclado, possvel digitar o endereo do site para verificao do status da pgina.

11

Submetendo o endereo digitado para verificao, ser demonstrado na interface o resultado do status do site. A requisio ser realizada a cada 15 segundos, com possibilidade de reconfigurao do perodo cdigo-fonte.

Resposta da requisio bem sucedida.

12

Requisio sem resposta.

13

CONCLUSES

Atravs deste trabalho conclumos que este aplicativo bastante funcional no que diz respeito a conexes de rede, j que os dispositivos mveis modernos possuem diversas maneiras de conexo tanto a redes locais (LAN) quanto a rede mundial de computadores. Que pode ocorrer via GPRS, 3G, 4G, Wi-Fi e outras diversas maneiras.

14

REFERNCIAS
ARAUJO, W.; Curso JavaME. Tecnocincia. 2011 <http://pt.scribd.com/doc/7299802/JavaME-Curso> Acesso em: 10/02/2011. WIKIPDIA. Java ME. <http://pt.wikipedia.org/wiki/Java_ME> Acesso em: 11/02/2011. JAVA-TIPS, Ping em conexes de rede nos dispositivos J2ME. <http://www.java-tips.org/java-me-tips/midp/how-to-ping-network-connection-onj2me-device.html> Acesso em 06/02/2011.

15

ANEXO A CDIGO FONTE COMPLETO


/* Aplicativo de verificao de status de servidores HttpWeb. * Desevolvido por: Willdson Almeida <will_willdson@hotmail.com> * Maryel Silva <maryeljuliane@gmail.com> * Disciplina de Redes sem Fio - CST em Redes de Computadores - Instituto Federal de Mato Grosso - Campus Cuiab */ //Importando bibliotecas import java.io.*; import java.util.Timer; import java.util.TimerTask; import javax.microedition.midlet.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; //Declarando variveis da classe pblica pingMIDLET extendendo o a classe MIDLET public class pingMIDLET extends MIDlet implements CommandListener{ private Display display; private String url; private Form form; private Command exit; private Command submit; private Command stop; private Timer timer; private RunTimerTask tt; private int count = 0; boolean isPing = false; private TextField textfield; //Atribuindo comandos do display public pingMIDLET() { display = Display.getDisplay(this); form = new Form("Teste de Pginas Web"); exit = new Command("Exit", Command.EXIT, 2); stop= new Command("Parar", Command.STOP, 3); textfield = new TextField("Endereo do Site: ", "", 50, TextField.URL); submit = new Command("Ir", Command.SCREEN, 1); } //Atribuindo comandos do display public void startApp() { display = Display.getDisplay(this); form.addCommand(exit); form.addCommand(submit); form.addCommand(stop); form.append(textfield); form.setCommandListener(this); display.setCurrent(form); } /*-------------------------------------------------* Classe RunTimerTask *-------------------------------------------------*/

16

private class RunTimerTask extends TimerTask { public final void run() { HttpConnection c = null; OutputStream os = null; InputStream is = null; int ch; StringBuffer b = new StringBuffer(); try { c = (HttpConnection)Connector.open(url); // Configurando o request method e cabealhos c.setRequestMethod(HttpConnection.POST); c.setRequestProperty( "If-Modified-Since","7 Sep 2005 19:43:31 GMT"); c.setRequestProperty( "User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0"); c.setRequestProperty("Content-Language", "en-US"); // Otendo a sada os = c.openOutputStream(); os.write("Ping".getBytes()); os.flush(); is = c.openInputStream(); while ((ch = is.read()) != -1) { b.append((char)ch); } isPing = true; //Imprimindo resultado da conexo, se positivo form.append("HttpConnection com sucesso para: " + url); } catch(IOException e) { isPing = false; //Imprimindo resultado da conexo se negativo form.append("Sem resposta de: " + url); } finally { try { is.close(); os.close(); c.close(); } catch (IOException ex) { ex.printStackTrace(); } } } } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable d) { if (c == stop) { timer.cancel(); } else if (c == exit) { destroyApp(false); notifyDestroyed(); } if (c == submit) { //Adicionando ao contedo do textfield com o endereo do site, o protocolo http. url = "http://";

17

url += textfield.getString(); System.out.println("Conectando... " + url); timer = new Timer(); tt = new RunTimerTask(); // Repetindo a cada 15 segundos timer.schedule(tt,0, 1000*15); if(isPing) { timer.cancel(); } } } }

18