SlideShare a Scribd company logo
1 of 33
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
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
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()
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
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?
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
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
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)
Usando o celular no apoio á
   gerência de configuração

Construção de um aplicativo
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.
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;
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;
  }
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;
}
}
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
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
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
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 .
Usando o celular no apoio á
  gerência de configuração
Parte 2 – Usando o WTK 2.5.1
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.
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
Usando o celular no apoio á
 gerência de configuração




      Demonstração
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;
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;
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;
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;
          }
Usando o celular no apoio á
 gerência de configuração
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)
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.
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.
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.
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.
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.
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.

More Related Content

Viewers also liked

Pnaic xerox-3ª formação-parte ii
Pnaic xerox-3ª formação-parte iiPnaic xerox-3ª formação-parte ii
Pnaic xerox-3ª formação-parte iiFatima Lima
 
Sem TíTulo 1
Sem TíTulo 1Sem TíTulo 1
Sem TíTulo 1Edilson
 
Sinaisdetransito
SinaisdetransitoSinaisdetransito
SinaisdetransitoIvone Lage
 
Controle Remoto de Residências
Controle Remoto de ResidênciasControle Remoto de Residências
Controle Remoto de ResidênciasJaguaraci Silva
 
Jack Petchey
Jack PetcheyJack Petchey
Jack Petcheyfreixo99
 
Nanutre (1)
Nanutre (1)Nanutre (1)
Nanutre (1)anmoon
 
Auditoria ao-grupo-sporting-clube-de-portugal
Auditoria ao-grupo-sporting-clube-de-portugalAuditoria ao-grupo-sporting-clube-de-portugal
Auditoria ao-grupo-sporting-clube-de-portugalNuno Constantino
 
Palestra marcos hiller na facesm itajubá - tsunami marketing
Palestra marcos hiller na facesm   itajubá - tsunami marketingPalestra marcos hiller na facesm   itajubá - tsunami marketing
Palestra marcos hiller na facesm itajubá - tsunami marketingMarcos Hiller
 
Las ntic esas grandes compañeras
Las ntic esas grandes compañerasLas ntic esas grandes compañeras
Las ntic esas grandes compañerasfanelpamplo
 
Proyecto final
Proyecto finalProyecto final
Proyecto finalaguitefy
 
2ª Aula de Recuperação - 2ª Série EM - Geografia
2ª Aula de Recuperação - 2ª Série EM - Geografia2ª Aula de Recuperação - 2ª Série EM - Geografia
2ª Aula de Recuperação - 2ª Série EM - GeografiaAntonio Carlos da Silva
 
Pnaic síntese caderno 3
Pnaic síntese caderno 3Pnaic síntese caderno 3
Pnaic síntese caderno 3Fatima Lima
 
Presentación señales 1
Presentación señales 1Presentación señales 1
Presentación señales 1Lilianazuk
 

Viewers also liked (20)

Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Pnaic xerox-3ª formação-parte ii
Pnaic xerox-3ª formação-parte iiPnaic xerox-3ª formação-parte ii
Pnaic xerox-3ª formação-parte ii
 
Vii evaluacion ascenso huaral
Vii evaluacion ascenso huaralVii evaluacion ascenso huaral
Vii evaluacion ascenso huaral
 
Sem TíTulo 1
Sem TíTulo 1Sem TíTulo 1
Sem TíTulo 1
 
Sinaisdetransito
SinaisdetransitoSinaisdetransito
Sinaisdetransito
 
Controle Remoto de Residências
Controle Remoto de ResidênciasControle Remoto de Residências
Controle Remoto de Residências
 
Trabalho Final B S C
Trabalho  Final  B S CTrabalho  Final  B S C
Trabalho Final B S C
 
Plantilla de plan_de_unidad[1]
Plantilla de plan_de_unidad[1]Plantilla de plan_de_unidad[1]
Plantilla de plan_de_unidad[1]
 
Jack Petchey
Jack PetcheyJack Petchey
Jack Petchey
 
Dinamica1
Dinamica1Dinamica1
Dinamica1
 
Nanutre (1)
Nanutre (1)Nanutre (1)
Nanutre (1)
 
Sponge Bob
Sponge BobSponge Bob
Sponge Bob
 
Auditoria ao-grupo-sporting-clube-de-portugal
Auditoria ao-grupo-sporting-clube-de-portugalAuditoria ao-grupo-sporting-clube-de-portugal
Auditoria ao-grupo-sporting-clube-de-portugal
 
Palestra marcos hiller na facesm itajubá - tsunami marketing
Palestra marcos hiller na facesm   itajubá - tsunami marketingPalestra marcos hiller na facesm   itajubá - tsunami marketing
Palestra marcos hiller na facesm itajubá - tsunami marketing
 
Las ntic esas grandes compañeras
Las ntic esas grandes compañerasLas ntic esas grandes compañeras
Las ntic esas grandes compañeras
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
2ª Aula de Recuperação - 2ª Série EM - Geografia
2ª Aula de Recuperação - 2ª Série EM - Geografia2ª Aula de Recuperação - 2ª Série EM - Geografia
2ª Aula de Recuperação - 2ª Série EM - Geografia
 
Esquema bien
Esquema bienEsquema bien
Esquema bien
 
Pnaic síntese caderno 3
Pnaic síntese caderno 3Pnaic síntese caderno 3
Pnaic síntese caderno 3
 
Presentación señales 1
Presentación señales 1Presentación señales 1
Presentación señales 1
 

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

Similar to Utiizando o Celular no Apoio à Gerência de configuração (20)

Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
 
Caelum Day In Rio
Caelum Day In RioCaelum Day In Rio
Caelum Day In Rio
 
Tutorial java swing
Tutorial java swingTutorial java swing
Tutorial java swing
 
Android
AndroidAndroid
Android
 
Phonegap
PhonegapPhonegap
Phonegap
 
Power mock
Power mockPower mock
Power mock
 
Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Aula 02 fundamentos
Aula 02   fundamentosAula 02   fundamentos
Aula 02 fundamentos
 
Python Para Maemo
Python Para MaemoPython Para Maemo
Python Para Maemo
 
Introdução Silverlight Windows Phone
Introdução Silverlight Windows PhoneIntrodução Silverlight Windows Phone
Introdução Silverlight Windows Phone
 
Android Wear
Android WearAndroid Wear
Android Wear
 
seAbilio
seAbilioseAbilio
seAbilio
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023
 
Web Rangers e Power APIs
Web Rangers e Power APIsWeb Rangers e Power APIs
Web Rangers e Power APIs
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework Mobile
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
 

More from Jaguaraci Silva

Mobilidade Urbana por Meio de Vias Inteligentes
Mobilidade Urbana por Meio de Vias InteligentesMobilidade Urbana por Meio de Vias Inteligentes
Mobilidade Urbana por Meio de Vias InteligentesJaguaraci Silva
 
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...Jaguaraci Silva
 
Mapa mental tecnologias de separação de interesses
Mapa mental tecnologias de separação de interessesMapa mental tecnologias de separação de interesses
Mapa mental tecnologias de separação de interessesJaguaraci Silva
 
Mapa mental programação extrema
Mapa mental programação extremaMapa mental programação extrema
Mapa mental programação extremaJaguaraci Silva
 
Mapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilMapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilJaguaraci Silva
 
Mapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareMapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareJaguaraci Silva
 
Mapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeMapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeJaguaraci Silva
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingJaguaraci Silva
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Jaguaraci Silva
 
What agile teams think about agile principles
What agile teams think about agile principlesWhat agile teams think about agile principles
What agile teams think about agile principlesJaguaraci Silva
 
FRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaFRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaJaguaraci Silva
 
FACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIFACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIJaguaraci Silva
 
SOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationSOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationJaguaraci Silva
 
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Jaguaraci Silva
 
Windows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewWindows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewJaguaraci Silva
 
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJBusiness Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJJaguaraci Silva
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioJaguaraci Silva
 
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Jaguaraci Silva
 
Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Jaguaraci Silva
 

More from Jaguaraci Silva (20)

Oracle soa suite 11 g
Oracle soa suite 11 gOracle soa suite 11 g
Oracle soa suite 11 g
 
Mobilidade Urbana por Meio de Vias Inteligentes
Mobilidade Urbana por Meio de Vias InteligentesMobilidade Urbana por Meio de Vias Inteligentes
Mobilidade Urbana por Meio de Vias Inteligentes
 
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
 
Mapa mental tecnologias de separação de interesses
Mapa mental tecnologias de separação de interessesMapa mental tecnologias de separação de interesses
Mapa mental tecnologias de separação de interesses
 
Mapa mental programação extrema
Mapa mental programação extremaMapa mental programação extrema
Mapa mental programação extrema
 
Mapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilMapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágil
 
Mapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareMapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de Software
 
Mapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeMapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidade
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software Testing
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
 
What agile teams think about agile principles
What agile teams think about agile principlesWhat agile teams think about agile principles
What agile teams think about agile principles
 
FRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaFRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica Corporativa
 
FACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIFACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TI
 
SOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationSOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM Certification
 
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
 
Windows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewWindows Server 2008 R2 Overview
Windows Server 2008 R2 Overview
 
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJBusiness Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
 
Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.
 

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

  • 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.