Your SlideShare is downloading. ×
Utiizando o Celular no Apoio à Gerência de configuração
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Utiizando o Celular no Apoio à Gerência de configuração

1,223
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,223
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Usando o celular no apoio á gerência de configuração Especialização Avançada em Sistemas Distribuídos Seminário de Computação Móvel UFBA - 2007
  • 2. Usando o celular no apoio á gerência de configuração Roteiro Aspectos relevantes na construção de aplicativos para dispositivos limitados Configuração Perfil Ambiente de desenvolvimento Construção de aplicativos J2ME
  • 3. Usando o celular no apoio á gerência de configuração Aspectos relevantes da configuração: A JVM do CLDC não suporta matemática de ponto flutuante Máximo de dígitos é 10 (CLDC 1.1 – Nokia 3600) Não há suporte ao método finalize()
  • 4. Usando o celular no apoio á gerência de configuração Aspectos relevantes da configuração: Classes são específicas da JVM Não tem suporte a reflexão Não tem suporte a classe ThreadGroup Não suporta referências fracas
  • 5. Usando o celular no apoio á gerência de configuração Aspectos relevantes do Perfil: Requisitos não-funcionais Memória S.O. Suporte aos serviços ( e.g. HTTPS, soquetes, datagramas, multimídia) Transferência do aplicativo para o dispositivo?
  • 6. Usando o celular no apoio á gerência de configuração MIDP 2.0: WMA – Wireless Media API (e.g. SMS) MMAPI – Mobile Media API (e.g. Multimídia) WSA - Webservices Location API - Serviços de Localização (e.g. GPS) M3G - Mobile 3D Graphics API
  • 7. Usando o celular no apoio á gerência de configuração Ambiente de desenvolvimento IDE Eclipse (Plugin EclipseME) Netbeans (Mobile pack) Jdeveloper da Oracle Jbuilder MobileSet da Borland
  • 8. Usando o celular no apoio á gerência de configuração Ambiente de desenvolvimento Editor de texto Linhas de comando Wireless Tool Kit da Sun Obter um simulador do dispositivo para a configuração e perfil adequado Emuladores (e.g. Motorola SDK, Nokia SDK, Siemens Mobility Toolkit)
  • 9. Usando o celular no apoio á gerência de configuração Construção de um aplicativo
  • 10. Usando o celular no apoio á gerência de configuração Construção de um aplicativo Funcionamento básico de uma MIDlet : 1Mostrar um Displayable; 2Esperar por ação do usuário; 3Decidir qual Displayable mostrar em seguida; 4Repetir a etapa 1.
  • 11. Usando o celular no apoio á gerência de configuração Construção de um aplicativo Criação da classe Midlet import javax.microedition.midlet.MIDlet; javax.microedition.midlet.MIDlet; javax.microedition.lcdui.*; import javax.microedition.lcdui.*; public final class OlaMundo extends MIDlet { /** * Caixa de texto para a mensagem quot;Olá Mundoquot;. */ textBox; TextBox textBox;
  • 12. Usando o celular no apoio á gerência de configuração Construção de um aplicativo Criação da classe Midlet OlaMundo() public OlaMundo() { textBox = new TextBox(quot;A Primeira MIDletquot;, quot;Olá Mundo!quot;, 255, TextBox(quot;A MIDletquot;, TextField.ANY); TextField.ANY); System.out.println(quot; .out.println(quot;MIDlet System.out.println(quot;MIDlet criada.quot;); } startApp() public void startApp() { ecrã. /* colocar a caixa de texto no ecrã. */ Display.getDisplay this).setCurrent(textBox); getDisplay( ).setCurrent Display.getDisplay(this).setCurrent(textBox); System.out.println(quot;MIDlet System.out.println(quot;MIDlet iniciada.quot;); .out.println(quot; }
  • 13. Usando o celular no apoio á gerência de configuração Construção de um aplicativo Criação da classe Midlet public void pauseApp() { pauseApp() System.out.println(quot; .out.println(quot;MIDlet System.out.println(quot;MIDlet pausada.quot;); } destroyApp( unconditional) public void destroyApp(boolean unconditional) { System.out.println(quot;MIDlet destruída.quot;); System.out.println(quot;MIDlet .out.println(quot; } }
  • 14. Usando o celular no apoio á gerência de configuração Construção de um aplicativo Parte 1 “na mão grande” 1 - Compilar: Javac bootclasspath ....libcldcapi10.jar;....libmipdpapi20.jar -d tmpclasses srcOlaMundo.java
  • 15. Usando o celular no apoio á gerência de configuração Ambiente de desenvolvimento Parte 1 “na mão grande” 2 - Verificar: preverify.exe -classpath ....libcldcapi10.jar;....libmidpapi20.jar -d classes tmpclasses
  • 16. Usando o celular no apoio á gerência de configuração Ambiente de desenvolvimento Parte 1 “na mão grande” 3 – Criar o descritor e arquivo de Manifesto (NomedaAplicação.jad e MANIFEST.MF) MIDlet-Name: MIDlet-Name: Ola Mundo MIDlet-Version: MIDlet-Version: 1.0.0 MIDlet-Vendor: MIDlet-Vendor: EASD 2007 MIDlet- OlaMundo.png, MIDlet-1: Ola Mundo, OlaMundo.png, OlaMundo MicroEdition-Profile: MIDP- MicroEdition-Profile: MIDP-2.0 MicroEdition-Configuration: CLDC- MicroEdition-Configuration: CLDC-1.0 MIDlet-Jar- OlaMundo. MIDlet-Jar-URL: OlaMundo.jar MIDlet-Jar-Size: MIDlet-Jar-Size: 100
  • 17. Usando o celular no apoio á gerência de configuração Ambiente de desenvolvimento Parte 1 “na mão grande” 4 – Empacotar (gerar um arquivo .jar) C:j2sebin C:j2sebinjar OlaMundo. manifest. cfm OlaMundo.jar manifest.mf -C classes . -C res .
  • 18. Usando o celular no apoio á gerência de configuração Parte 2 – Usando o WTK 2.5.1
  • 19. Usando o celular no apoio á gerência de configuração Coleta de dados de informações do S.O. usando API Win32 e Windows Registry; Agente construído usando o Borland Delphi 7; Cliente utiliza o J2ME Wireless Toolkit da Sun versão 2.5.1 para a configuração CLDC 1.1 e perfil MIDP 2.0.
  • 20. Usando o celular no apoio á gerência de configuração Celular Utilizado: Nokia 3100 CLDC 1.0 Máximo 64 kB alocação de memória Aplicação de gerência 3 kB Suporte ao MIDP 1.0 Apenas o MIDP 2.0 suporta soquetes Implementação da classe HTTP como uma alternativa através do método GET
  • 21. Usando o celular no apoio á gerência de configuração Demonstração
  • 22. Usando o celular no apoio á gerência de configuração //Implementação da função obter usuário no agente //Implementação função usuá çã çã function TForm1.LogUser : String; //Declare Registry na clausula uses da unit var Registro: TRegistry; begin Registro := TRegistry.Create; Registro.RootKey := HKEY_CURRENT_USER; if Registro.OpenKey('SoftwareMicrosoftWindowsCurrentVersionExpl Registro.OpenKey('SoftwareMicrosoftWindowsCurrentVersion orer', false) then result := Registro.ReadString('Logon User Name'); Registro.Free; Registro.Free; end;
  • 23. Usando o celular no apoio á gerência de configuração //Implementação da função executar programa no agente //Implementação função çã çã Function TForm1.ExecuteProgram(Nome,Parametros:String):String; Begin //Declarar API shell32 try if (ShellExecute(0, 'open', pchar(Nome),nil,nil, SW_SHOWNORMAL)) > 0 then result:= 'Aplicação executada.' 'Aplicação executada.' çã else result:= 'Aplicação não existe.'; 'Aplicação nã existe.'; çã except result:= 'Erro na execução da aplicação.'; execução aplicação çã çã end; End;
  • 24. Usando o celular no apoio á gerência de configuração //Implementação da função efetuar log off de um usuário no agente //Implementação função usuá çã çã procedure TForm1.logoff; Begin //Declarar API shell32 ExitWindowsEx(EWX_LOGOFF,0); end;
  • 25. Usando o celular no apoio á gerência de configuração //Implementação da conexão soquete no celular //Implementação conexã çã try { String server = servidor.getString(); String port = porta.getString(); String name = quot;socket://quot; + server + quot;:quot; + port; socket = (StreamConnection)Connector.open(name, Connector.READ_WRITE); } catch (Exception ex) { Alert alert = new Alert(quot;Erro!quot;, quot;Servidor instável para novas conexões.nquot; + quot;Por instá conexões. quot;Por tarde.quot;, favor, tente novamente mais tarde.quot;, null, AlertType.ERROR); alert.setTimeout(Alert.FOREVER); tela.setCurrent(alert, endForm); return; }
  • 26. Usando o celular no apoio á gerência de configuração
  • 27. Usando o celular no apoio á gerência de configuração Conclusão Facilidade no desenvolvimento de aplicativos simples Desafios na área de multimídia (e.g. assistir TV no celular, jogos, câmera, luneta) O código deve ser bem escrito por questões de limitação do processamento e memória O Brasil é referência na área de testes de software para celulares (e.g. Residência da Motorola Recife, Centro de Tecnologia Nokia)
  • 28. Usando o celular no apoio á gerência de configuração Congressos: SBAC-PAD/WSCAD - Simpósio Brasileiro de Arquiteturas de Computadores e Processamento de Alto Desempenho / Workshop Sistemas de Computação de Alto Desempenho. SBRC - Simpósio Brasileiro de Redes de Computadores. SBLP - Simpósio Brasileiro de Linguagens de Programação . WCSF - Workshop em Comunicação Sem Fio e Computação Móvel.
  • 29. Usando o celular no apoio á gerência de configuração Congressos: CLEI - Latin-American Conference on Informatics. IDEAS - Workshop Iberoamericano de Ingeniería de Requisitos y Ambientes Software. SCCC - Jornadas Chilenas de Computación 2001. Workshop en Sistemas Distribuídos y Paralelismo. . CACIC - Congreso Argentino de Ciencias de la Computación / Workshop de Procesamiento Distribuido y Paralelo.
  • 30. Usando o celular no apoio á gerência de configuração Congressos: MobiSys - ACM/USENIX Annual International Conference on Mobile System, Applications and Services. MDM - International Conference on Mobile Data Managment . UbiComp - International Conference on Ubiquitous Computing. Mobicom - Annual International Conference on Mobile Computing and Networking.
  • 31. Usando o celular no apoio á gerência de configuração Congressos: Pervasive - International Conference on Pervasive Computing. WMCSA - IEEE Workshop on Mobile Computing Systems & Applications. AMOC - Asian International Mobile Computing Conference. IPDPS - International Workshop on Parallel and Distributed Computing.
  • 32. Usando o celular no apoio á gerência de configuração Referências: Java para telemóveis MIDP 2.0 http://livromidp.jorgecardoso.eu/html/chap4.html Ortiz, E. A Survey of J2ME today. http://developers.sun.com Muchow, J. W. Core J2ME, 2004. Mahmoud, Q. H. J2ME Low-Level Network Programming with MIDP 2.0. http://developers.sun.com Liscbner, R. Delphi in a nutshell, 2000.
  • 33. Usando o celular no apoio á gerência de configuração Referências: Lobo R. Incrementando o Delphi, 1998. CLDC Configuração de Dispositivo Conectado Limitado. http://java.sun.com/products/cldc. Perfil de dispositivo de informação móvel 2.0. http://java.sun.com/products/midp. Java SDK Standart Edition 1.5. http://java.sun.com/javase. J2ME Wireless Toolkit. http://java.sun.com/javame.