Oracle Keynote from JMagghreb 2014

39
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

description

Oracle keynote slides delivered at JMaghreb 2014 in Casablanca, Morocco.

Transcript of Oracle Keynote from JMagghreb 2014

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&