terence barr - what's new in m&e - 24mai2011
DESCRIPTION
TRANSCRIPT
1
<Insert Picture Here>
What's Coming for Mobile and Embedded Java ME?Terrence BarrSenior 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.
44
<Insert Picture Here>
Agenda
• Java Mobile– Oracle Java Wireless Client 3.0 – 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
5
Java : Everywhere
6
The Spectrum of Java
Servers Desktop Embedded TV Mobile Card
Java Language
Java SE Java ME Java Card
Java EE Java TVJavaFX MSA
77
“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
What the Journalist are Saying
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
99
• OJWC 3.0 – Superior Java Implementation– Oracle Developer APIs– Java + Web
• Tooling – ME SDK 3.1– LWUIT 1.5
• Java ME 6 (ME.next)
Java Mobile : 2011 Products and Technologies
1010
Oracle Java Wireless Client 3.0Modern 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
• Optional Components– Integrated Web Runtime
Release June CY2011 to Device Manufacturers
1111
“Oracle’s OJWC is the preferred Java technology solution for Brew MP”Jason Kenagy, vice president of product management for Qualcomm CDMA Technologies
What Qualcomm Is Saying
12
OJWC 3.0 : Driving new use cases
12
1313
Multimedia
•Low level media control.•Prop Codec integration•DRM Integration•Progressive download•UI Layer support
Navigation / LBS
•Location retrieval mechanisms (CellID)•Invocation from native apps•Expose LBS APIs to other apps.
Messaging / SNS
•Background execution•Auto start•Adv. phonebook access•Native inbox access•Showing notifications•User accounts Mgmt.
AMS / System
•More system properties•Advanced Security •Interoperability with other service•Network bearer API•Push Notification
Browser
•Handling “non-browser” content•DRM Integration•Invocation from native apps•RTSP support within browser•Vector font
Shopping / ecommerce
•Headless installation•DRM Support•Idle screen execution•24/7•Invocation of native apps.
OJWC 3.0 : Oracle Mobile Developer APIs for integrated VAS
14
• Create rich User Interfaces easilyfor 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
User Interface : Lightweight UI Toolkit (LWUIT)
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
16
LWUIT : Sample CodeRendering 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);
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 component integrationPeer components allow integrating native platform components with LWUIT components
New media component for video handlingSimpler API for video control handling that works better across platforms
New audio API's Deep integration of audio playback into the LWUIT API as well as support for native system sounds
New Tabs component Replacement to the tabbed pane component that allows greater design flexibility and swipe actions.
Slider component Customizable progress indicator/gauge control
Toggle buttons Allows presenting a checkbox/radio button as a regular button for toggling
Integrated Virtual Keyboard The VKB is now a part of the main LWUIT package and provides an integration API with the native OS VKB.
XML Parsing The XML parser of the HTML component is now exposed as a developer API allowing reuse of this code for general parsing.
Image Performance Encoded images now support locking to eliminate weak reference loss for visible images.
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
19
OJWC 3.0 : Java + Web Architecture Overview
19
• 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
20
OJWC 3.0 : JSR 290 Sample CodeEmbedding 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);
21
function startMusic() { Widget = new bridge.JavaPackages.com.sun.j2me.jil.Widget.Widget(); AudioPlayer = Widget.Multimedia.AudioPlayer; var fileUrl = "http://localhost/music.mp3"; AudioPlayer.open(fileUrl); AudioPlayer.play(1); }
OJWC 3.0 : Java ME + Web Sample CodeCalling Java Code from JavaScript
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) { var name = item.getString(Contact.FORMATTED_NAME, 0); var birthday = item.getDate(Contact.BIRTHDAY, 0); result.push(new Record(name, birthday)); } } return result;}
Music Player
PIM
2222
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
23
Java Mobile Roadmap
Oct
OJWC 2.3 Java DeviceTest Suite 3.1
CY2010
OJWC 3.0LWUIT 1.5
CY2011
OJSB 1.0Java ME SDK 3.0.5
H2
http://oracle.com/technetwork/java/javame/roadmap
Dec H1
Upcoming Releases•Oracle Java Wireless Client 3.0Java ME + Web; Developer Extensions; Increased JSR Support (e.g. IMS, Web UI)
•LWUIT 1.5GUI Builder; Menu Bar; Native Integration; HTML rendering; Virtual Keyboard Mgmt.
•Java ME SDK 3.0.5Support for new JSRs in OJWC 2.3 and OJWC 3.0; Enhance Monitoring / Debugging
•Oracle Java Services Bridge 1.0Java ME content management through the SIM card
•JSR 253: Telephony API JSR, JSR 290: Web UI JSR
2424
• 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
Java ME 6 : CLDC/CDC Platform Evolution
25
Java: The Best Platform for Embedded Applications
All the benefits of the Java language and VM: machine-independence, cross-platform, multi-threading/-core, memory management, security, ...
Proven, robust, secure, and highly performant platform, deployed in a vast range of environments
Isolates your apps from language and platform variations (e.g. C/C++, kernel, libc differences)
Support for key embedded features (low footprint, power management., low latency, etc)
Most popular embedded processors supported, allowing design flexibility
1
2
3
6
7
8
9
Decouples software development from hardware development cycle
Fully OO & highly productive language, APIs, runtime, and tools allow rapid development and deployment
Leverage huge Java developer base and ecosystem (expertise, existing code)
Easily create end-to-end solutions integrated with Java back-end services
Scalable to build solutions from constrained devices to server-class systems
4
510
26
Embedded Operating System
CDCJava SE Hotspot
SE headless
Java SE
Java ME
CDC Optional Packages
•Foundation, Security, AWT, AGUI/Swing, XML, media
•Mobile container for MSA
•Industry standards for TV, OSGi, etc
•Full Graphical support including Swing
•Includes all Java SE APIs
• Java Platform SE– Multiple ports of full java SE 6
– Up to date w/ Java APIs and language
– Focus: mid- and high-end devices
• Java Platform ME CDC– Core based on JDK 1.4 subset
– Based on multiple embedded industry standards
– Focus: low- and mid-end devices
Oracle Java Embedded ClientsTwo Configurations
27
•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
• 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
Java SE EmbeddedFeatures and Markets
2828
Java SE Embedded Platform ExampleGuruPlug
• 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/
29
• 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
• 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
Oracle Java ME Embedded ClientFeatures and Markets
30
Java Embedded Roadmap
Q3
Java SE Embedded 7
CY2011
Java ME CDC Embedded 1.x
Q4
Java ME CDC Embedded
Java SE Embedded 6u25
CY2012
Q4
Embedded 8
Q2
• JDK 7
•Additional platform support
• VM Improvements
• Improved Graphics
Graphics with hardware accelerationPBP and JSR 239
API convergence of Java ME CDC and Java SE …
31
Calling ALL Java & Java Card Developers WIN BIG $$$ in SIMagine Developer contest
© 2011
• €55,000 of cash and prizes • €15,000 for the first place winner
• Submit a project using Java Card Connected to interdaceJava ME, Java SE or a browser to a back-end system
• Proposals must be technical & business• Vertical markets : mobile, utilities, health,
payment, ID, M2M…
For more information, visit: www.simposiumglobal.com
Or
www.oracle.com/technetwork/java/javacard
32
Resources
32
• Java Micro Edition Home (incl. Mobile)– oracle.com/technetwork/java/javame
• Java Embedded Products– oracle.com/technetwork/java/embedded
• Java Card Home– oracle.com/technetwork/java/javacard
• The Java Spotlight Podcast– www.javaspotlight.org
• Terrence Barr's blog– http://terrencebarr.wordpress.com
<Insert Picture Here>
Mobile and Embedded Technical KeynoteTerrence BarrSenior Technologist, Mobile & Embedded Technologies
34
35