Java EE 7
The Voyage of the Cloud Treader




          Werner Keil
          21/04/2011
IN MEMORIAM
William Perry Moore IV




                  November 4, 1971 – February 17, 2011

www.catmedia.us                                          3
CLOUD TREADER




www.catmedia.us         Images © Ocean7.at   4
STARRING




www.catmedia.us    Images based on © Walden Media / Twentieth Century Fox   5
OR?




                  Images © Walden Media / Twentieth Century Fox




www.catmedia.us                                                   6
REEpichEEp




www.catmedia.us     Images © Walden Media / Twentieth Century Fox   7
Web 2.0+
                                   7 “Swords”                                               Scalability
                                                                                            Java EE 7
                                                          Ease of        Rightsizing        HTML5,
                                                                                            JCache
                                                          Development                       JSon
                                          Web
                                                                         Java EE 6          Multi Tenant
                                          Services                       CDI/DI,            Cloud,
                                                          Java EE 5      Managed Beans,     ?
                                                          Annotations,
                                          J2EE 1.4        EJB 3.0,       Bean Validation,
                           Robustness     Web Services,   Persistence    JAX-RS,
              Enterprise                  Management,     API,           Extensibility
              Java         J2EE 1.3       Deployment,     JSF,
                                          Async.          Renewed Web
              Platform     EJB 2.0,
                                          Connector       Services
                           Connector
                           Architecture
             J2EE 1.2
             Servlet,
             JSP, EJB,
 JPE         JMS, JTA,
             JNDI,
 Project     RMI/IIOP




May 1998     Dec 1999 Sept. 2001 Nov. 2003                 May 2006      Nov. 2009          ~ late 2012
 www.catmedia.us                                                                                    8
Java EE 5
• Ease of development
     – POJO Programming
     – Annotation
     – Resource Injection
• JPA
     – New persistence model replaced Entity Bean
• JSF
     – New component based MVC framework
• JAX-WS and JAXB 2.0
www.catmedia.us                                     9
• Rightsizing
                         Java EE 6
    – Profiles: The Web Profile, a subset of the
      platform focussed on Web Applications
    – Dependency Injection
• Further ease of development
    – Java EE 5 - EJB simplifications
    – Java EE 6 Web Tier and packaging
      simplifications
• Extensibility
    – Allowing for Open Source Frameworks to be
      plugged in via a standard mechanism
www.catmedia.us                                    10
Ease of Development
Adding an EJB to a Web Application
         Java EE 5                   Java EE 6

                   ShoppingCart
BuyBooks.war                           BuyBooks.war
                   EJB Class




                  ShoppingCart.jar
                                       ShoppingCart
                                       EJB Class


          BuyBooks.ear
                                                      11
THE CLOUD




                    Images © Walden Media / Twentieth Century Fox




www.catmedia.us                                                     12
Java EE 7
  Synopsis
•Making Java EE
ready for the cloud
• Support for
Platform-as-a-Service
(PaaS) model




                         Images © Walden Media / Twentieth Century Fox




  www.catmedia.us                                                        13
Java EE 7
Featuring

•   Multitenancy support
•   Service metadata
•   Connectionless APIs
•   Modularity metadata compatible with Java SE 8
•   Concurrency utilities (JSR-236)
•   JCache (JSR-107)


www.catmedia.us                                     14
Java EE 7
Featuring (2)

•   JMS 2.0 API
•   Web sockets
•   HTML 5
•   JSON
•   REST client API
•   Further alignment behind managed beans


www.catmedia.us                              15
Seven “Kings”
Already approved

1.    JPA 2.1
2.    JAX-RS 2.0
3.    Servlet 3.1
4.    EL 3.0
5.    Platform 7 / Web Profile 7
6.    JMS 2.0
7.    JSF 2.2 *
                                   * see Slide 22
www.catmedia.us                                     16
Since “Part 1”
Ongoing

• Concurrency Utilities 1.0
• JCache 1.0




www.catmedia.us      Images © Walden Media / Disney / Twentieth Century Fox   17
Since “Part 2”
Already Filed

• EJB 3.2
• CDI 1.1




www.catmedia.us      Images © Walden Media / Disney / Twentieth Century Fox   18
For “Part 4”
Yet to be Filed

•   JSR-330 1.1
•   Bean Validation 1.1
•   JSON 1.0
•   Web Sockets 1.0 ?
•   Data Grid ?



www.catmedia.us           Images © Walden Media / Disney / Twentieth Century Fox   19
For “Part 4”
Yet to be Filed (2)

