SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Desenvolvimento de
   aplicações corporativas Java
   ME – NetBeans 5.5, Mobility
         Pack, Nokia SDKs




              MGJUG – Janeiro de 2007
Juarez Junior - Arquiteto / Desenvolvedor de Software
Palestrante
• Juarez Barbosa Junior
  – Senior Systems Architect / Java Software Expert
    – Unisys
  – SCMAD - Sun Certified Mobile Application
    Developer
  – SCAJ/SCPJ2/SCWCD/SCBCD e SCEA I
  – Forum Nokia Champion
Agenda
•   Java ME - 2007
•   Mercado: Corporativo x Entretenimento
•   JME – Restrições, plataformas, diferenças
•   APIs / JSRs para o mundo corporativo
•   MVC MIDlet
•   Nokia SDKs – device x prototype
•   NetBeans 5.5 Mobility Pack
•   Demo / Cases
JTWI – JSR-185
• Primeira tentativa, reduziu fragmentação
  – MIDP 2.0
  – CLDC 1.0/1.1
  – MMAPI 1.1
MSA (CLDC) – JSR-248
• Evolução JTWI, mais recursos
  – MSA for CLDC
  – MSA subset for CLDC
MSA Advanced (CDC) – JSR-249
• Evolução JTWI, mais recursos, flexibilidade
  – MSA Advanced for CDC
  – JSR-232: Mobile Operational Management
    (OSGi)
  – Foundation Profile
  – Personal Profile
MIDP 3.0...
• JSR 271: Mobile Information Device Profile
  3
  – Compatibilidade com MIDP 2.0 (key design goal)
  – LIBlets
  – Especificar o comportamento adequado para
    MIDlets em ambientes CLDC, CDC e OSGi:
     • Permitir MIDlets concorrentes em uma VM
     • Definir limites (firewalling), comportamento runtime,
       gerenciamento do ciclo de vida
     • Permitir background MIDlets (UI-less)
     • Permitir auto-launched MIDlets (iniciada em boot
       time)
MIDP 3.0...
• JSR 271: Mobile Information Device Profile
  3
  – Permitir bibliotecas compartilhadas entre os
    MIDlets
  – Esclarecer alguns pontos que vão permitir
    interoperabilidade entre dispositivos
  – Melhorar funcionalidades em vários aspectos.
     •   Melhorar usabilidade e extensibilidade (UI)
     •   Melhorar suporte a dispositivos com displays maiores
     •   Permitir acesso a displays secundários
     •   Segurança para bancos RMS
     •   Bancos RMS remotos
     •   IPv6
MIDP 3.0...
• JSR 271: Mobile Information Device Profile
  3
  – Definir outros padrões para provisão de MIDlets
    (OMA (SyncML) DM/DS, Bluetooth, removable
    media, MMS, JSR-232, etc.)
  – Melhorar pesquisa de características dos
    dispositivos
  – Localização & Internationacionalização (se
    necessário, aumentar JSR-238)
  – http://jcp.org/en/jsr/detail?id=271
  – https://opensource.motorola.com/sf/sfmain/do/viewP
CDC – Connected Device Configuration
• JSR-36: CDC - Connected Device
  Configuration
  –   Classe Java comum - main()
  –   Xlets
  –   Applets
  –   AWT, JDBC, RMI subset for CDC
• JSR-218: CDC 1.1
  – Atualizar APIs do J2ME CDC 1.0 com definições
    do J2SE, v1.4.
  – Atualizar APIs do J2ME CDC 1.0 usando
    definições do J2ME CLDC 1.1.
  – Adicionar novas APIs do J2SE, v1.4.
CDC – Mercado atual
• Nokia Series 80 e Sony Ericsson UIQ 3
Mercado
• Aplicações corporativas (foco)
  – Processo de negócio, formulários, mobile web,
    transações, segurança
     • Missão crítica, HA, failover, ACID
     • Hoje – Big $$$ - perfil usuário
• Entretenimento
  – Jogos, música, fotografia, social networks,
    comunidades online
     • Diversão, sem requisitos HA, failover
     • Hoje - $$$ - perfil usuário
Aplicacões corporativas
• Processos de negócio, soluções usando:
  –   Formulários, páginas WML, (X)HTML, Ajax
  –   JME – MIDP 2.0 High-level API (Form)
  –   JME – MIDP 2.0 Low-level API (Canvas)
  –   HTTP, raw sockets, UDP, SIP, Bluetooth
  –   Suporte WLAN
  –   Teclado QWERTY (mas ITU-T também)
  –   Low-end, mid, high-end mas geralmente sem
      foco multimídia (apenas se ligado ao core biz da
      empresa)
