2. <Insert Picture Here>
What's Coming for Mobile and Embedded Java ME?
Terrence Barr
Senior Technologist, Mobile & Embedded Technologies
3. The following is intended to outline our general product
direction. It is intended for information purposes only, and
may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality,
and should not be relied upon in making purchasing
decisions.
The development, release, and timing of any features or
functionality described for Oracle’s products remains at the
sole discretion of Oracle.
3
4. Agenda
• Java Mobile
– Oracle Java Wireless Client 3.0 <Insert Picture Here>
– Lightweight UI Toolkit (LWUIT)
– Java ME + Web
• Java ME Platform Evolution
• Java Embedded
– Java: The Best Platform for Embedded
– Java SE Embedded
– Oracle Java ME Embedded Client
4 4
6. The Spectrum of Java
Servers Desktop Embedded TV Mobile Card
Java EE JavaFX Java TV MSA
Java SE Java ME Java Card
Java Language
6
7. What the Journalist are Saying
“Java may be seem like it is off the radar screen
these days when it comes to smartphones and
tablets, with platforms such as Apple's iOS and
Google's Android clearly dominating the headlines.
But don't count Java out on newfangled small form-
factor devices”
Paul Krill, Computer World, March 17, 2011
7 7
8. Java ME Platform : Design Goals
• Modernize the platform
– ME.next : updated platform specifications
– Low footprint, high performance runtimes
– Integration of Web technologies
• Power Value-Added Services in the Java mobile stack
– Developer-enabling services such as payment and advertizing
– Access to operator services through Network APIs
– Set of pre-integrand and optimized Core applications
• Transform the Consumer Experience
– Easy on-device access to popular application stores
– Portfolio of unique, critical local mobile Value-Added Services (VAS)
– Solutions for device content management
8
9. Java Mobile : 2011 Products and Technologies
• OJWC 3.0
– Superior Java Implementation
– Oracle Developer APIs
– Java + Web
• Tooling
– ME SDK 3.1
– LWUIT 1.5
• Java ME 6 (ME.next)
9 9
10. Oracle Java Wireless Client 3.0
Modern Java Feature Phone runtime
• Features
– Web UI (JSR 290)
– LWUIT optimizations
– IMS, Telephony
– Java/Javascript bridge
– Oracle Developer APIs
– SIM – based customization
– High-perf., multi-tasking VM
Release June CY2011 to Device Manufacturers
• Optional Components
– Integrated Web Runtime
10 10
11. What Qualcomm Is Saying
“Oracle’s OJWC is the preferred Java technology
solution for Brew MP”
Jason Kenagy, vice president of product management for Qualcomm
CDMA Technologies
11 11
13. OJWC 3.0 : Oracle Mobile Developer APIs for integrated VAS
Messaging / SNS Navigation / LBS Multimedia
•Background execution •Location retrieval mechanisms (CellID) •Low level media control.
•Auto start •Invocation from native apps •Prop Codec integration
•Adv. phonebook access •Expose LBS APIs to other apps. •DRM Integration
•Native inbox access •Progressive download
•Showing notifications •UI Layer support
•User accounts Mgmt.
Shopping / ecommerce Browser AMS / System
•Headless installation •Handling “non-browser” content •More system properties
•DRM Support •DRM Integration •Advanced Security
•Idle screen execution •Invocation from native apps •Interoperability with other service
•24/7 •RTSP support within browser •Network bearer API
•Invocation of native apps. •Vector font •Push Notification
13 13
14. User Interface : Lightweight UI Toolkit (LWUIT)
• Create rich User Interfaces easily
for Java Apps
• Lightweight and Flexible
• Small footprint – as low as 50KB
• Advanced UI component model, highly customizable
• Runs on any CLDC 1.1, MIDP 2.0 device
• Used as standalone library, bundled into
the application
• Strong developer adoption
• Commercially used by Comverse VVM, Emoze email,
Telmap, majimob, 8motions, MEP, StoreFront, Micello, …
• Integrated in Java ME SDK 3.0.5
• Active and vibrant Open Source community on
java.net
14
15. LWUIT : Key Features
• Rapid development
– Swing-like MVC
– Clean & simple API
• Consistent & flexible
– Portable, extendable
• Pluggable Look & Feel
– Brand-able/theme-able
• Touch screen support
• Rich widgets
• 3D, SVG Integration
• I18N/L10N, bi-di text
• Tested on broad range of devices
15
16. LWUIT : Sample Code
Rendering Rich Text / xHTML content
HTMLComponent htmlC = new HTMLComponent(new HttpRequestHandler());
Form form = new Form();
form.addComonent(htmlC);
form.show();
htmlC.setPage(http://wap.cclol.com/thedailyshow.rbml);
16
17. LWUIT 1.5 : Core Improvements
Improvements Details
ContainerList New type of List that provides greater customizability e.g. Grid view, variable row heights
etc.
Improved native Peer components allow integrating native platform components with LWUIT components
component
integration
New media Simpler API for video control handling that works better across platforms
component for
video handling
New audio API's Deep integration of audio playback into the LWUIT API as well as support for native system
sounds
New Tabs Replacement to the tabbed pane component that allows greater design flexibility and swipe
component actions.
17
18. LWUIT 1.5 : Other Enhancements
• New Platforms
– Java SE Port - Allows prototyping, demoing & debugging
LWUIT applications on top of Java SE including the ability to
embed a LWUIT application as an Applet!
– Blackberry Torch support - Many new features including
support for the torch device and improved native input.
• Tools Improvements
– New GUI Builder as part of the resource editor tool
– Resource editor redesign, including many usability
improvements
18
19. OJWC 3.0 : Java + Web Architecture Overview
• WAC 2.0 runtime on top of Java ME
runtime
• JavaScript extensions
• Multiple application models
• Integrated application management
system (AMS)
• High portability
Key Benefits
• Access Device Capability and Java Business logic from Web applications
• Web rendering within Java applications
• Seamless integration of Java apps & web applications
19 19
20. OJWC 3.0 : JSR 290 Sample Code
Embedding HTML view into Java
FluidImage fI = FluidManager.createImage(“file:///index.html”, …);
FluidPlayer fP =
FluidManager.createPlayer(fI,”javax.microedition.lcdui.Canvas);
FluidComponent fC = (FluidComponent)fluidPlayer.getTargetComponent();
fI.setViewportWidth(WIDTH);
fI.setViewportHeight(HEIGHT);
fluidPlayer.play()
Display.getDisplay(this)setCurrent((Canvas)fC);
20
21. OJWC 3.0 : Java ME + Web Sample Code
Calling Java Code from JavaScript
function startMusic() {
Widget = new bridge.JavaPackages.com.sun.j2me.jil.Widget.Widget();
AudioPlayer = Widget.Multimedia.AudioPlayer;
var fileUrl = "http://localhost/music.mp3";
Music AudioPlayer.open(fileUrl);
Player AudioPlayer.play(1);
}
function loadBirthdays() {
var PIM = bridge.JavaPackages.javax.microedition.pim.PIM;
var Contact = bridge.JavaPackages.javax.microedition.pim.Contact;
var result = new Array();
var items = PIM.getInstance().openPIMList(PIM.CONTACT_LIST,
PIM.READ_ONLY) .items();
while (items.hasMoreElements()) {
var item = items.nextElement();
if (item.countValues(Contact.BIRTHDAY) > 0) {
PIM var name = item.getString(Contact.FORMATTED_NAME, 0);
var birthday = item.getDate(Contact.BIRTHDAY, 0);
result.push(new Record(name, birthday));
}
}
return result;
}
21
22. Tooling : Java ME SDK 3.0.5
• Oracle Mobile Developer APIs
– Alignment with OJWC 3.0 (Java+Web and OJWC extension)
– Enable Developer Access to new OJWC 3.0 features
• Support for new Java ME JSRs
– JSR 257 (NFC), 258 (Custom UI), 293 (location 2.0), 253 (Telephony), 281
(IMS), 290 (Web UI)
• New Features
– New skins & graphics enhancements
– Network monitoring, on-device profiling support
– Updated Device database (WURFL)
– Update Center Functionality
• Release H2 2011 on Win XP / Vista / 7
22 22
23. Java Mobile Roadmap
Oct Dec H1 H2
CY2010 CY2011
OJWC 2.3 Java Device OJWC 3.0 OJSB 1.0
Test Suite 3.1 LWUIT 1.5 Java ME SDK 3.0.5
Upcoming Releases
• Oracle Java Wireless Client 3.0
Java ME + Web; Developer Extensions; Increased JSR Support (e.g. IMS, Web UI)
• LWUIT 1.5
GUI Builder; Menu Bar; Native Integration; HTML rendering; Virtual Keyboard Mgmt.
• Java ME SDK 3.0.5
Support for new JSRs in OJWC 2.3 and OJWC 3.0; Enhance Monitoring / Debugging
• Oracle Java Services Bridge 1.0
Java ME content management through the SIM card
• JSR 253: Telephony API JSR, JSR 290: Web UI JSR
http://oracle.com/technetwork/java/javame/roadmap
23
24. Java ME 6 : CLDC/CDC Platform Evolution
• Oracle is committed to modernizing the Java ME platform
• A Java ME evolution proposal has been sent to the JCP EC
– It will be further discussed during the next JCP meetings
• Key elements of the Java evolution proposal
– Adopt/incorporate platform/language enhancements from JDK1.6
– Drive for larger commonality between CDC and CLDC though shared
updates to java language, runtime and libraries
– Extend APIs / capabilities in existing or new optional packages
• Oracle intends to support Java ME.next in future products
– Following finalization in JCP
– Impacted product lines: Vertical implementations, VMs, tools
24 24
25. Java: The Best Platform for Embedded Applications
All the benefits of the Java language and VM: Decouples software development from hardware
1 machine-independence, cross-platform, multi- 6 development cycle
threading/-core, memory management, security, ... Fully OO & highly productive language, APIs,
7 runtime, and tools allow rapid development and
2 Proven, robust, secure, and highly performant
deployment
platform, deployed in a vast range of environments
Leverage huge Java developer base and
3 Isolates your apps from language and platform 8
ecosystem (expertise, existing code)
variations (e.g. C/C++, kernel, libc differences)
9 Easily create end-to-end solutions integrated with
4 Support for key embedded features (low footprint, Java back-end services
power management., low latency, etc)
Scalable to build solutions from constrained
Most popular embedded processors supported, 10 devices to server-class systems
5
allowing design flexibility
25
26. Oracle Java Embedded Clients
Two Configurations
Java SE
•Full Graphical support
• Java Platform SE
including Swing – Multiple ports of full java SE 6
•Includes all Java SE APIs
– Up to date w/ Java APIs and language
Java ME
– Focus: mid- and high-end devices
CDC Optional
Packages
•Foundation, Security, • Java Platform ME CDC
AWT, AGUI/Swing, XML,
media – Core based on JDK 1.4 subset
SE headless •Mobile container for MSA
•Industry standards for TV,
– Based on multiple embedded industry standards
OSGi, etc
– Focus: low- and mid-end devices
Java SE Hotspot
CDC
Embedded Operating System
26
27. Java SE Embedded
Features and Markets
• Just like Java SE, but optimized for embedded
–Reduced memory & footprint, special headless builds,
optimized for low memory, optimized GC and power
mgmt., multi-core support, ...
• Supports additional embedded architectures
• ATMs, Parking Meters, POS Systems
• Multi Function Printers
• Intelligent Power Module, Smart metering
• Netbooks, Industrial PCs
• Factory Automation, RFID readers
• Voice communication, Video conferencing
• Routers, switches, storage appliances
• Medical imaging, radar
27
28. Java SE Embedded Platform Example
GuruPlug
• Low Power ARM/Linux based device design by
Maxwell
– 512 MB RAM, 512 MB Flash, USB & Gigabit
Ethernet
– ca. 100-120 US$ for single devices
• Flexible and Capable
• Runs Java SE Arm v5/Linux headless
• Low Power Java Web Server:
http://www.theregister.co.uk/2010/11/11/diy_zero_energy_home_server/
28 28
29. Oracle Java ME Embedded Client
Features and Markets
• Industry leading best-in-class CDC Java VM
• High performance and reliability with low
requirements
• Ported to a number of processors and
operating systems, highly configurable
• Blu-ray Players, Digital TVs, Set-tops, & Media Players
• Network Equipments & Storage Devices
• VoIP Telephony
• eBook Readers
• Smart Grid/Meters
• Automotive/Telematics
• Multi-Functional Printers (MFP)
• Handheld Terminals, Kiosk
29
30. Java Embedded Roadmap
Q2 Q3 Q4 Q4
CY2011 CY2012
Java SE Java SE
Embedded 6u25 Embedded 8
Embedded 7
Java ME CDC Java ME CDC
Embedded 1.x Embedded
Graphics with • JDK 7 • VM Improvements
hardware
•Additional • Improved Graphics
acceleration
PBP and JSR 239 platform support
API convergence of Java ME CDC and Java SE …
30