JavaOne 2014 Java EE 8 Booth Slides

32

description

Prepared by David Delabassee, this is the JavaOne 2014 Java EE 8 Booth Slide Infodeck.

Transcript of JavaOne 2014 Java EE 8 Booth Slides

Page 1: JavaOne 2014 Java EE 8 Booth Slides
Page 2: JavaOne 2014 Java EE 8 Booth Slides

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

Java  EE  8  

Page 3: JavaOne 2014 Java EE 8 Booth Slides

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

Safe  Harbor  Statement  The  following  is  intended  to  outline  our  general  product  direcJon.  It  is  intended  for  informaJon  purposes  only,  and  may  not  be  incorporated  into  any  contract.  It  is  not  a  commitment  to  deliver  any  material,  code,  or  funcJonality,  and  should  not  be  relied  upon  in  making  purchasing  decisions.  The  development,  release,  and  Jming  of  any  features  or  funcJonality  described  for  Oracle’s  products  remains  at  the  sole  discreJon  of  Oracle.  

3  

Page 4: JavaOne 2014 Java EE 8 Booth Slides

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

Java  EE  8  Themes  

• HTML5  /  Web  Tier  Enhancements  •  Ease  of  Development  /  CDI  alignment  •  Infrastructure  for  running  in  the  Cloud  

• Driven  by  Community  Feedback  

4  

JSR  366  

Page 5: JavaOne 2014 Java EE 8 Booth Slides

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

Community  PrioriJzed  Features  

5  

Page 6: JavaOne 2014 Java EE 8 Booth Slides

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

CDI  2.0  

•  Events  – Asynchronous  events  – Event  ordering  – Event  Range  (war,  ear,  server,  cluster)  

•  Interceptor  /  Decorator  (AOP)  – Support  AOP  on  custom  or  produced  bean  – Support  AOP  on  inner  calls  (AOP  enable  when  a  method  is  called  in  same  class)  

6  

JSR  365  

•  SPI  enhancement  – Be\er  access  to  CDI  meta  data  – Contexts  enhancement  for  3rd  party  Spec  

Page 7: JavaOne 2014 Java EE 8 Booth Slides

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

CDI  2.0  (cont.)  

• Parts  (“sub-­‐spec  with  sub-­‐impl.”)  – CDI  Light  (simple  IoC  soluJon)  – Event  

•  Java  SE  support  – Boot  CDI  from  Java  SE  – Add  SPI  to  easily  integrate  CDI  in  custom  stack  (i.e  plug  transacJon  manager)  

7  

JSR  365  

Page 8: JavaOne 2014 Java EE 8 Booth Slides

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

JSON-­‐B  1.0  

• ConverJng  Java  objects  to  &  from  JSON  •  Supports  for  different  providers  – Leverages  mature  JSON  Binding  frameworks  – With  a  standard  API  

• Mapping  – Default  +  customized  

8  

JSR  367  

Page 9: JavaOne 2014 Java EE 8 Booth Slides

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

JMS  2.1  

• New  API  to  receive  messages  asynchronously    – In  Java  SE,  remove  need  to  implement  MessageListener  – In  Java  EE,  a  simpler  and  more  flexible  alternaJve  to  JMS  MDBs  •  Simpler,  JMS-­‐specific  annotaJons  that  allow  any  managed  bean  to  listen  for  JMS  messages  •  No  need  to  implement  MessageListener  •  No  need  to  be  restricted  to  MDB  lifecycle  

9  

JSR  368  

@RequestScoped  public  class  MyListenerComponent  {        @JMSListener(destinationLookup="myQueue")      @Transactional      public  void  myCallback(Message  message)  {          ...          ...      }  }  

Page 10: JavaOne 2014 Java EE 8 Booth Slides

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

JMS  2.1  (cont.)  

• Completes  ease-­‐of-­‐use  improvements  started  in  JMS  2.0  •  Improved  portability  of  JMS  providers  between  ApplicaJon  Servers  •  Further  clarify  behavior  of  JMS  in  a  Java  EE  applicaJons  • CorrecJons  and  improvements  to  new  JMS  2.0  features  •  Extend  specificaJon  to  cover  redelivery  loops  and  dead  message  queues  • Other  features  proposed  by  the  community  and  the  Experts  Group  

10  

JSR  368  

Page 11: JavaOne 2014 Java EE 8 Booth Slides

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

Servlet  4.0  

• Request/response  mulJplexing  – Servlet  Request  as  HTTP/2  message  

•  Stream  prioriJzaJon  – Add  stream  priority  to  H\pServletRequest  

•  Server  push  • Binary  framing  – Hidden  from  API  

• Upgrade  from  HTTP  1.1  

11  

JSR  369  

Page 12: JavaOne 2014 Java EE 8 Booth Slides

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

Servlet  4.0  

•  Servlet  4.0  is  important  because  HTTP  2.0  is  important  • HTTP  2.0  compliance  – Server  Push  – Stream  Priority  – Upgrade  from  HTTP  1.1  

