Your SlideShare is downloading. ×
Java EE 101
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

Java EE 101

3,532
views

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 development platforms around. …

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

This code centric session is a quick tour of the Java EE platform as it stands today.
We will cover key APIs like JSF, CDI, EJB 3, JPA, JAX-RS, WebSocket and JMS using a realistic end-to-end application.

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

Published in: Technology, Education

0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,532
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
169
Comments
0
Likes
8
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

Transcript

  • 1. Java EE 101 Reza Rahman Java EE/GlassFish Evangelist reza.rahman@oracle.com @reza_rahman
  • 2. Program Agenda  Java EE Overview  API Overview  Cargo Tracker Demo  The Ecosystem  Looking Ahead Copyright © 2012, Oracle and/or its affiliates. All 2 rights reserved. Public
  • 3. Java EE Past, Present and Future J2EE 1.3 CMP, JCA Copyright © 2012, Oracle and/or its affiliates. All 3 rights reserved. Public 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. Java EE Today Copyright © 2012, Oracle and/or its affiliates. All 4 rights reserved. Public
  • 5. Java EE Today Core Principles  Open vendor neutral technical standard  Stable core for a vibrant ecosystem  Fully integrated runtime, intelligent defaults and convention-over-configuration  Non-redundant APIs with specialized roles  Simplicity and productivity  Java centric – strong static typing, strongly Object Oriented, focused on simplicity, strongly backwards compatible Copyright © 2012, Oracle and/or its affiliates. All 5 rights reserved. Public
  • 6. 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 Copyright © 2012, Oracle and/or its affiliates. All 6 rights reserved. Public
  • 7. Java EE JJSSFF JJAAXX-R-RSS JJAAXX-W-WSS JJPPAA CCDDII JJCCAA JJAACCCC Copyright © 2012, Oracle and/or its affiliates. All 7 rights reserved. Public EEJJBB 3 3 SSeerrvvlelett JJMMSS JJTTAA EELL JJAASSPPICIC Major Updated Release New Concurrency Utilities Concurrency Utilities Batch Batch Applications Applications Java API for Java API for JSON JSON Java API for WebSocket Java API for WebSocket JJaavvaaMMaailil JJAAXXBB BBeeaann VVaalliiddaattiioonn
  • 8. JSF  Abstract, high-level web framework  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 Copyright © 2012, Oracle and/or its affiliates. All 8 rights reserved. Public
  • 9. 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 Copyright © 2012, Oracle and/or its affiliates. All 9 rights reserved. Public
  • 10. CDI  Next generation type-safe dependency management  Robust contextual model  Interceptors/decorators  Type-safe events  Portable extensions API to integrate third-party tools and frameworks cleanly to Java EE – DeltaSpike, Seam 3, Forge  Improving testability – Arquillian Copyright © 2012, Oracle and/or its affiliates. All 10 rights reserved. Public
  • 11. 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 Copyright © 2012, Oracle and/or its affiliates. All 11 rights reserved. Public
  • 12. EJB 3  Enterprise service components – Thread-safe, transactional, pooled  Lightweight, portable, testable, POJO based  Component types – @Stateless, @Stateful, @Singleton, @MessageDriven  Declarative services – @TransactionAttribute (CDI/JTA @Transactional), @RolesAllowed, @RunAs, @Asynchronous, @Schedule, @Lock, @Remote Copyright © 2012, Oracle and/or its affiliates. All 12 rights reserved. Public
  • 13. JPA  ORM mapping/domain modeling  CRUD EntityManager API  Rich query capabilities – JPQL – Criteria Queries – Native Queries – Stored procedures  Caching Copyright © 2012, Oracle and/or its affiliates. All 13 rights reserved. Public
  • 14. 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 Copyright © 2012, Oracle and/or its affiliates. All 14 rights reserved. Public
  • 15. 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 Copyright © 2012, Oracle and/or its affiliates. All 15 rights reserved. Public
  • 16. 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 Copyright © 2012, Oracle and/or its affiliates. All 16 rights reserved. Public
  • 17. JAX-RS 2  REST development API for Java  Server and client  Annotation based, declarative – @Path, @GET, @POST, @PUT, @DELETE, @PathParam, @QueryParam, @Produces, @Consumes  Pluggable and extensible – Providers, filters, interceptors Copyright © 2012, Oracle and/or its affiliates. All 17 rights reserved. Public
  • 18. 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 Copyright © 2012, Oracle and/or its affiliates. All 18 rights reserved. Public
  • 19. Java EE Demo Application http://cargotracker.java.net Copyright © 2012, Oracle and/or its affiliates. All 19 rights reserved. Public
  • 20. GlassFish 4.1 and WebLogic 12.1.3  Glassfish 4.1 – Addressing security, must-fix and important bugs – Over 800+ bugs fixed! – JDK 8 Support – Updates to projects: Jersey, Mojarra, WebSocket 1.1, Tyrus, Grizzly, CDI 1.2, Weld 2.2 – NetBeans includes GlassFish 4.1  WebLogic 12.1.3 – WebSocket, JSON-P, JAX-RS 2, JPA 2.1 – Server-Sent Events (SSE) – WebSocket fallback – Improved Maven support – REST management Copyright © 2012, Oracle and/or its affiliates. All 20 rights reserved. Public
  • 21. Java EE Ecosystem Copyright © 2012, Oracle and/or its affiliates. All 21 rights reserved. Public
  • 22. Java EE 8 Community Survey https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf Copyright © 2012, Oracle and/or its affiliates. All 22 rights reserved. Public
  • 23. Java EE 8 Possibilities  Web Standards/HTML5 Alignment – HTTP2, SSE, JSON-B, action-oriented web framework  Cloud – Simple security providers, multitenancy, REST management/monitoring  CDI Alignment – CDI 2, EJB services outside EJB, security interceptors, EJB pruning  Enterprise – JCache, Configuration, JMS  Java SE 8 alignment Copyright © 2012, Oracle and/or its affiliates. All 23 rights reserved. Public
  • 24. 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 Copyright © 2012, Oracle and/or its affiliates. All 24 rights reserved. Public