Enterprise Java ME
• Enterprise J2ME: Developing Mobile Java
  Applications by Michael Juntao Yuan

  –   Mobile commerce
  –   Managed smart clients
  –   Mobile messaging
  –   P2P
  –   Enterprise messaging – MQe
  –   Mobile databases
Java ME – Desafios, restrições
•   Memória – runtime heap, jar, storage
•   Conectividade
•   Sistema operacional e plataforma
•   Versões – Configuration, Profile, Opt Packs
•   Suporte pela implementação (JSRs), bugs (firmware)
Java ME – Nokia 6060 x N93
• Memória – runtime heap, jar, storage
Java ME – Nokia 6060 x N93
• Conectividade
Java ME – Nokia 6060 x N93
• Sistema Operacional e plataforma

• Nokia 6060
  – Nokia OS, closed environment (oops, iPhone?)
  – Series 40 Developer Platform 2.0


• Nokia N93
  – Symbian OS v9.1
  – S60 3rd Edition
Java ME – Nokia 6060 x N93
• Versões do Java – Configuration, Profile,
  Optional Packs
APIs / JSRs enterprise
• Configurations
   – CLDC 1.0, 1.1, CDC 1.0, CDC 1.1
• Profiles
   – MIDP 1.0, MIDP 1.1, IMP 1.0, IMP-NG, FP, PP, PBP
• Optional Packages
   –   Bluetooth (JSR-82)
   –   WMA (JSRS 120 e 205)
   –   WebServices (JSR-172)
   –   PIM and FileConnection (JSR-75)
   –   Location API (JSR-179)
   –   Mobile Internationalization API (JSR-238)
   –   SIP API for JME (JSR-180)
   –   SATSA (JSR-177), S2DVG (JSR-226)
Redes
• MIDP 1.0/ 2.0 GCF
Interfaces Gráficas
• MIDP UI API – LCDUI – High e Low level
Interfaces Gráficas
• MIDP – High-level UI API
Interfaces Gráficas
• MIDP – Low-level UI API
MVC MIDlet
•   Model – DAO
•   View – Form, Canvas
•   Controller – MVCMIDlet
•   Stateless x Stateful
Nokia SDKs
• Prototype SDKs (baseados nas RIs)
  –   Maior performance
  –   APIs - acesso antecipado
  –   Mais screen sizes
  –   Mais APIs
  –   Sem garantia de execução e comportamento
  –   Nokia Prototype SDK for Java™ Platform, Micro
      Edition
• Device SDKs (firmware)
  –   Menor performance
  –   Screen sizes conforme plataforma, dispositivo alvo
  –   APIs conforme plataforma, dispositivo
  –   Mesma software stack do device, emulação próxima do
      real
NetBeans Mobility Pack
• Features - CLDC
  – Suporta Connected, Limited Device Configuration (CLDC)
    1.1
  – Suporta MIDP Mobile Information Device Profile (MIDP)
    2.0
  – Integração Sun Java Wireless Toolkit e vendor-SDKs
  – Suporta Java ME Web Services (JSR 172)
  – Ferramentas SVG-T
  – Várias opções para deploy: HTTP, WebDAV, FTP e SCP a
    partir do IDE
  – Suporta emulação Over-The-Air emulation (OTA),
    emulação de push registry, Wireless Messaging e
    Multimedia APIs, e WMA usando SMS e CBS
NetBeans Mobility Pack
• Features - CDC
  – Suporta Connected Device Configuration (CDC)
    com Sony Ericsson P990, Sony Ericsson M600,
    Nokia Series 80 e SavaJe Jasper S20
  – Visual GUI Designer para aplicações CDC
  – Suporte para aplicações Symbian (SIS)
  – Testes com Junit: Suporta testar aplicações
    CDC com JUnit
NetBeans Mobility Pack
• Features – Development Cycle Tools
   – Visual Design Editor para aplicações CLDC
   – Permite adicionar custom components no Visual
     Mobile Designer
   – Gerador de stubs e boiler plate code para Mobile
     Clients
   – O build system utiliza Ant
   – Suporte end-to-end para construção de aplicações
     corporativas
   – Testes de unidade para aplcações MIDP/CLDC
     usando o framework JMUnit
   – Código gerado pode ser editado
NetBeans Mobility Pack
• Features – Development Cycle Tools
   – Preprocessor reduz problemas com device
     fragmentation
   – Suporta localização e internacionalização através do
     gerenciamento de componentes específicos
   – Obfuscators integrados e facilmente configuráveis
Demo / Cases
• NetBeans 5.5 + Mobility Pack +
  Nokia SDKs
• Cases – Web e aplicação de
  logística
Muito Obrigado!
• Slides e dúvidas - juarez.barbosa@mgjug.com.br
• Agradecimentos
   – Vinícius Carvalho, João Vitor - MGJUG
   – Forum Nokia, Sun Microsystems
   – Vocês (galera do MGJUG)
Trademarks and Copyrights
• As marcas registradas (trademarks) e direitos
  autorais (copyrights) para as tecnologias são
  propriedade das empresas apresentadas no
  tutorial – Maio de 2006.

Contenu connexe

Similaire à 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phonesJuarez Junior
 
Desenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveisDesenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveisJuarez Junior
 
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveisJuarez Junior
 
Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveisigorpimentel
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveisJoão Gabriel Lima
 
Introdução a JavaME
Introdução a JavaMEIntrodução a JavaME
Introdução a JavaMEfrgo
 
ReVir – Programabilidade em Redes Virtualizadas
ReVir – Programabilidade em Redes VirtualizadasReVir – Programabilidade em Redes Virtualizadas
ReVir – Programabilidade em Redes VirtualizadasWanderson Paim
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2MEelliando dias
 
Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)elliando dias
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...WeOp - The Operations Summit
 
Cenário Apple
Cenário AppleCenário Apple
Cenário AppleLaura Lou
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesEdgar Silva
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o AndroidHeider Lopes
 
Desenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETDesenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETGustavo Malheiros
 
Desenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEDesenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEWaldir R. Pires Jr
 
Hora GTI - Top 10 Tendências Mobile para 2015 e 2016
Hora GTI - Top 10 Tendências Mobile para 2015 e 2016Hora GTI - Top 10 Tendências Mobile para 2015 e 2016
Hora GTI - Top 10 Tendências Mobile para 2015 e 2016Cássio Nandi Citadin
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)Walanem Figueiredo
 

Similaire à 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior (20)

18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones
 
Desenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveisDesenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveis
 
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
 
Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveis
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveis
 
Introdução a JavaME
Introdução a JavaMEIntrodução a JavaME
Introdução a JavaME
 
ReVir – Programabilidade em Redes Virtualizadas
ReVir – Programabilidade em Redes VirtualizadasReVir – Programabilidade em Redes Virtualizadas
ReVir – Programabilidade em Redes Virtualizadas
 
Programabilidade em Redes Virtualizadas
Programabilidade em Redes VirtualizadasProgramabilidade em Redes Virtualizadas
Programabilidade em Redes Virtualizadas
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 
Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
 
Cenário Apple
Cenário AppleCenário Apple
Cenário Apple
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e Suportes
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Desenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETDesenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NET
 
Desenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEDesenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaME
 
Hora GTI - Top 10 Tendências Mobile para 2015 e 2016
Hora GTI - Top 10 Tendências Mobile para 2015 e 2016Hora GTI - Top 10 Tendências Mobile para 2015 e 2016
Hora GTI - Top 10 Tendências Mobile para 2015 e 2016
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 

Plus de Juarez Junior

Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADBOracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADBJuarez Junior
 
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Juarez Junior
 
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Juarez Junior
 
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...Juarez Junior
 
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...Juarez Junior
 
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...Juarez Junior
 
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...Juarez Junior
 
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...Juarez Junior
 
SKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesSKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesJuarez Junior
 
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...Juarez Junior
 
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...Juarez Junior
 
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...Juarez Junior
 
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...Juarez Junior
 
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...Juarez Junior
 
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ThreadsDWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ThreadsJuarez Junior
 
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...Juarez Junior
 
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...Juarez Junior
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesJuarez Junior
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesJuarez Junior
 
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...Juarez Junior
 

Plus de Juarez Junior (20)

Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADBOracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
 
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
 
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
 
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
 
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
 
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
 
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
 
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
 
SKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesSKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for Databases
 
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
 
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
 
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
 
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
 
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
 
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ThreadsDWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
 
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
 
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for Databases
 
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
 

