Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java EE 7 meets Java 8


Published on

The last few years have been pretty exciting for Java with new versions of EE and SE platforms. Java EE, introduced a new API to build WebSockets; a new API to parse, process and generate JSON; a new Client API in JAX-RS to invoke REST services, and finally the Batch Processing API to build batch applications. Java SE brought us the long awaited Lambda expressions; the powerful Streams API to perform operations like filtering, mapping or sorting in a very easy and fluent way, and a brand new Date Time API, to deal with the complexities of Timezones and Periods. This session will combine all of these elements together and show you how to easily develop an application using Java SE 8 with Java EE 7, with live coding and samples.

This session will explore the usage of the new Java 8 API's, combined with some of the new and existing features of Java EE. It will mostly be a live coding session where I plan to combine Java 8 Lambdas, Streams and DateTime API's with JPA, CDI, REST, Websockets and Batch.

The interesting thing about this session is about how to adjust your coding style and learn where you can use all these awesome Java 8 feature when developing a standard Enterprise application.

Published in: Technology
  • Be the first to comment

Java EE 7 meets Java 8

  1. 1. JavaOne @radcortez#javaee7java8 Java  EE  7  meets  Java  8 Roberto  Cortez   Tomitribe
  2. 2. JavaOne @radcortez#javaee7java8 Who  am  I? Passionate  Developer,  Blogger,  Youtuber,  Speaker,  Triber,  JUG   Leader,  Java  Champion   twi*er:     @radcortez     blog:     h*p://   youtube:   h*p://   mail:    
  3. 3. JavaOne @radcortez#javaee7java8 Ques:ons? As  soon  as  you  have  them!
  4. 4. JavaOne @radcortez#javaee7java8 Agenda • SE  and  EE  overview   • Code  Demos   • JPA,  Date  Time  API,  OpFonal  and  Streams   • JAX-­‐RS,  OpFonal  and  Completable  Future   • Websockets,  Streams,  CollecFons  enhancements   • Timers,  Concurrency  and  Method  References   • Batch,  OpFonal  and  Streams   • Future  Ideas   • Bean  ValidaFon,  JPA  and  Method  References   • Stream  Batch
  5. 5. JavaOne @radcortez#javaee7java8 SE  and  EE  versions  alignment J2SE 1.2 1998 J2EE 1.2 1999 J2SE 1.3 2000 J2EE 1.3 2001 J2SE 1.4 2002 J2EE 1.4 2003 Java SE 5 2004 Java EE 5 2006 Java SE 6 2006 Java EE 6 2009 Java SE 7 2011 Java EE 7 2013 Java SE 8 2014 Java EE 8 2017 Java SE 9 2017
  6. 6. JavaOne @radcortez#javaee7java8 SE  and  EE  versions  alignment • EE  targets  the  previous  SE  version   • EE  will  only  align  with  SE  8  in  EE  8   • EE  7  is  not  targeted  to  SE  8 Even  so,  we  can  improve  current  EE  7  with  SE  8
  7. 7. JavaOne @radcortez#javaee7java8 EE  Applica:on  Servers • All  major  EE  servers  support  SE  8   • Glassfish   • Wildfly   • TomEE   • Weblogic   • Websphere  Liberty   • Some  already  dropped  SE  7  support  completely   • EE  developers  are  free  to  use  SE  8
  8. 8. JavaOne @radcortez#javaee7java8 SE  8  give  us • Major   • Lambdas  :)  (and  Method  References)   • Streams   • Date  &  Time  API   • Other   • CollecFons  enhancements   • OpFonal,  StringJoiner,  CompletableFuture,  Comparator,  Repeatable   AnnotaFons
  9. 9. JavaOne @radcortez#javaee7java8 Demos
  10. 10. JavaOne @radcortez#javaee7java8 What  about  Parallel  Streams? • They  use  the  common  ForkJoinPool   • Threads  outside  of  the  EE  environment   • ForkJoinPool  uses  all  available  CPU  cores   • Use  at  your  own  risk!   • This  can  help:  -­‐ Djava.uFl.concurrent.ForkJoinPool.common.parallelism=1   • No  parallelism   • In  the  future  EE  servers  might  handle  parallel  streams  properly
  11. 11. JavaOne @radcortez#javaee7java8 Thank  you  for  AKending! QA   twi*er:     @radcortez     blog:     h*p://   youtube:   h*p://   mail: