Your SlideShare is downloading. ×
0
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Have You Seen Java EE Lately?

3,881

Published on

With a strong focus on annotations, minimalist configuration, intelligent defaults and Java centric type-safety, Java EE is one of the most productive full-stack development platforms around today. …

With a strong focus on annotations, minimalist configuration, intelligent defaults and Java centric type-safety, Java EE is one of the most productive full-stack development platforms around today. This very code centric workshop is a quick tour of the Java EE platform as it stands today. If you haven't seen Java EE for a while and want to catch up, this session is definitely for you.

We will start with the basic principals of what Java EE is and what it is not, overview the platform at a high level and then dive into each key API like JSF, CDI, EJB 3, JPA, JAX-RS, WebSocket and JMS using examples and demos. This is your chance to look at Java EE 7 in the context of a realistic application named Cargo Tracker, available with an MIT license at http://cargotracker.java.net.

We will also briefly take a look at the emerging horizons of Java EE 8.

Published in: Technology, Education
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,881
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
188
Comments
0
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • The J2EE period (prior to Java EE 5) is marked with a successful effort to establish the server-side Java standards based ecosystem.
    Though widely criticized for complexity J2EE remains one of the most influential and groundbreaking technologies in the enterprise.
    The Java community stepped in to meet the programming model challenges in J2EE with projects like Spring and Hibernate.
  • Java EE 5 absorbed many of the programming model changes from the community and included it’s own set of key innovations. The key changes in Java EE 5 were POJO programming, annotations over XML, intelligent defaults and zero-configuration systems. As a result of the changes in Java EE 5, Java EE remains one of the easiest to use platforms available today.
  • The key change in Java EE 6 was to introduce first-class generic dependency injection as a built-in part of the platform through CDI. The industry reception of Java EE 6 has been great resulting in the growing adoption of Java EE. Java EE 6 also introduced the Web Profile and a pruning process to make the platform as lightweight as possible.
  • Java EE 7 is an opportunity to build upon the success of Java EE 6 to make sure enterprise developers are ready for emerging challenges.
  • The industry is on the path to adopting Java EE 7.
    There are already five certified compatible implementations – GlassFish 4, WildFly 8, Hitachi Cosminexus, TmaxSoft JEUS and WebSphere Liberty 8.5.
    WebLogic is well on the way to Java EE 7 certification and uses many of the OSS components from GlassFish 4.
    JBoss EAP is the upstream project for WildFly and will be Java EE 7 compatible soon.
    TomEE, the Tomcat based open source Java EE application server is also working on Java EE 7.
    The rest of the available Java EE platforms will likely catch up gradually.
  • Adopt-a-JSR is a grassroots level, JUG-led initiative to increase participation in the JCP from rank-and-file Java developers.
    The idea is that Java developers will self-organize through their JUG and contribute to specific tasks as a group to a JSR.
    Beyond participating through Adopt-a-JSR, developers are always most welcome to participate as experts or JSR observers. Anyone can join a JSRs user alias and be heard at any time.
    Adopt-a-JSR was reasonably successful for Java EE 7. We hope to significantly build upon that success in Java EE 8.
    For details on the initiative please visit the linked resource.
  • Transcript

    • 1. Have You Seen Java EE Lately? Reza Rahman Java EE/GlassFish Evangelist reza.rahman@oracle.com @reza_rahman
    • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public2 Program Agenda  Java EE Overview  Cargo Tracker  API Overview + Demo  The Ecosystem  Looking Ahead
    • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public3 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
    • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public4 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
    • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public5 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
    • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public6 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
    • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public7 Java EE Today
    • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public8 Java EE Today Core Principles  Open vendor neutral technical standard  Stable core for a strong ecosystem  Fully integrated runtime, intelligent defaults and convention-over- configuration  Non-redundant APIs with specialized roles  Minimalism, simplicity and productivity  Java centric – strong static typing, strongly Object Oriented, focused on “blue collar” developers, strongly backwards compatible
    • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public9 Java EE Today What it is Not  No XML hell  No configuration hell  No jar/dependency hell  No feature bloat  No snake-oil/hypeware  No bloated deployments  No lock-in
    • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public10 Java EE 7 EJB 3EJB 3 ServletServlet JSFJSF JAX-RSJAX-RS JMSJMS CDICDI JPAJPA UpdatedMajor Release New Batch Applications Batch Applications JavaMailJavaMail JAX-WSJAX-WS BeanValidationBeanValidation Java API for JSON Java API for JSON Java API for WebSocket Java API for WebSocket JTAJTAJCAJCAJACCJACC JASPICJASPIC JAXBJAXB Unchanged
    • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public11 Java EE Demo Application http://cargotracker.java.net
    • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public12 JSF  True MVC, component oriented, productive  Facelets for view – XHTML – Templating – Composite components  Data, event binding to CDI via EL  Validation, conversion, navigation, flow  Supports AJAX, HTML 5  Strong plug-in ecosystem – PrimeFaces, RichFaces, ADF Faces, many others
    • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public13 JSF API  Facelets tags – <ui:composition>, <ui:define>, <ui:insert>, <ui:component>, <ui:repeat>  HTML tags – <h:form>, <h:inputText>, <h:selectOneMenu>, <h:commandButton>, <h:commandLink>, <h:panelGrid>  Core tags – <f:convert...>, <f:validat...>, <f:ajax>  Event/data binding to CDI via EL – <h:inputText … value=“#{hello.name}” …>  CDI Scopes – @ViewScoped, @FlowScoped
    • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public14 CDI  Next generation type-safe dependency management  Large number of component scopes  Interceptors/decorators  Type-safe events  Portable extensions API to integrate third-party tools and frameworks cleanly to Java EE – DeltaSpike, Forge, Agorava, MyBatis-CDI, PicketLink, many more  Improving testability – Arquillian
    • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public15 CDI API  Basic dependency injection – @Inject, @Qualifier, @Stereotype, @Alternative, @Named, @Produces, @Disposes  Context management – @RequestScoped, @SessionScoped, @ConversationScoped, @ApplicationScoped, @Scope (@FlowScoped, @ViewScoped, @TransactionScoped)  Lightweight events – Event, @Observes  Interceptors/decorators – @Interceptor, @InterceptorBinding, @AroundInvoke, @Decorator, @Delegate  Portable extensions SPI
    • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public16 EJB 3  Enterprise service components – Thread-safe, transactional, bandwidth-throttled, monitored  Just POJOs + annotations  Component types – @Stateless, @Stateful, @Singleton, @MessageDriven  Services – @TransactionAttribute (JTA/CDI @Transactional), @RolesAllowed, @RunAs, @Asynchronous, @Schedule, @Lock, @Remote
    • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public17 JPA  ORM mapping/domain modeling  CRUD EntityManager API  Rich query capabilities – JPQL – Criteria Queries – Native Queries – Stored procedures  Caching  Small plug-in ecosystem – QueryDSL, DeltaSpike Query Module, Spring Data/CDI
    • 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public18 JPA API  Domain modeling – @Entity, @Embeddable, @OneToOne, @OneToMany, @ManyToOne, @ManyToMany, @ElementCollection, @Id  Relational mapping – @Table, @Column, @JoinColumn, @JoinTable, @Basic, @Lob, @Temporal, @Enumerated, @Cacheable  CRUD API – EntityManager, Query, CriteriaQuery, @PersistenceContext, @NamedQuery, @NamedNativeQuery, @NamedStoredProcedureQuery
    • 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public19 Bean Validation  Declarative constraint management across application layers  Constraint – Restriction on a bean, field, property, method parameter, return value – Not null, between 10 and 45, valid email, etc – @Max, @Min, @Size, @NotNull, @Pattern, @Future, @Past – Custom constraints – Evaluated automatically  Integrated with JSF, JPA, CDI, JAX-RS
    • 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public20 JMS 2  Reliable asynchronous messaging API for Java  Point-to-point (queues), publish-subscribe (topic)  Small, powerful API – Message, Destination, Queue, Topic, ConnectionFactory, Connection, Session, MessageProducer, MessageConsumer, JMSContext, JMSProducer, JMSConsumer, MessageListener, @JMSConnectionFactory  Message types – TextMessage, ObjectMessage, BytesMessage, MapMessage, StreamMessage
    • 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public21 JAX-RS 2  REST development API for Java  Server and client  Annotation based – @Path, @GET, @POST, @PUT, @DELETE, @PathParam, @QueryParam, @Produces, @Consumes  Pluggable and extensible – Providers, filters, interceptors
    • 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public22 Java API for WebSocket  High level declarative API for WebSocket  Both client and server-side  Small, powerful API – @ServerEndpoint, @OnOpen, @OnClose, @OnMessage, @OnError, Session, Remote  Pluggable and extensible – Encoders, decoders, sub-protocols
    • 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public23 Java EE Platforms GlassFishJava EE 7 Java EE 6 TomEE
    • 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public24 Java EE Ecosystem
    • 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public25 Java EE 8 Community Survey https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee
    • 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public26 Java EE 8 Possibilities  Web Standards/HTML5 Alignment – HTTP2, SSE, JSON-B, JSON-P, action-oriented web framework, hypermedia  Cloud – Simple security providers, REST management/monitoring  CDI Alignment – CDI 2, EJB services outside EJB, EJB pruning  Enterprise – JCache, Configuration, JMS  Java SE 8 alignment
    • 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public27 Adopt-a-JSR for Java EE 8  Grassroots participation to shape Java EE  Launched in Java EE 7 time-frame, key community element for Java EE 8 – 30 Java user groups participating! http://glassfish.org/adoptajsr
    • 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public28 Resources  Java EE Tutorials – http://docs.oracle.com/javaee/7/tutorial/doc/home.htm  Digging Deeper – http://docs.oracle.com/javaee/7/firstcup/doc/home.htm – https://glassfish.java.net/hol/ – https://java.net/projects/cargotracker/  Java EE 7 Transparent Expert Groups – http://javaee-spec.java.net  Java EE 7 Reference Implementation – http://glassfish.org  The Aquarium – http://blogs.oracle.com/theaquarium

    ×