• Compliance  with  latest  HTTP  1.1  RFCs  7230  –  7235  – IETF  PRECIS  framework  for  secure  Unicode  – Numerous  small  compliance  issues  

12  

JSR  369  

Page 13: JavaOne 2014 Java EE 8 Booth Slides

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

JAX-­‐RS  2.1  

• ConJnued  evoluJon  of  JAX-­‐RS  API  – All  simple  problems  have  already  been  solved…  

• Performance  – ReacJve  Programming  Model  – Java  SE  8  Streams  – Non-­‐blocking  I/O  

13  

JSR  370  

Page 14: JavaOne 2014 Java EE 8 Booth Slides

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

JAX-­‐RS  2.1  (cont.)  

•  Java  EE  Alignment  – CDI  Alignment  – DeclaraJve  Security  Model  – MVC  1.0  IntegraJon  – JSONB  1.0  IntegraJon  

•  Filling  the  Gaps  – Server-­‐Sent  Events  – Improved  Hypermedia  Support  – CORS  

14  

JSR  370  

Page 15: JavaOne 2014 Java EE 8 Booth Slides

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

MVC  1.0  

• AcJon-­‐based  Model-­‐View-­‐Controller  architecture  • Glues  together  key  Java  EE  technologies:  – Model  •  CDI,  Bean  ValidaJon,  JPA  

– View  •  Facelets,  JSP  

– Controller  •  Invent  new  technology?  •  Leverage  exisJng  technologies  such  as  JAX-­‐RS,  ...  ?  

JSR  371  

15  

Page 16: JavaOne 2014 Java EE 8 Booth Slides

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

JSF  2.3  

•  SpecificaJon  clarificaJons  • CDI  alignment  – Ease  of  use  e.g.  @Inject  – Removal  of  old  injecJon  provider  

• Performance  enhancements  – Caching  EL  expressions  were  possible  

• Use  Java  SE  8  where  possible  

JSR  372  

16  

Page 17: JavaOne 2014 Java EE 8 Booth Slides

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

JSF  2.3  (cont.)  

• MVC  alignment  •  Shepherd  EG  driven  features  into  spec  – JSON  ajax  component  rendering  – State  saving  enhancements  – Stateless  enhancements  – GET  enhancements  – …  

JSR  372  

17  

Page 18: JavaOne 2014 Java EE 8 Booth Slides

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

Java  EE  Management  API  2.0  

• Update  of  JSR  77  • Define  RESTful  API  for  Java  EE  management  – Incorporate  all  exisJng  JSR  77  managed  beans  – Define  event  model  using  Server  Sent  Events  – ConsideraJon  will  be  given  to  mark  the  exisJng  MEJB  API  as  Proposed  OpJonal  

• Define  RESTful  API  for  applicaJon  deployment  – Focus  on  simple  cases  first  – Deployment  support  integrated  to  same  API  with  other  Java  EE  management  

JSR  TBD  

18  

Page 19: JavaOne 2014 Java EE 8 Booth Slides

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

JSON-­‐P  1.1  

•  Support  for  JSON  standards  – JSON  Pointer  (RFC  6901)  and  JSON  Patch  (RFC  6902)  

•  Support  for  ediJng/transformaJon  on  JsonArray  and  JsonObject  – Add  API  for  the  current  builders  

•  Support  JSON  query  in  JavaSE  8  – Add  helper  classes  and  methods  to  construct  Collectors  

•  Support  for  bing  JSON  data  – Add  API  in  JsonParser  to  construct  JsonValues  – Generate  Java  streams  (high  and  low  level)    

JSR  TBD  

19  

Page 20: JavaOne 2014 Java EE 8 Booth Slides

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

Java  EE  Security  1.0  

• Candidate  Areas  to  Enhance  Portability,  Flexibility,  Ease-­‐of-­‐Use  – Password  Aliasing  – User  Management  – Role  Mapping  – AuthenJcaJon  – REST  AuthenJcaJon  – AuthorizaJon  

JSR  TBD  

20  

Page 21: JavaOne 2014 Java EE 8 Booth Slides

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

Java  EE  Security  1.0  

• AuthorizaIon  via  CDI  Interceptors        

   @IsAuthorized("hasRoles('Manager')  &&  schedule.officeHrs")  

   void  transferFunds()    

   @IsAuthorized("hasRoles('Manager')  &&  hasAttribute('directReports',  employee.id)")  

   double  getSalary(long  employeeId);    

   @IsAuthorized(ruleSourceName="java:app/payrollAuthRules",  rule="report")  

   void  displayReport();  

JSR  TBD  

21  

Page 22: JavaOne 2014 Java EE 8 Booth Slides

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

Java  EE  8  JSRs  

