Top Banner
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
39

Oracle Keynote from JMagghreb 2014

Jun 14, 2015

Download

Software

Simon Ritter

Oracle keynote slides delivered at JMaghreb 2014 in Casablanca, Morocco.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Oracle Keynote from JMagghreb 2014

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&

Page 2: Oracle Keynote from JMagghreb 2014

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*

Page 3: Oracle Keynote from JMagghreb 2014

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&

AdoptQaQJSR&

Java&Cha

mpion

s&

Java&Card&

Java&M

E&

Page 4: Oracle Keynote from JMagghreb 2014

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*parIcipaIon*conInues*

4*

Page 5: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.*** 5*

Page 6: Oracle Keynote from JMagghreb 2014

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+&onQdemand&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+&&onQdemand&views&40+&Visits&

New MOOC

Course

•  Over&2,400&registered&students&•  New&Java&8&MOOC&coming&in&2015&80+&LocaMons&

06/11/2014* 6*

Virtual Java Developer

Days •  ParMcipaMon&by&over&3,000&viewers&•  New&Java&8&Developer&Days&coming&in&2015&3&ConMnents&

Page 7: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

The*community*growth*conInues*

7*

Page 8: Oracle Keynote from JMagghreb 2014

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*

Page 9: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Java*SE*8*

Page 10: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.*** 10*

Java*8*buzz*

Page 11: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Java*8*publicaIons*

11*

Page 12: Oracle Keynote from JMagghreb 2014

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&

Page 13: Oracle Keynote from JMagghreb 2014

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*

Page 14: Oracle Keynote from JMagghreb 2014

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*

Page 15: Oracle Keynote from JMagghreb 2014

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*

Page 16: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Java*8*is*FAST*–*Leading*benchmarks*across*ecosystem*

16*

Page 17: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Performance*improvements*

" Fork/Join*improvements*

" Faster*atomics,*concurrent*libraries*

" Faster*opImizaIons*

17*

collecMon.parallelStream()&.filter(Objects::nonNull)&.forEach(item&Q>&{&

//benefit&from&Fork/Join&});&

65000&

85000&

105000&

125000&

JDK&7u17& JDK&7u40& JDK&8&

MaxQjO

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)*

Page 18: Oracle Keynote from JMagghreb 2014

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

18*

Page 19: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Java*in*the*enterprise*

19*

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*

Page 20: Oracle Keynote from JMagghreb 2014

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

20*

Page 21: Oracle Keynote from JMagghreb 2014

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**

21*

Download&JDK&9&Early&Access&release&today!&jdk9.java.net&

*

Page 22: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Java*ME*8*

Page 23: Oracle Keynote from JMagghreb 2014

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&

23*

Page 24: Oracle Keynote from JMagghreb 2014

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&

24*

Page 25: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.*** 25*

Java*Embedded*adopIon*

2400+&RegistraMons&83*Countries*Java*Embedded*MOOC*

Industry&Wide&CollaboraMon&Embedded*SoCs,*OEMs/ODMs,*Semiconductors*

Raspberry&Pi&

~500,000&Downloads*

&Q&&&&&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*

Page 26: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Oracle&Mobile&ApplicaMon&Framework& RoboVM&&&JavaFXPorts&

26*

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*•  JavaFX*apps*on*Android*•  Leverage*Java*language*and*tools*•  Open*Source*project*

•  Security*Services*within*smartphone*processors*

•  Extends*Java*Card*plaeorm*•  Mobile*enterprise,*mobile*banking,*and*IOT*security*

Page 27: Oracle Keynote from JMagghreb 2014

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

27*

Page 28: Oracle Keynote from JMagghreb 2014

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**

28*

Download&Java&Embedded&today!&oracle.com/java&

*

Page 29: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Java*EE*7*

Page 30: Oracle Keynote from JMagghreb 2014

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&

30*

Page 31: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.*** 31*

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*

Page 32: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.*** 32*

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)

Page 33: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.*** 33*

GlassFish*Server*Open*Source*EdiIon*4.1*

Updated&Planorm&Support&• *Java*8*• *CDI*1.2*• *WebSocket*1.1*

Jersey&(JAXQRS)&• *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*

Page 34: Oracle Keynote from JMagghreb 2014

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*

Page 35: Oracle Keynote from JMagghreb 2014

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**

Page 36: Oracle Keynote from JMagghreb 2014

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

36*

2016

Java&EE&8&•  EarlyDraps*

Java&EE&8&•  Final*Draps*

Java&EE&8&•  PublicDraps*

Page 37: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Adopt^A^JSR*

• Grass*roots*parIcipaIon*to*shape*Java*EE*•  Launched*in*Java*EE*7*Ime^frame,*key*community*element*for*Java*EE*8*

– 19*JUGs*adopted*a*Java*EE*7*JSR*

37*

http://glassfish.org/adoptajsr

Page 38: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

Java*EE*8*JSRs*Already*Adopted!*User&Group& Java&EE&

8.0&CDI&2.0&

JSONQB&1.0& JMS&2.1& Servlet&4.0& JAXQRS&2.1& MVC&1.0&

JSF&2.3&

London*Java*Community*

Morocco*JUG*Egypt*JUG*

Hellenic*Java*User*Group*

Santa*Catarina*Java*User*Group*

Japan*User*Group*

Page 39: Oracle Keynote from JMagghreb 2014

Copyright*©*2014,*Oracle*and/or*its*affiliates.*All*rights*reserved.***

CREATE*THE*FUTURE*

Java&