•   Common Annotations 1.2
•   JAX-WS 2.3
•   JTA 1.2
•   JSP 2.3
•   Connector 1.7 ?
•   ?


www.catmedia.us       Images © Walden Media / Disney / Twentieth Century Fox   20
Schedule
Not in Narnia Years…

• First seven JSRs already approved
• Remaining ones (to be) filed soon
      – EJB 3.2 and CDI 1.1 proposed
      – JSON 1.0 draft posted publicly
• Final release by Q3 2012
• Time-Boxed: anything not ready
   will be deferred to Java EE 8

www.catmedia.us            Images © Walden Media / Disney / Twentieth Century Fox   21
Where is JSF in its lifecycle?
   • 2.0 was the last BIG FEATURE release
   • From now on, JSF will be maintained with
      smaller, more frequent releases.
       • 2.1 was a small minor revision (MR)
       • 2.2, for JavaEE 6, is a small JSR, done by end of
         this year (2011)
       • 2.3 may follow soon afterward, and will target
         Java EE 7


www.catmedia.us                                              22
What's Planned for JSF 2.2
   • Let's revisit the JSR on which the JCP voted
      yes
      http://jcp.org/en/jsr/proposalDetails?id=3
      44
       • Ease of Development
       • Portlet Integration
       • New Features
       • Fixes

www.catmedia.us                                     23
• single
                     How to Get Involved
                      By Facebook Relationship Status
   • Read or post
       • webtier@glassfish.java.net
       • http://bit.ly/TheRealJsfForum
• In a relationship
   • Get an id at http://java.net/
   • Visit http://jsf-spec.java.net/ and click on “Join”
• engaged
   • File issues at http://jsf-spec.java.net/issues/
   • Subscribe to users@javaserverfaces-spec-public.java.net
• married
   • Join the Expert Group (must be an official JCP member with valid JSPA)
     http://jcp.org/en/jsr/egnom?id=344
   • Subscribe to jsr344-experts@javaserverfaces-spec-public.java.net
   www.catmedia.us                                                      24
How to Get Involved
• It's complicated      By Facebook Relationship Status
     • Get a new job that has nothing to do with JSF
       and still participate as if you were in a
       relationship
•   In an open relationship
     • Go away from working with JSF for a while, but come back every now
       and then as if you were single
•   Widowed
     • You don't even work in IT any more
•   Separated
     • You start playing around with another framework and decide you like it
       better, but think maybe someday you'll come back to JSF again
•   Divorced
     • You leave JSF and publicly bash it, saying how great another framework
       is                                                                 25
JSF 2.2
Conclusion

   • JSF 2.2 is trying to be the fastest ever JSR
   • If it's not in the issue tracker, it will not get
     done, ever
     http://jsf-spec.java.net/issues/
   • http://jsf.java.net/faq/



www.catmedia.us                                          26
JPA 2.1
   • Let's revisit the JSR on which the JCP voted
      http://jcp.org/en/jsr/proposalDetails?id=3
      38
       • Bulk Update/Delete
       • Support for Stored Procedures
       • Named Queries
       • Improved SQL Result Set Mapping



www.catmedia.us                                     27
JPA 2.1
A bit of Code




www.catmedia.us             28
Data Grid
Proposal

   • Data grids are gaining prominence and
     importance in enterprise Java, particularly as
     cloud-style deployments gain popularity:
         – High Availability
         – Cloud-style Deployment
         – Scalability


www.catmedia.us                                   29
Data Grid
Discussion

   • Data Grid to JSR-107 like CDI to JSR-330 ?
   • Concerns by some vendors
         – Especially Terracotta (107 EG)
   • What about Oracle?
         – Coherence,…
   • What about vmware?
   • Google, Amazon,…?
www.catmedia.us                                   30
Social Networking
Initiated by Mobile, but meant to be portable

   • Specify APIs to Java (ME) allowing thereby to
     applications and local web services (servlets) to
     interface and host 3rd party social applications (e.g.
     hi5, LinkedIn, MySpace, Netlog, Ning, orkut, XING,
     Yahoo! ...) similar to
      – OpenSocial
      – Seam Social
      – Spring Social,…
www.catmedia.us                                           31
Social Networking
Main Features

   •   Generic Framework
   •   Interface for applications to define new
   •   Containers
   •   Retrieve Social Networking information
   •   Security ?



www.catmedia.us                                   32
Modularity
OSGi vs. Jigsaw

   •   What is EE 7 going to provide?
   •   Will it be based on OSGi?
   •   How about compatibility with SE 8?
   •   ???




