UMBC Training Centers logo

Java EE 6 What's New - WebSphere 8 / RAD 8

 

Course Description | Outline | IT Home

Outline

 

1- WHAT'S 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

2 -OVERVIEW OF CONTEXT 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

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

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

5 - CDI CONTEXT, 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

6 -CDI BEAN PROCEDURES

  • 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

7 - MANAGED 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

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

9 - JSF INTEGRATION WITH CONTEXT 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

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

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

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

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

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

15 - EJB TESTING

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

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

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

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

19 - INTRODICTION 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

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

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