•  Java  EE  8  Platorm  • CDI  2.0  •  JSON  Binding  1.0  •  JAX-­‐RS  2.1  • MVC  1.0  •  Java  Servlet  4.0  •  JSF  2.3  •  JMS  2.1  

22  

As  of  today                          Coming  soon…  

•  JSON-­‐P  1.1  •  Java  EE  Security  1.0  •  Java  EE  Management  2.0  •  JCache  1.1  • And  more  to  follow…        

Page 23: JavaOne 2014 Java EE 8 Booth Slides

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

And  more  to  follow…  

•  EL  • Concurrency  UJliJes  • Connector  Architecture  • WebSocket  •  Interceptors  •  JPA  

23  

•  EJB  •  JTA  • Batch  •  JavaMail  • …        

Page 24: JavaOne 2014 Java EE 8 Booth Slides

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

Transparency  

• Our  Java  EE  8  JSRs  run  in  the  open  on  java.net  – h\p://javaee-­‐spec.java.net  – One  project  per  JSR  –  jax-­‐rs-­‐spec,  mvc-­‐spec,  servlet-­‐spec,...  

• Publically  viewable  Expert  Group  mail  archive  – Users  observer  lists  gets  all  copies  

• Publicly  accessible  issue  tracker  /  JIRA  • Publicly  accessible  download  area  • …  

24  

Commitment  to  JCP  transparent  processes  

Page 25: JavaOne 2014 Java EE 8 Booth Slides

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

Java  EE  Roadmap  

Public Review Drafts

Proposed Final Draft

JSR Submissions

Java EE 8 Final

Early Draft Specifications

Java EE 8 Planning

01/2016 01/2015 09/2017 06/2014 01/2015

Page 26: JavaOne 2014 Java EE 8 Booth Slides

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

ConJnue  to  parJcipate  

26  

ParDcipate  with  us!  hIp://glassfish.org/contribute  

 

Java  EE  7  14  adopted  JSRs  19  Java    User  Groups  

Thank You!

Java  EE  8  New  JSRs  New  OpportuniJes  

Get Involved!

Page 27: JavaOne 2014 Java EE 8 Booth Slides

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

GlassFish  Server  

Page 28: JavaOne 2014 Java EE 8 Booth Slides

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

GlassFish  Server  Open  Source  EdiJon  4.1  

28  

Updated  PlaSorm  Support  •   Java  8  •   CDI  1.2  •   WebSocket  1.1  

Jersey  (JAX-­‐RS)  •   New  diagnosJcs  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 29: JavaOne 2014 Java EE 8 Booth Slides

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

Meet  the  Experts  

Page 30: JavaOne 2014 Java EE 8 Booth Slides

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

Meet  the  Experts  –  Monday  Sept.  29  Schedule   Expert(s)   Technology  

10-­‐11  AM   Bruno  Borges   Adopt-­‐a-­‐JSR  for  Java  EE  8,  any  Java  EE  8  technology  

11  –  12  PM   MarJn  Grebac   JSON-­‐B  

12  -­‐  1  PM   Kin-­‐man  Chung   JSON-­‐P  and  EL  

1  -­‐  2  PM   Marek  Potociar  Pavel  Bucek  

JAX-­‐RS  WebSocket  (JSR  356)  

2  -­‐  3  PM   Linda  DeMichiel   Java  EE  8  

4  -­‐  5  PM   Reza  Rahman   Adopt-­‐a-­‐JSR  for  Java  EE  8,  any  Java  EE  8  technology  

30  

Page 31: JavaOne 2014 Java EE 8 Booth Slides

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

Meet  the  Experts  –  Tuesday  Sept.  30  Schedule   Expert(s)   Technology  

10-­‐11  AM   Heather  VanCura   JCP/JCP.Next  (JSR  364),  Adopt-­‐a-­‐JSR  

11  –  12  PM   MarJn  Mares   Java  EE  Management  

12  -­‐  1  PM   Nigel  Deakin   JMS  

1  -­‐  2  PM   Reza  Rahman   Adopt-­‐a-­‐JSR  for  Java  EE  8,  any  Java  EE  8  technology  

2  -­‐  3  PM   Ed  Burns,  Shing  Wai  Chan   JSF  2.3  and  Servlets  4.0  

4  -­‐  5  PM   Marek  Potociar   JAX-­‐RS  

31  

Page 32: JavaOne 2014 Java EE 8 Booth Slides

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

Meet  the  Experts  -­‐  Wednesday  Oct.  1    Schedule   Expert(s)   Technology  

10-­‐11  AM   Antoine  Sabot-­‐Durand   CDI  

11  –  12  PM   Antoine  Sabot-­‐Durand   CDI  

12  -­‐  1  PM   Brian  Oliver     Jcache    

1  -­‐  2  PM   David  Delabassee     Adopt-­‐a-­‐JSR  for  Java  EE  8,  any  Java  EE  8  technology  

2  -­‐  3  PM   Manfred  Riem     MVC  1.0  and  JSF  2.3    

32