java: create the future keynote

37
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

Upload: simon-ritter

Post on 02-Jul-2015

1.373 views

Category:

Software


0 download

DESCRIPTION

Keynote presentation delivered to the Japan Java User Group. Based on the strategy keynote from JavaOne 2014.

TRANSCRIPT

Page 1: 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  

Page 2: Java: Create The Future Keynote

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: Java: Create The Future Keynote

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  

Page 4: Java: Create The Future Keynote

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  

Page 5: Java: Create The Future Keynote

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

Page 6: Java: Create The Future Keynote

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  

Page 7: Java: Create The Future Keynote

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

The  community  growth  conInues  7  

Page 8: Java: Create The Future Keynote

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: Java: Create The Future Keynote

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

Java  SE  8  

Page 10: Java: Create The Future Keynote

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

Java  8  buzz  

Page 11: Java: Create The Future Keynote

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

Java  8  publicaIons  

11  

Page 12: Java: Create The Future Keynote

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: Java: Create The Future Keynote

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: Java: Create The Future Keynote

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: Java: Create The Future Keynote

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: Java: Create The Future Keynote

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)  

Page 17: Java: Create The Future Keynote

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  

Page 18: Java: Create The Future Keynote

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  

Page 19: Java: Create The Future Keynote

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  

Page 20: Java: Create The Future Keynote

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  

 

Page 21: Java: Create The Future Keynote

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

Java  ME  8  

Page 22: Java: Create The Future Keynote

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  

Page 23: Java: Create The Future Keynote

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  

Page 24: Java: Create The Future Keynote

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  

Page 25: Java: Create The Future Keynote

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  

Page 26: Java: Create The Future Keynote

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  

Page 27: Java: Create The Future Keynote

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  

 

Page 28: Java: Create The Future Keynote

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

Java  EE  7  

Page 29: Java: Create The Future Keynote

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  

Page 30: Java: Create The Future Keynote

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  

Page 31: Java: Create The Future Keynote

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)

Page 32: Java: Create The Future Keynote

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  

Page 33: Java: Create The Future Keynote

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 34: Java: Create The Future Keynote

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 35: Java: Create The Future Keynote

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

Page 36: Java: Create The Future Keynote

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!

Page 37: Java: Create The Future Keynote

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

CREATE  THE  FUTURE  

Java