www.catmedia.us                             33
2012
…Aslan’s Country?




                  …a wall of water that extends into the sky.

www.catmedia.us                    Images © Columbia Pictures / Sony Pictures   34
Fulfilling
Ramandu's condition, Reepicheep




                  …paddles his coracle up the waterfall…

www.catmedia.us               Images © Walden Media / Twentieth Century Fox   35

Java EE 7: the Voyage of the Cloud Treader

  • 1.
    Java EE 7 TheVoyage of the Cloud Treader Werner Keil 21/04/2011
  • 2.
    IN MEMORIAM William PerryMoore IV November 4, 1971 – February 17, 2011 www.catmedia.us 3
  • 3.
    CLOUD TREADER www.catmedia.us Images © Ocean7.at 4
  • 4.
    STARRING www.catmedia.us Images based on © Walden Media / Twentieth Century Fox 5
  • 5.
    OR? Images © Walden Media / Twentieth Century Fox www.catmedia.us 6
  • 6.
    REEpichEEp www.catmedia.us Images © Walden Media / Twentieth Century Fox 7
  • 7.
    Web 2.0+ 7 “Swords” Scalability Java EE 7 Ease of Rightsizing HTML5, JCache Development JSon Web Java EE 6 Multi Tenant Services CDI/DI, Cloud, Java EE 5 Managed Beans, ? Annotations, J2EE 1.4 EJB 3.0, Bean Validation, Robustness Web Services, Persistence JAX-RS, Enterprise Management, API, Extensibility Java J2EE 1.3 Deployment, JSF, Async. Renewed Web Platform EJB 2.0, Connector Services Connector Architecture J2EE 1.2 Servlet, JSP, EJB, JPE JMS, JTA, JNDI, Project RMI/IIOP May 1998 Dec 1999 Sept. 2001 Nov. 2003 May 2006 Nov. 2009 ~ late 2012 www.catmedia.us 8
  • 8.
    Java EE 5 •Ease of development – POJO Programming – Annotation – Resource Injection • JPA – New persistence model replaced Entity Bean • JSF – New component based MVC framework • JAX-WS and JAXB 2.0 www.catmedia.us 9
  • 9.
    • Rightsizing Java EE 6 – Profiles: The Web Profile, a subset of the platform focussed on Web Applications – Dependency Injection • Further ease of development – Java EE 5 - EJB simplifications – Java EE 6 Web Tier and packaging simplifications • Extensibility – Allowing for Open Source Frameworks to be plugged in via a standard mechanism www.catmedia.us 10
  • 10.
    Ease of Development Addingan EJB to a Web Application Java EE 5 Java EE 6 ShoppingCart BuyBooks.war BuyBooks.war EJB Class ShoppingCart.jar ShoppingCart EJB Class BuyBooks.ear 11
  • 11.
    THE CLOUD Images © Walden Media / Twentieth Century Fox www.catmedia.us 12
  • 12.
    Java EE 7 Synopsis •Making Java EE ready for the cloud • Support for Platform-as-a-Service (PaaS) model Images © Walden Media / Twentieth Century Fox www.catmedia.us 13
  • 13.
    Java EE 7 Featuring • Multitenancy support • Service metadata • Connectionless APIs • Modularity metadata compatible with Java SE 8 • Concurrency utilities (JSR-236) • JCache (JSR-107) www.catmedia.us 14
  • 14.
    Java EE 7 Featuring(2) • JMS 2.0 API • Web sockets • HTML 5 • JSON • REST client API • Further alignment behind managed beans www.catmedia.us 15
  • 15.
    Seven “Kings” Already approved 1. JPA 2.1 2. JAX-RS 2.0 3. Servlet 3.1 4. EL 3.0 5. Platform 7 / Web Profile 7 6. JMS 2.0 7. JSF 2.2 * * see Slide 22 www.catmedia.us 16
  • 16.
    Since “Part 1” Ongoing •Concurrency Utilities 1.0 • JCache 1.0 www.catmedia.us Images © Walden Media / Disney / Twentieth Century Fox 17
  • 17.
    Since “Part 2” AlreadyFiled • EJB 3.2 • CDI 1.1 www.catmedia.us Images © Walden Media / Disney / Twentieth Century Fox 18
  • 18.
    For “Part 4” Yetto be Filed • JSR-330 1.1 • Bean Validation 1.1 • JSON 1.0 • Web Sockets 1.0 ? • Data Grid ? www.catmedia.us Images © Walden Media / Disney / Twentieth Century Fox 19
  • 19.
    For “Part 4” Yetto be Filed (2) • Common Annotations 1.2 • JAX-WS 2.3 • JTA 1.2 • JSP 2.3 • Connector 1.7 ? • ? www.catmedia.us Images © Walden Media / Disney / Twentieth Century Fox 20
  • 20.
    Schedule Not in NarniaYears… • First seven JSRs already approved • Remaining ones (to be) filed soon – EJB 3.2 and CDI 1.1 proposed – JSON 1.0 draft posted publicly • Final release by Q3 2012 • Time-Boxed: anything not ready will be deferred to Java EE 8 www.catmedia.us Images © Walden Media / Disney / Twentieth Century Fox 21
  • 21.
    Where is JSFin its lifecycle? • 2.0 was the last BIG FEATURE release • From now on, JSF will be maintained with smaller, more frequent releases. • 2.1 was a small minor revision (MR) • 2.2, for JavaEE 6, is a small JSR, done by end of this year (2011) • 2.3 may follow soon afterward, and will target Java EE 7 www.catmedia.us 22
  • 22.
    What's Planned forJSF 2.2 • Let's revisit the JSR on which the JCP voted yes http://jcp.org/en/jsr/proposalDetails?id=3 44 • Ease of Development • Portlet Integration • New Features • Fixes www.catmedia.us 23
  • 23.
    • single How to Get Involved By Facebook Relationship Status • Read or post • webtier@glassfish.java.net • http://bit.ly/TheRealJsfForum • In a relationship • Get an id at http://java.net/ • Visit http://jsf-spec.java.net/ and click on “Join” • engaged • File issues at http://jsf-spec.java.net/issues/ • Subscribe to users@javaserverfaces-spec-public.java.net • married • Join the Expert Group (must be an official JCP member with valid JSPA) http://jcp.org/en/jsr/egnom?id=344 • Subscribe to jsr344-experts@javaserverfaces-spec-public.java.net www.catmedia.us 24
  • 24.
    How to GetInvolved • It's complicated By Facebook Relationship Status • Get a new job that has nothing to do with JSF and still participate as if you were in a relationship • In an open relationship • Go away from working with JSF for a while, but come back every now and then as if you were single • Widowed • You don't even work in IT any more • Separated • You start playing around with another framework and decide you like it better, but think maybe someday you'll come back to JSF again • Divorced • You leave JSF and publicly bash it, saying how great another framework is 25
  • 25.
    JSF 2.2 Conclusion • JSF 2.2 is trying to be the fastest ever JSR • If it's not in the issue tracker, it will not get done, ever http://jsf-spec.java.net/issues/ • http://jsf.java.net/faq/ www.catmedia.us 26
  • 26.
    JPA 2.1 • Let's revisit the JSR on which the JCP voted http://jcp.org/en/jsr/proposalDetails?id=3 38 • Bulk Update/Delete • Support for Stored Procedures • Named Queries • Improved SQL Result Set Mapping www.catmedia.us 27
  • 27.
    JPA 2.1 A bitof Code www.catmedia.us 28
  • 28.
    Data Grid Proposal • Data grids are gaining prominence and importance in enterprise Java, particularly as cloud-style deployments gain popularity: – High Availability – Cloud-style Deployment – Scalability www.catmedia.us 29
  • 29.
    Data Grid Discussion • Data Grid to JSR-107 like CDI to JSR-330 ? • Concerns by some vendors – Especially Terracotta (107 EG) • What about Oracle? – Coherence,… • What about vmware? • Google, Amazon,…? www.catmedia.us 30
  • 30.
    Social Networking Initiated byMobile, but meant to be portable • Specify APIs to Java (ME) allowing thereby to applications and local web services (servlets) to interface and host 3rd party social applications (e.g. hi5, LinkedIn, MySpace, Netlog, Ning, orkut, XING, Yahoo! ...) similar to – OpenSocial – Seam Social – Spring Social,… www.catmedia.us 31
  • 31.
    Social Networking Main Features • Generic Framework • Interface for applications to define new • Containers • Retrieve Social Networking information • Security ? www.catmedia.us 32
  • 32.
    Modularity OSGi vs. Jigsaw • What is EE 7 going to provide? • Will it be based on OSGi? • How about compatibility with SE 8? • ??? www.catmedia.us 33
  • 33.
    2012 …Aslan’s Country? …a wall of water that extends into the sky. www.catmedia.us Images © Columbia Pictures / Sony Pictures 34
  • 34.
    Fulfilling Ramandu's condition, Reepicheep …paddles his coracle up the waterfall… www.catmedia.us Images © Walden Media / Twentieth Century Fox 35