20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

  • 1. Desenvolvimento de aplicações corporativas Java ME – NetBeans 5.5, Mobility Pack, Nokia SDKs MGJUG – Janeiro de 2007 Juarez Junior - Arquiteto / Desenvolvedor de Software
  • 2. Palestrante • Juarez Barbosa Junior – Senior Systems Architect / Java Software Expert – Unisys – SCMAD - Sun Certified Mobile Application Developer – SCAJ/SCPJ2/SCWCD/SCBCD e SCEA I – Forum Nokia Champion
  • 3. Agenda • Java ME - 2007 • Mercado: Corporativo x Entretenimento • JME – Restrições, plataformas, diferenças • APIs / JSRs para o mundo corporativo • MVC MIDlet • Nokia SDKs – device x prototype • NetBeans 5.5 Mobility Pack • Demo / Cases
  • 4. JTWI – JSR-185 • Primeira tentativa, reduziu fragmentação – MIDP 2.0 – CLDC 1.0/1.1 – MMAPI 1.1
  • 5. MSA (CLDC) – JSR-248 • Evolução JTWI, mais recursos – MSA for CLDC – MSA subset for CLDC
  • 6. MSA Advanced (CDC) – JSR-249 • Evolução JTWI, mais recursos, flexibilidade – MSA Advanced for CDC – JSR-232: Mobile Operational Management (OSGi) – Foundation Profile – Personal Profile
  • 7. MIDP 3.0... • JSR 271: Mobile Information Device Profile 3 – Compatibilidade com MIDP 2.0 (key design goal) – LIBlets – Especificar o comportamento adequado para MIDlets em ambientes CLDC, CDC e OSGi: • Permitir MIDlets concorrentes em uma VM • Definir limites (firewalling), comportamento runtime, gerenciamento do ciclo de vida • Permitir background MIDlets (UI-less) • Permitir auto-launched MIDlets (iniciada em boot time)
  • 8. MIDP 3.0... • JSR 271: Mobile Information Device Profile 3 – Permitir bibliotecas compartilhadas entre os MIDlets – Esclarecer alguns pontos que vão permitir interoperabilidade entre dispositivos – Melhorar funcionalidades em vários aspectos. • Melhorar usabilidade e extensibilidade (UI) • Melhorar suporte a dispositivos com displays maiores • Permitir acesso a displays secundários • Segurança para bancos RMS • Bancos RMS remotos • IPv6
  • 9. MIDP 3.0... • JSR 271: Mobile Information Device Profile 3 – Definir outros padrões para provisão de MIDlets (OMA (SyncML) DM/DS, Bluetooth, removable media, MMS, JSR-232, etc.) – Melhorar pesquisa de características dos dispositivos – Localização & Internationacionalização (se necessário, aumentar JSR-238) – http://jcp.org/en/jsr/detail?id=271 – https://opensource.motorola.com/sf/sfmain/do/viewP
  • 10. CDC – Connected Device Configuration • JSR-36: CDC - Connected Device Configuration – Classe Java comum - main() – Xlets – Applets – AWT, JDBC, RMI subset for CDC • JSR-218: CDC 1.1 – Atualizar APIs do J2ME CDC 1.0 com definições do J2SE, v1.4. – Atualizar APIs do J2ME CDC 1.0 usando definições do J2ME CLDC 1.1. – Adicionar novas APIs do J2SE, v1.4.
  • 11. CDC – Mercado atual • Nokia Series 80 e Sony Ericsson UIQ 3
  • 12. Mercado • Aplicações corporativas (foco) – Processo de negócio, formulários, mobile web, transações, segurança • Missão crítica, HA, failover, ACID • Hoje – Big $$$ - perfil usuário • Entretenimento – Jogos, música, fotografia, social networks, comunidades online • Diversão, sem requisitos HA, failover • Hoje - $$$ - perfil usuário
  • 13. Aplicacões corporativas • Processos de negócio, soluções usando: – Formulários, páginas WML, (X)HTML, Ajax – JME – MIDP 2.0 High-level API (Form) – JME – MIDP 2.0 Low-level API (Canvas) – HTTP, raw sockets, UDP, SIP, Bluetooth – Suporte WLAN – Teclado QWERTY (mas ITU-T também) – Low-end, mid, high-end mas geralmente sem foco multimídia (apenas se ligado ao core biz da empresa)
  • 14. Enterprise Java ME • Enterprise J2ME: Developing Mobile Java Applications by Michael Juntao Yuan – Mobile commerce – Managed smart clients – Mobile messaging – P2P – Enterprise messaging – MQe – Mobile databases
  • 15. Java ME – Desafios, restrições • Memória – runtime heap, jar, storage • Conectividade • Sistema operacional e plataforma • Versões – Configuration, Profile, Opt Packs • Suporte pela implementação (JSRs), bugs (firmware)
  • 16. Java ME – Nokia 6060 x N93 • Memória – runtime heap, jar, storage
  • 17. Java ME – Nokia 6060 x N93 • Conectividade
  • 18. Java ME – Nokia 6060 x N93 • Sistema Operacional e plataforma • Nokia 6060 – Nokia OS, closed environment (oops, iPhone?) – Series 40 Developer Platform 2.0 • Nokia N93 – Symbian OS v9.1 – S60 3rd Edition
  • 19. Java ME – Nokia 6060 x N93 • Versões do Java – Configuration, Profile, Optional Packs
  • 20. APIs / JSRs enterprise • Configurations – CLDC 1.0, 1.1, CDC 1.0, CDC 1.1 • Profiles – MIDP 1.0, MIDP 1.1, IMP 1.0, IMP-NG, FP, PP, PBP • Optional Packages – Bluetooth (JSR-82) – WMA (JSRS 120 e 205) – WebServices (JSR-172) – PIM and FileConnection (JSR-75) – Location API (JSR-179) – Mobile Internationalization API (JSR-238) – SIP API for JME (JSR-180) – SATSA (JSR-177), S2DVG (JSR-226)
  • 22. Interfaces Gráficas • MIDP UI API – LCDUI – High e Low level
  • 23. Interfaces Gráficas • MIDP – High-level UI API
  • 24. Interfaces Gráficas • MIDP – Low-level UI API
  • 25. MVC MIDlet • Model – DAO • View – Form, Canvas • Controller – MVCMIDlet • Stateless x Stateful
  • 26. Nokia SDKs • Prototype SDKs (baseados nas RIs) – Maior performance – APIs - acesso antecipado – Mais screen sizes – Mais APIs – Sem garantia de execução e comportamento – Nokia Prototype SDK for Java™ Platform, Micro Edition • Device SDKs (firmware) – Menor performance – Screen sizes conforme plataforma, dispositivo alvo – APIs conforme plataforma, dispositivo – Mesma software stack do device, emulação próxima do real
  • 27. NetBeans Mobility Pack • Features - CLDC – Suporta Connected, Limited Device Configuration (CLDC) 1.1 – Suporta MIDP Mobile Information Device Profile (MIDP) 2.0 – Integração Sun Java Wireless Toolkit e vendor-SDKs – Suporta Java ME Web Services (JSR 172) – Ferramentas SVG-T – Várias opções para deploy: HTTP, WebDAV, FTP e SCP a partir do IDE – Suporta emulação Over-The-Air emulation (OTA), emulação de push registry, Wireless Messaging e Multimedia APIs, e WMA usando SMS e CBS
  • 28. NetBeans Mobility Pack • Features - CDC – Suporta Connected Device Configuration (CDC) com Sony Ericsson P990, Sony Ericsson M600, Nokia Series 80 e SavaJe Jasper S20 – Visual GUI Designer para aplicações CDC – Suporte para aplicações Symbian (SIS) – Testes com Junit: Suporta testar aplicações CDC com JUnit
  • 29. NetBeans Mobility Pack • Features – Development Cycle Tools – Visual Design Editor para aplicações CLDC – Permite adicionar custom components no Visual Mobile Designer – Gerador de stubs e boiler plate code para Mobile Clients – O build system utiliza Ant – Suporte end-to-end para construção de aplicações corporativas – Testes de unidade para aplcações MIDP/CLDC usando o framework JMUnit – Código gerado pode ser editado
  • 30. NetBeans Mobility Pack • Features – Development Cycle Tools – Preprocessor reduz problemas com device fragmentation – Suporta localização e internacionalização através do gerenciamento de componentes específicos – Obfuscators integrados e facilmente configuráveis
  • 31. Demo / Cases • NetBeans 5.5 + Mobility Pack + Nokia SDKs • Cases – Web e aplicação de logística
  • 32. Muito Obrigado! • Slides e dúvidas - juarez.barbosa@mgjug.com.br • Agradecimentos – Vinícius Carvalho, João Vitor - MGJUG – Forum Nokia, Sun Microsystems – Vocês (galera do MGJUG)
  • 33. Trademarks and Copyrights • As marcas registradas (trademarks) e direitos autorais (copyrights) para as tecnologias são propriedade das empresas apresentadas no tutorial – Maio de 2006.