20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

33
Desenvolvimento de aplicações corporativas Java ME – NetBeans 5.5, Mobility Pack, Nokia SDKs MGJUG – Janeiro de 2007 Juarez Junior - Arquiteto / Desenvolvedor de Software

Upload: juarez-junior

Post on 06-Jun-2015

231 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Desenvolvimento de aplicações corporativas Java ME – NetBeans 5.5, Mobility

Pack, Nokia SDKs

MGJUG – Janeiro de 2007

Juarez Junior - Arquiteto / Desenvolvedor de Software

Page 2: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 3: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 4: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

JTWI – JSR-185• Primeira tentativa, reduziu fragmentação

– MIDP 2.0– CLDC 1.0/1.1– MMAPI 1.1

Page 5: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

MSA (CLDC) – JSR-248• Evolução JTWI, mais recursos

– MSA for CLDC– MSA subset for CLDC

Page 6: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 7: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 8: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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)

Page 9: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 10: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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.

Page 11: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

CDC – Mercado atual• Nokia Series 80 e Sony Ericsson UIQ 3

Page 12: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 13: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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)

Page 14: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 15: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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)

Page 16: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Java ME – Nokia 6060 x N93• Memória – runtime heap, jar, storage

Page 17: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Java ME – Nokia 6060 x N93• Conectividade

Page 18: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 19: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Java ME – Nokia 6060 x N93• Versões do Java – Configuration, Profile,

Optional Packs

Page 20: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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)

Page 21: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Redes• MIDP 1.0/ 2.0 GCF

Page 22: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Interfaces Gráficas• MIDP UI API – LCDUI – High e Low level

Page 23: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Interfaces Gráficas• MIDP – High-level UI API

Page 24: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Interfaces Gráficas• MIDP – Low-level UI API

Page 25: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

MVC MIDlet• Model – DAO• View – Form, Canvas• Controller – MVCMIDlet• Stateless x Stateful

Page 26: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 27: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 28: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 29: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 30: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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

Page 31: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

Demo / Cases• NetBeans 5.5 + Mobility Pack +

Nokia SDKs• Cases – Web e aplicação de

logística

Page 32: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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)

Page 33: 20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior

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.