20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
TRANSCRIPT
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)• Permitir comunicação inter-MIDlet
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• Interfaces de rede múltiplas para dispositivos (multi-
homing)
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/viewProject/projects.jsr271
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– Series 40 Platform SDKs, Nokia 6310i MIDP SDK
1.1
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 - [email protected]
• 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.