
Java EE 6 What's New - WebSphere 8 / RAD 8 |
|
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
|