Java ME Next Generation for Mobile Devices...on CDC* Applications written to those profiles should...
Transcript of Java ME Next Generation for Mobile Devices...on CDC* Applications written to those profiles should...
Java ME Next Generation for Mobile Devices
Darryl MocekStaff EngineerSun Microsystems, Inc.
John JonesProduct Development EngineerSprint Corp.
2008 JavaOneSM Conference | java.sun.com/javaone | 2
Agenda
Introduction to Sprint Next Generation SpecificationSolutions from Sun Microsystems, Inc.Dynamic Services - OSGI/OMA-DMToolkit ArchitectureEmulator, Real Device Support, and NetBeansTM
DemosQ & A
2008 JavaOneSM Conference | java.sun.com/javaone | 3
Sprint / Sun to Deliver New CLDC/MIDP Platform
Sun will be the JVMTM of choice for all Sprint Feature phones based on Sprint's Java 4.0 SpecsNew features include JSR 239 and JSR 256New support for JSR 180, JSR 211, JSR 229JVM machine includes the Lightweight UI Toolkit. Performance improvementsIDEN Parity• Reduce application porting effort from IDEN CDMA• Deliver consistent platform for IDEN
2008 JavaOneSM Conference | java.sun.com/javaone | 4
Introduction to Sprint Next Generation Specification
Targeted for “smartphones”• More memory, CPU, graphics capabilities• Managed device integration• Legacy MIDlet support
Target Platform Footprint• Sprint Titan Specification• 64 MB RAM & ROM (128MB desirable)• MIDP/CDC/JSROP• ~8MB Romized (cvmi.dll)
2008 JavaOneSM Conference | java.sun.com/javaone | 5
Application Models
CLDC• MIDlets
CDC• OSGi Bundles• Xlets• Web Apps
2008 JavaOneSM Conference | java.sun.com/javaone | 6
Sprint Titan platform – Initial releaseApplicationConnectivity
PersonalInformation
CommsMediaMisc
VirtualMachine
ApplicationEnvironment
JSR 179*Location
JSR 172Web Services
JSR 75PIM & File
JSR 218CDC 1.1
JSR 226SVG
JSR 238Mobile I18N JSR 135
Mobile Media
JSR 118MIDP 2.0/2.1
JSR 219FP 1.1
JSR 120SMS
Messaging
JSR 248MSA subset
Clarifications
Sprint Extensions 2.1
JSR 139CLDC 1.1
2008 JavaOneSM Conference | java.sun.com/javaone | 7
Sprint Specification Stack Next Release
ApplicationEnvironment
VirtualMachine
JSR 234MM API
JSR 1843D API
JSR 239OpenGL ES
Media
JSR 84Bluetooth
Comms
JSR 177SATSA
Security ApplicationConnectivity
JSR 180SIP
Other
JSR 211CHAPI
JSR 229Payment
2008 JavaOneSM Conference | java.sun.com/javaone | 8
Native Platforms Supported
First Release• BREW
Possibly Release• WinMobile 5• WinMobile 6• Linux/ARM• Linux/x86 (as needed)
2008 JavaOneSM Conference | java.sun.com/javaone | 9
Architecture of Sun's Solution
CDC/MIDPJSR Optional PackagesOSGi IntegrationBenefits• Single-stack solution• OSGI/OMA Features
CVMJava ME CDC Java ME CLDC
Foundation Profile
API Hiding Classloader
MSA JSR'sOSGi
MIDP
2008 JavaOneSM Conference | java.sun.com/javaone | 10
CLDC Compatibility● CDC is a superset of CLDC● Includes support for GCF● CLDC Profiles and optional
packages can be implemented on CDC*
● Applications written to those profiles should be portable across configurations
● CDC APIs are a subset of Java Platform, Standard Edition 1.4.2 (Java SE 1.4.2)
*CLDC profiles and optional packages compatibility requirements may apply
J SE٢
CDCCLDC
Java ME
2008 JavaOneSM Conference | java.sun.com/javaone | 11
The CVM Virtual Machine
Basis for Java ME platform CDC and profiles• CVM is a VM implementation for consumer and embedded systems
• Complete Java 2 VM software Specification compliant• Designed from the start to:
• Have a small footprint• Be modular• Be tunable• Be portable
2008 JavaOneSM Conference | java.sun.com/javaone | 12
CDC API's
java.iojava.lang
java.netjava.security
java.textjava.util
CDC API's
Foundation Profile API's java.textjava.util
java.netjava.security
java.iojava.lang
2008 JavaOneSM Conference | java.sun.com/javaone | 13
API Hiding Classloader
Key technology to ensure MIDlets access only specification compliant interfaces• Enables CDC and CLDC based applications to run in the same process• MIDP 2.1/CLDC 1.1 for legacy MIDlets
• MIDP Implementation class loader• MIDlet class loader
• JSR Optional Packages for appropriate execution context• Initially restricted to MIDP behaviors
2008 JavaOneSM Conference | java.sun.com/javaone | 14
Dynamic Services – OSGI/OMA-DM
OSGi – Open Services Gateway Initiative• Dynamic services platform• Write services that reside on the phone and interact with the user
through the browser• Write background daemons• Dynamically download components needed by the application
OMA-DM - Object Management Association Device Management• Push updates to all devices• Manage device remotely
2008 JavaOneSM Conference | java.sun.com/javaone | 15
OSGi Integration
Initial Sun prototype: OSGi Core and MEG library• Uses OSGi application registry• Supports concurrent MIDlet execution
• HOME key to access running MIDlets
• Push registry implemented as OSGi service bundle• Supports JSR 120 WMA SMS push connections• Supports MIDP alarm-based MIDlet startup
Benefits of single-process VM implementation• Better runtime code sharing• Better runtime performance
2008 JavaOneSM Conference | java.sun.com/javaone | 16
On Device Debugging/Profiling
NetBeans software debugging supported• Other debuggers should work, but not yet verified
Profiling supported• Requires NetBeans changes not yet been integrated• IDEs need to provide profiling DLL which runs on the device
2008 JavaOneSM Conference | java.sun.com/javaone | 17
Toolkit Architecture
2008 JavaOneSM Conference | java.sun.com/javaone | 18
Emulator
Uses the same Java platform stack as devicesMultiple emulators can run networked (WMA, Bluetooth)External event generationFaster then existing emulators
2008 JavaOneSM Conference | java.sun.com/javaone | 19
Toolkit & Real Devices
Automatic device detection (ActiveSync)• Connect via USB, serial port, Bluetooth
Output redirection• NetBeans IDE integration
• Easy deploy and start of applications• Same on emulator and devices
On-device debugging• Same on emulator and devices• Manages multiple emulator and device sessions• CVM supports Java Debug Wire Protocol software (JDWP software) • Standard debugging actions: set/cancel breakpoints, step into, step
over, continue
2008 JavaOneSM Conference | java.sun.com/javaone | 20
IDE (NetBeans) Integration
UEI compliantRecognized as MIDP/CLDC platformEmulator and devices can be accessed from an IDEOSGi Browser• NetBeans software plugin• Hierarchical view of devices/emulators, and bundles installed on them• Can start and stop installed bundles• Indicates the state of bundles
2008 JavaOneSM Conference | java.sun.com/javaone | 21
Demo of the NextGen Platform
2008 JavaOneSM Conference | java.sun.com/javaone | 22
Shared Source Repositories
Unemcumbered implementation on java.net• http://phoneme.dev.java.net
Common code shared across several products• PhoneME Feature• PhoneME Advanced• Wireless Toolkit for Titan
2008 JavaOneSM Conference | java.sun.com/javaone | 23
More Information
Download Sun's prototype Titan implementation• http://developers.sun.com/mobility/community/sprint-
adp/downloads/index.jsp
Send your feedback and questions• [email protected]
2008 JavaOneSM Conference | java.sun.com/javaone | 24
Darryl MocekStaff EngineerSun Microsystems, Inc.
John JonesProduct Development Engineer
Sprint Corp.
Q & A