Mobile and Embedded Java: What's Coming? Terrence Barr Senior Technologist, Mobile and Embedded, Oracle @terrencebarr Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 1 Insert Information Protection Policy Classification from Slide 8 Safe Harbor Statement 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. 2 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Run Anywhere 3 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Coming up on 10 Billion ... 4 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Java Mobile & Embedded in 2011 • NFC payments, e-passport • M2M and embedded security • 3 billion phones, 125 million TVs running Java • Web integration, new UI technologies • Embedded apps connected to the Enterprise • New TV apps e.g. Media/web servers streaming 5 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Java Technology for Embedded Devices - 2011 Platform Footprint SE Embedded 10MB-100MB CDC 1MB-10MB Java Card CLDC High Embedded Mid Embedded Small Embedded 50KB-1MB ARM 7 ARM9/11 6 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. MIPS32/Intel Atom/ARM /PPC Device CPU/ GPU/I-O Design Objectives Java ME – Moving Forward Bridge the Java SE/Java ME divide • Synchronize CLDC and JDK releases • Converge CDC and Java SE Embedded Full coverage of embedded vertical markets • Java Platform covering all CPU/Footprint variants • Dedicated APIs for vertical market segments Deep integration of content and services • Services embedded into Oracle runtimes and tools • Developer/consumer access to carrier services 7 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Bridging the Java SE/ME divide Java ME.next CDC/Java SE 8 convergence • Java ME alignment with SE • “CDC Profile” in SE 8 – – – – Synchronized releases Latest Java language support Java ME APIs can run on Java SE Consistent tool interfaces • New APIs for mobile phones and billions of connected devices 8 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. – Porting CVM features to Hotspot JVM – JDK 8 libraries with smaller and faster variants/subsets • JavaFX as graphics framework • Best features and performance from CDC and SE for Embedded Java Technology for Embedded Devices - 2013 Platform Footprint Java SE 10MB-100MB Java ME 1MB-10MB Java Card Mid Embedded High Embedded (eReaders, VOIP, Network Eqmt, Printers, Imaging, Industrial M2M, Connected TV, Set-top boxes) (Smartphones, Netbooks, Medical Instruments, Industrial Equipment, Embedded Servers) Small Embedded 50KB-1MB (Feature Phones, Meters, Diagnostics, M2M, Telco…) ARM 7 Cortex M ARM9/11 9 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. MIPS32/Intel Atom/ARM CortexA/PPC Device CPU/ GPU/I-O Oracle Java Wireless Client (OJWC) 3.1 Next-Generation Feature-Phone Runtime • Over 250 handset references, over 100 million devices shipped • Latest Java ME platform evolutions • Rich UIs for all device types • Complete tool chain for rapid app deployment • Wide device platform support • Enabling new use cases, value-added services, and monetization options 10 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Mobile Services Integration Payment, Store Client, Advertizing, Carrier API Oracle Java Wireless Client Java ME Apps Carrier Apps Service Engines Java ME JSRs Oracle Mobile Dev. APIs CLDC + MIDP 11 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. • Smart content on mass market devices leveraging the carrier infrastructure • Value-added services distribution in Oracle runtimes • Monetization options for developers Java Mobile Network APIs Integrating Mobile Applications With The World • Network APIs enable operators to expose capabilities from their networks to developers • Server-side apps can access mobile capabilities – Initiate calls, access location of hundreds of users, etc. • Industry Standards : GSMA OneAPI, WAC Network APIs 12 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Operator Network APIs on Java ME API Specific Architecture Approach Sample Code Operator Network APIs Implementation public class ABCOperatorAPI { public ABCOperatorAPI (Hashtable serverProperties); … public ChargeResponse charge(ChargeRequest params); public LocationInfo getLocation(int accuracy); … } GSMA OneAPI WAC Operator ….. Proprietary REST Basic Blocks Extended HTTP Connection OAuth 1&2 JSON Parser Java ME Platform (CLDC/MIDP) 13 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Lightweight UI Toolkit (LWUIT) 1.5 Create Rich User Interfaces Easily • Lightweight, flexible, portable • New release 1.5 New GUI Builder New components (ContainerList, Tabs, Slider) New ports (Java SE and CDC) Many other improvements • Strong developer adoption • Integrated in Java ME SDK 3.0.5 • Active and vibrant Open Source community 14 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Java Embedded Clients Java SE and CDC Platforms • Java SE 7 for Embedded Full Java 7 implementation, in step with JDK 7 Optimized for embedded: footprint, performance, power Additional platforms supported (ARM, PPC, and more) Target: High-end devices and applications • Oracle Java Embedded Client (OJEC) Industry-leading, best-in-class CDC VM Performance and reliability with low footprint Highly portable, configurable, tunable, and hardened Target: Low- to mid-range, cost-conscious devices 15 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Java Card Technology Secure, Connected, Versatile Interoperable platform for delivery of trusted personal services High, industry-proven security Designed for the smallest silicon hardware devices Runs Java in as little as 4 KB RAM Deployed on >5 billion devices Growing at 1.4 bill. Devices p. year SIM Cards, secure elements, eID, payment services 16 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Java ME SDK 3.0.5 Highlights of Version 3.0.5 Tooling • Plug-in for NetBeans IDE • Set of utilities for rapid development of Java ME apps • Provides device emulation • Supports all the latest JSR implementation Device Database 17 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. • Oracle Mobile Developer APIs Developer Access to new OJWC 3.0 features Support for new Java ME JSRs 258, 293, 253, 281, 290 257, • New Features skins & graphics enhancements Network Monitor & CPU Monitor Updated Device database (WURFL) Update Center New Network Monitor CPU Profiler Oracle Berkeley DB What is it? • A library that links directly into your application. It allows your application to transparently store and query data, without incurring the client/server overhead. • Provides very fast, highly reliable, scalable, recoverable local data storage, with zero external administration. • Used extensively in middle-tier, edge and mobile applications, often serving as part of the enabling infrastructure, gateways or as the mobile data repository. • It allows you to do more with less, through high performance, reliability, small footprint and flexibility, It’s lower TCO is especially attractive to customers and partners. 18 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Machine-to-Machine (M2M) 19 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Java in M2M The Internet of Things: The next 50 Billion ... Connect with “out of reach” data and processes Dramatically increase efficiency Enable new business fields 20 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. DEMO 21 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Recap • Evolving the Java ME Platform – Bringing Java together again: Aligning Java ME with Java 7 and beyond – Productivity. New APIs. Modularity. Profiles. More platforms. – Run anywhere. Scale Java from tiny embedded to massive servers. • Updating Products and Solutions – – – – – Oracle Java Wireless Client 3.1: Smarter content. Easier monetization. LWUIT 1.5: More slick features, better performance, new platforms. Java ME SDK 3.0.5: Updated to support new features and JSRs Oracle Java Embedded Client: CDC for consumer devices and beyond Java SE 7 for Embedded: Java SE for high-end embedded Java ME Home Page – www.oracle.com/technetwork/java/javame/index.html Twitter: @terrencebarr 22 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Stay Tuned ...