Download - Java: Create The Future Keynote
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java: Create The Future SImon Ri)er Head of Java Technology Evangelism Oracle Corp. Twi)er: @speakjava
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Safe Harbor Statement The following is intended to outline our general product direcIon. It is intended for informaIon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcIonality, and should not be relied upon in making purchasing decisions. The development, release, and Iming of any features or funcIonality described for Oracle’s products remains at the sole discreIon of Oracle.
2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
CREATE THE FUTURE
Java OpenJDK
MOOC
Clou
d
Java SE
Performance
Security JCP Java Duchess Ja
va EE
Internet of Things
OTN
Java Embedded
Java.net Lambd
a
Jigsaw
Tooling
Java Magazine Community
CollaboraMon
Java User G
roup
s
Adopt-‐a-‐JSR
Java Cha
mpion
s
Java Card
Java M
E
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Awareness • 2 days/65 sessions • Over 800 aSendees • Organized by
22 JUGS
Learning • Java 8 & Lambdas • Driving adopIon in the
community • Launching soon!
Standards • Morocco JUG joins JCP • AcIve member of
JSR 364 • ParIcipaIng in
Adopt-‐a-‐JSR
The community parIcipaIon conInues
4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 5
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
The outreach conInues Java 8
Roadshow • ParMcipaMon by over 5,200 JUG members • Over 140,000+ on-‐demand views 20+ Countries
Java Evangelism Outreach
• 25+ interacMve hands on labs worldwide • ParMcipaMng in over 1 conference per week 75+ Events
NightHacking Tour
• 7,000 developer parMcipants • Over 150,000+ on-‐demand views 40+ Visits
New MOOC
Course
• Over 2,400 registered students • New Java 8 MOOC coming in 2015 80+ LocaMons
19/11/2014 6
Virtual Java Developer
Days • ParMcipaMon by over 3,000 viewers • New Java 8 Developer Days coming in 2015 3 ConMnents
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
The community growth conInues 7
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
The progress conInues
Technology Java SE • JDK 8 launched (April 2014) • Regular JDK 9 drops occurring
Java Embedded • Java ME 8 released • Growth in Java ports for SoCs
Java EE • Over 15 compaIble applicaIon servers • JSR 366 approved
Oracle Stewardship Java Evangelism • Developing more MOOCs • Increasing student outreach
Oracle Technology Network • 1M+ newsleSer subscribers • 250K+ Java Magazine subscribers
Java.net • Over 870,000+ members and growing • Releasing new/robust plaeorm (2015)
Community OpenJDK • Java SE 8 RI released • Java SE 9 RI project created
JCP • JCP.next progress conInues • 2 major plaeorm releases in last year
Java User Groups • Increased from 228 to 314 in one year • 3 regional summits completed
8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java SE 8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 10
Java 8 buzz
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java 8 publicaIons
11
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 12
JEP 104 -‐ AnnotaIons on Java Types
Michael Ernst
JEP 175 – PowerPC/AIX Port
Volker Simonis
JEP 171 -‐ Fence Intrinsics
JEP 155 -‐ Concurrency Updates
Doug Lea
JEP 150 -‐ Date & Time API
Stephen Colebourne
OpenJDK Vital community of strong contributors
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
JDK 8 InnovaMon • Lambda aka Closures • Language Interop • Nashorn
Core Libraries • Parallel operaIons for core
collecIons APIs • Improvements in funcIonality • Improved type inference
General Goodness • JVM enhancements • No PermGen limitaIons • Performance improvements
Java for Everyone • Profiles for constrained devices • JSR 310-‐Date & Time APIs • Non-‐Gregorian calendars • Unicode 6.1 • ResourceBundle • BCP47 locale matching • GlobalizaIon & Accessibility
Tools • Compiler control & logging • JSR 308-‐AnnotaIons on Java Type • NaIve app bundling • App Store Bundling tools
Client • Deployment enhancements • JavaFX 8 • Public UI Control API • Java SE Embedded support • Enhanced HTML5 support • 3D shapes and aSributes • PrinIng
Security • Limited doPrivilege • NSA Suite B algorithm support • SNI Server Side support • DSA updated to FIPS186-‐3 • AEAD JSSE CipherSuites
Enterprise • Mission Control • Flight Recorder • Usage Tracker • Advanced Management Console • MSI Enterprise JRE Installer
13
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Lambda Modernizing Java
" Big step forward in modernizing the Java Language
" Big step forward in modernizing the Java Libraries
" Biggest upgrade ever to the Java programming model
14
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Streams Modernizing Java
" A new key Java Library abstracIon
" Convenient way to aggregate operaIons on sequences
" Easy way to introduce Parallelism to your applicaIons
" Compa8ble with your exisIng code because of default methods
15
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Performance improvements
" Fork/Join improvements " Faster atomics,
concurrent libraries " Faster opImizaIons
16
collecMon.parallelStream() .filter(Objects::nonNull) .forEach(item -‐> {
//benefit from Fork/Join });
65000
85000
105000
125000
JDK 7u17 JDK 7u40 JDK 8
Max-‐jO
PS
SPECjbb2013 Improvement
40%
Oracle JDK 7u17 – Oracle SPARC T5-‐2 – 75658 SPECjbb2013-‐MulIJVM Max-‐jOPS, 23334 SPECjbb2013-‐MulIJVM CriIcal-‐jOPS Oracle JDK 7u40 – Oracle SPARC T5-‐2 – 81084 SPECjbb2013-‐MulIJVM Max-‐jOPS, 39129 SPECjbb2013-‐MulIJVM CriIcal-‐jOPS Oracle JDK 8 – Oracle SPARC T5-‐2 – 114492 SPECjbb2013-‐MulIJVM Max-‐jOPS, 43963 SPECjbb2013-‐MulIJVM CriIcal-‐jOPS Source: www.spec.org as of March 10 th 2014 SPEC and the benchmark name SPECjbb are registered trademarks of Standard Performance EvaluaIon CorporaIon (SPEC)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
JDK 8 security updates Protocols and Standards • SNI server-side support • DSA updated to FIPS186-3 • AEAD JSSE CipherSuites • TLS 1.2 as default • TLS SNI extension • Implement SHA-224 in
FIPS 180-3 • 64-bit PKCS11 for Windows • Overhaul JKS-JCEKS-PKCS12
KeyStores • MS-SFU Kerberos 5
extensions • Restrict Use Certs with
RSA keys < 1024 bits
Application Developers • JDEPS tools • High entropy random
number generation • NSA Suite B algorithm
support • Stronger algorithm
support to password based encryption
• Blacklist performance enhancements
• DNS rebinding and SocketPermission Improvements
• Type annotations
Plug-in and Web Start • Security slider • Disable via
Java Control Panel • Expiration date • Code signing for
sandboxed apps • Exception site list • Standardized revocation
SysAdmins • Deployment Rulesets • Exception site list • Locked Jars
17
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java in the enterprise
18
Java SE Advanced
Mission Control " Diagnose complex issues " Low overhead Flight Recorder " Back-‐in-‐Ime analysis " Plugins for many systems
Advanced Management Console " Track and manage clients at scale " Usage tracking and Deployment
Rule Sets
Support & Updates " Support of complex issues & changes " Updates to old versions like JDK 6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java SE roadmap
JDK 8 • Lambda • JSR 310: New Date and Time API • Nashorn: JavaScript Interoperability
• JavaFX Enhancements
8u40 • Performance Improvements • Density and Resource Management • MulI-‐Language Support Improvements • Accessibility Enhancements • ConInued Java SE Advanced Features
JDK 9 • Modularity – Jigsaw • HTTP 2.0 • Lightweight JSON • Cloud opImized JVM • ConInued Java SE Advanced Features • Ahead of Time CompilaIon
8u20 • G1 Performance Improvement • JVM Performance Improvements • Java Mission Control 5.4 • Advanced Management Console 1.0 • MSI Enterprise JRE Installer
8u60 • Bug Fixes • ConInued Java SE Advanced Features
2016 2014 2015 2017
19
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
ConInue to parIcipate
" Use Java SE 8 " Test drive Java SE 9 Early Access builds
20
Download JDK 9 Early Access release today! jdk9.java.net
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java ME 8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java SE 7
Last Year APIs Language
Java SE 7
CDC 1.1
CDC 1.1 (based on SE 1.4.2)
CLDC 1.1 (based on SE 1.3)
CLDC 1.1
22
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java SE 8 Java SE 8
Java ME 8
This Year
Java ME 8
APIs Language
23
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 24
Java Embedded adopIon
2400+ RegistraMons 83 Countries Java Embedded MOOC
Industry Wide CollaboraMon Embedded SoCs, OEMs/ODMs, Semiconductors
Raspberry Pi
~500,000 Downloads
-‐ 50,000 100,000 150,000 200,000 250,000 300,000 350,000 400,000 450,000 500,000
20+ Planorm Ports PowerPC, Intel x86, MIPS
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Oracle Mobile ApplicaMon Framework RoboVM
25
Java Card Java for Trusted ExecuMon Environments
Mobile innovaIon with Java
• Cross plaeorm mobile applicaIon development
• Simple Extensible UI • Java for Business Logic
• 3B Java Card deployed / yr • SIM cards and embedded secure elements
• Securing NFC payment
• NaIve iOS apps in Java • Leverage Java language and tools • Open Source project
• Security Services within smartphone processors
• Extends Java Card plaeorm • Mobile enterprise, mobile banking, and IOT security
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java Embedded roadmap
2016
Java SE Embedded 8 (Mar 2014) • Complete JVM convergence • New Compact Profiles • Significantly smaller base runIme • Embedded JRE customizaIon tool • Support for ARM, Power PC & x86 • Java Flight Recorder/Mission Control • Simple migraIon of ME CDC headless applicaIons
Java SE Embedded 8u6 (Q3 2014) • More footprint reducIons • Performance improvements • G1 support on JDK for ARM (experimental)
• Headful (AWT/Swing) support on ARM v5 Sop Float
Java SE Embedded 8uX • ARM v8 64-‐bit support • Improved monitoring & serviceability • ApplicaIon performance improvements
Java ME Embedded 8 (Apr 2014) • Java ME CLDC 8 & ME Embedded Profile 8 • “LiSle sibling” of Java SE 8 • New & enhanced embedded features • Scalable, portable architecture • Qualcomm 6270T and Raspberry Pi
Java ME SDK 8 • New developer tooling & enhancements
Java ME Embedded 8.1 (Q4 2014) • Footprint optimizations • Improved tooling support • Additional ports on commercial
embedded platforms
Java ME Embedded 8.2 • Simplified integration with
enterprise services • Tooling improvements
Java SE Embedded 9 Java ME Embedded 9 • Increased alignment between
Java ME and Java SE • Modularity based on Jigsaw • Developer productivity
improvements • Improved cloud deployment support
2014 2015
26
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
ConInue to parIcipate
" Play with Java Embedded products " Test drive on popular embedded development boards " Contact the Java Embedded Team about support on
your target embedded plaeorms
27
Download Java Embedded today! oracle.com/java
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java EE 7
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
The vibrant Java EE community
CompaMble ApplicaMon Servers User Groups
Java EE Developers Career Opportunity PublicaMons
29
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 30
Vital community of strong contributors Java EE
JCP contribuIons
Weld (CDI), Bean ValidaIon
Community contribuIons
Adopt-‐a-‐JSR: WebSockets
Individual contribuIons
MulIple expert groups, Airhacks
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 31
Java EE 7 HTML5-Ready • JSON • WebSockets • JAX-RS
Industry Standard • Lowers risk • Vendor choice • Implementation choice • Operating system choice • Portable applications
Scalable • Multi-threaded • Asynchronous APIs
(Servlet, EJB, JAX-RS) • Concurrency utilities
for Java EE
Productivity • Annotated POJOs • Less boilerplate code • Integrated • Excellent tool ecosystem
Meets Enterprise Demands • Java Message Service • Batch processing • Distributed transactions
Community Driven • Java Community Process • Adopt-a-JSR • Open Source RI
(GlassFish)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 32
GlassFish Server Open Source EdiIon 4.1
Updated Planorm Support • Java 8 • CDI 1.2 • WebSocket 1.1
Jersey (JAX-‐RS) • New diagnosIcs API • SSE client reconnect
Tyrus (WebSocket) • Session limits • Proxy support • Client reconnect
Stability and Quality • Feature enhancements • 1000+ bugs fixes
And More … • Updated Java EE 7 SDK • JMS over WebSockets
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java EE 8 Community Survey
hSps://java.net/downloads/javaee-‐spec/JavaEE8_Community_Survey_Results.pdf
hSps://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee
JSON-‐B
Security SimplificaIon
JCache
Security Interceptors MVC
Pruning EJB Timer Logging
Cloud
SSE
Embedded
Mgt Monitoring API Config
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Current Status Already There § Java EE 8 (JSR 366) § CDI 2 (JSR 365) § JSON-‐B (JSR 367) § JMS 2.1 (JSR 368) § Servlet 4 (JSR 369) § JAX-‐RS 2.1 (JSR 370) § MVC (JSR 371) § JSF 2.3 (JSR 372)
Coming Soon § Security § Management and Monitoring § JCache 1.1 § JSON-‐P 1.1
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java EE roadmap
Java EE 7 • HTML 5: WebSockets, JSON Processing, REST, Servlet NIO
• ProducIvity: More annotated POJOs, less boilerplate code, cohesive plaeorm
• Meet Enterprise Demands: Batch, Concurrency
Java EE 8 JSR 366 Begins • Approved unanimously • HTML5 and web enhancements • Ease of development and CDI alignment • Running in the cloud
GlassFish 5 • Java EE 8 RI • Java EE 8 SDK
Java EE 8 Community Survey • Three part survey • PrioriIzed features • 4500+ responses • Shared results
Java EE 8 GA • JSON Binding, JAX-‐RS 2.1 • JMS 2.1, Servlet 4.0 • Model-‐View-‐Controller 1.0, JSF 2.3 • Java EE Security 1.0, Java EE Management 2.0, JSON-‐P 1.1
2015 2013 2014 2017
35
2016
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
ConInue to parIcipate
36
ParMcipate with us! glassfish.org/contribute
Java EE 7 14 adopted JSRs 19 Java User Groups
Thank You!
Java EE 8 New JSRs New OpportuniIes
Get Involved!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
CREATE THE FUTURE
Java