Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

Home > Training > JBoss >

WA2006 What's New in Java EE 6 - JBoss / Eclipse Training and Courseware

Quick Enroll

Java EE 6 represents probably the biggest change to the Java Enterprise specifications ever. Building on the community innovation that was so present in Java EE 5, Java EE 6 contains many completely new technologies along with major revisions to existing parts of the Java EE platform. These technologies, like JSF 2.0, EJB 3.1, JPA 2.0, Servlets 3.0, Contexts and Dependency Injection (CDI), and JAX-RS combine for a large number of new features in the Java EE 6 platform. There are so many new features even experienced Java EE developers will require training to know how to best take advantage of these technologies.

It is important to note that even though this course covers an overview of all of the changes in Java EE 6, not all new features are covered in detail in order to offer a 5 day class. The course covers the most important new features of Java EE 6 which will have the largest impact on the greatest number of Java EE applications. We offer other classes that cover the new features of particular areas in greater depth and can also create a custom outline that focuses in detail on the areas important to your team.

Objectives

 

This class combines lecture with hands-on experience, and open ended discussion that will help the developer quickly understand the new features of Java EE 6. Upon completion of the course, students will:

  • Understand all of the areas where changes were introduced with Java EE 6
  • Use CDI (Contexts and Dependency Injection) to perform type-safe dependency injection of components
  • Use CDI to define application components at appropriate scopes or "Contexts"
  • Use the JSF 2.0 support of GET requests to provide request parameters in links and be able to bookmark JSF pages
  • Use the JSF 2.0 integration with CDI including the CDI support of "conversational" web applications
  • Utilize the native AJAX support of JSF 2.0 to easily add AJAX (JavaScript) functionality
  • Add asynchronous, concurrent programming in Java EE 6 applications using Servlets or Session EJBs
  • Define Singleton components with Singleton EJBs
  • Use other major EJB 3.1 new features like new EJB Timer options and EJB testing
  • Use the new JPA Criteria Query mechanism for dynamic, type-safe queries
  • Understand other changes in mapping options in JPA 2.0
  • Develop RESTful services in Java with JAX-RS
  • Define standardized data validation constraints with JSR 303 Bean Validation

Topics

 
  • New features of Java EE 6
  • Contexts and Dependency Injection (CDI)
  • JSF GET requests and view parameters
  • JSF Integration with Contexts and Dependency Injection (CDI)
  • Using AJAX with JSF
  • Asynchronous Servlets and Session EJBs
  • Singleton EJBs
  • Changes to EJB Timers
  • JPA Criteria Queries
  • Java RESTful services with JAX-RS
  • JSR 303 Bean Validation

Audience

  Software designers, developers and programmers experienced with Java EE 5

Prerequisites

 

Participants should already have an understanding of Java programming and Java EE 5. Since this course covers only the new features of Java EE 6, anyone taking this course without some Java EE experience will not get the full understanding of all of the features of Java EE.

For those that require Java EE 5 experience before this course one of the following courses are suggested:

Duration

  Five days

Course Outline

Chapter 1. What's New in Java EE 6

  • Java EE History
  • List of Java EE 6 Specifications
  • Java EE 6 Profiles
  • Contexts and Dependency Injection for Java EE (CDI)
  • Features of JSR 299 CDI
  • CDI Example
  • RESTful Services
  • JAX-RS RESTful Web Services
  • Bean Validation
  • Changes in JSF 2.0
  • AJAX in JSF 2.0
  • Changes in EJB 3.1
  • Singleton EJBs
  • Asynchronous Session EJB Invocation
  • Changes in JPA 2.0
  • JPA 2.0 Criteria API
  • Changes in Servlets 3.0
  • Pruning Old Technologies
  • Compatible Application Servers
  • Summary

Chapter 2. Overview of Contexts and Dependency Injection (CDI)

  • History
  • Benefits of CDI
  • Relationship to Other Java EE specifications
  • CDI Bean Example
  • Injection Example
  • Bean Scope
  • CDI Eclipse Tools
  • Summary

Chapter 3. Defining CDI Beans

  • Requirements of Bean Classes
  • Packaging beans.xml
  • Bean EL Names
  • Beans with no EL Name
  • Bean Scopes
  • Using an EJB as a CDI Bean
  • Summary

Chapter 4. Dependency Injection With CDI

  • Dependency Injection
  • Benefits of Dependency Injection
  • Relation to JSR 330
  • Injection Points With @Inject
  • Types of Injection Points
  • Typesafe Resolution
  • Defining Custom @Qualifier Annotations
  • Client Proxies
  • Summary

Chapter 5. CDI Contexts, Lifecycle and Scopes

  • What is a "Context"?
  • Relation of Context to Scope
  • Normal Scopes and Pseudo-scopes
  • Context Management of Built-in Scopes
  • Lifecycle of Contextual Instances
  • Passivating Beans
  • Summary

Chapter 6. CDI Bean Producers

  • Producing Instances of Beans
  • Producer Methods
  • Producer Fields
  • Naming Produced Beans
  • Scope of Produced Beans
  • Injecting @New Instances Into Producer Methods
  • Destruction Using @Disposes
  • Summary

Chapter 7. Managed Bean Scopes in JSF

  • Scopes Defined by JSF
  • Implications of Session Scope
  • ViewScoped Managed Beans
  • The Flash Object
  • Using the Flash Object with Redirects
  • Custom Scopes
  • Summary

Chapter 8. JSF GET Requests and View Parameters

  • Using GET Requests with JSF
  • New <h:link> and <h:button> Tags
  • Use Cases for View Parameters
  • Defining View Parameters
  • Using a PreRenderViewEvent
  • Bookmarking JSF Pages
  • Summary

Chapter 9. JSF Integration with Contexts and Dependency Injection (CDI)

  • Using CDI Beans in JSF
  • Injecting CDI Beans
  • Conversation Scope
  • Use Cases of Conversation Scope
  • Beginning and Ending a Conversation
  • Propagating Conversations
  • Using Stateful Session EJBs for JSF Actions
  • Summary

Chapter 10. Using AJAX with JSF

  • Integrated AJAX Support in JSF 2.0
  • The JSF Request Lifecycle for AJAX
  • JSF JavaScript API
  • New <f:ajax> Tag
  • Partial Page Rendering
  • Third Party JSF Libraries with AJAX
  • Summary

Chapter 11. Asynchronous Servlets

  • A Typical (Synchronous) Servlet
  • Asynchronous Servlet Response Model
  • Use Cases for Asynchronous Servlets
  • The Servlet AsyncContext
  • Relationship With Java SE Concurrent Programming
  • Asynchronous Listeners
  • Asynchronous Client Models
  • Summary

Chapter 12. Singleton Session EJBs

  • Singleton Beans
  • Initializing Singletons at Startup
  • Singleton Dependence
  • Destruction
  • Singleton Concurrency
  • Concurrency Lock Types
  • Restriction on Singleton Beans
  • Singletons in Clusters
  • Summary

Chapter 13. Asynchronous Session EJB

  • Previous Options
  • Asynchronous EJB Calls
  • Return Values
  • Relationship With Java SE Concurrent Programming
  • Asynchronous Client Models
  • Throwing Exceptions From Asynchronous Methods
  • Summary

Chapter 14. New Timer Features of EJB 3.1

  • Previous Timer Options
  • Calendar-based Timer
  • Scheduling Timer Execution
  • The @Schedule Annotation
  • Schedule Attribute Syntax
  • Scheduling Examples
  • The ScheduleExpression Class
  • Non-persistent Timers
  • Non-persistent Timers in Clusters
  • Summary

Chapter 15. EJB Testing

  • EJB Unit Testing
  • Embeddable Container
  • Initializing the Embeddable Container
  • Supported EJB Features in Embeddable Container
  • Summary

Chapter 16. JPA Criteria Queries

  • Dynamic Queries with JPA Criteria API
  • Comparison to JPA QL
  • Obtaining a CriteriaQuery Object
  • The CriteriaBuilder Class
  • Adding Criteria Restrictions
  • Entity Metamodel and Relation to Criteria Queries
  • Relationships in Criteria Queries
  • Summary

Chapter 17. JPA 2.0 Changes in Relationship Mapping

  • Element Collections
  • Expanded Options for java.util.Map Properties
  • Derived Ids
  • Orphan Removal
  • Additional Join Table Options
  • @OrderColumn
  • Summary

Chapter 18. JPA Caching

  • Need for Caching
  • Factors Involved in Caching
  • When to NOT Use Caching
  • Configuring the Cache
  • Marking JPA Entities as @Cacheable
  • What the JPA Specification Does NOT Specify
  • Summary

Chapter 19. Introduction to JAX-RS

  • The JAX-RS Specification
  • Resource Classes
  • The @Path Annotation
  • @Path Expressions
  • Using @PathParam
  • Binding to HTTP Methods with @GET, @POST, etc
  • Using web.xml to Define a Base URI
  • Summary

Chapter 20. JAX-RS Content Types

  • JAX-RS @Consumes for Request Content
  • JAX-RS @Produces for Response Content
  • JAX-RS MediaType Class
  • XML
  • JAXB
  • JSON
  • Content Negotiation
  • Client Accept Headers
  • Other Negotiation Tactics
  • Summary

Chapter 21. JSR 303 Bean Validation

  • Validation in Applications
  • Validator API
  • Built-in Validation Constraints
  • Using Constraints
  • Defining Custom Constraints
  • Grouping Constraints
  • Customizing Validation Messages
  • Bootstrapping Validation
  • Using Bean Validation in JPA 2.0
  • Using Bean Validation in JSF 2.0
  • Summary
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
Outline Course Outline

Buy on-site and customized class

Attend a public class

05/28/2012 - Calgary
$3,450.00 Enroll

06/04/2012 - Calgary
$3,450.00 Enroll

06/04/2012 - Online Virtual
$2,850.00 Enroll

06/11/2012 - Montreal
$3,450.00 Enroll

07/16/2012 - Toronto
$3,450.00 Enroll

07/23/2012 - Vancouver
$3,450.00 Enroll

07/30/2012 - Ottawa
$3,450.00 Enroll

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.