Introduction to EJB v3.0 and JPA Development



Audience
Developers and other advanced Java professionals that will be designing, developing and creating enterprise-wide applications using EJB v3.0.
   

Duration

4 Days
   
Course Abstract
This course utilizes a combination of instructor-led discussions and interactive workshops to demonstrate the capabilities of your IDE for the development of enterprise applications using Enterprise JavaBeans 3.0 in an N-tier architecture. The implementation of these components and their access via various clients will be discussed. Each student will learn the following: creation of session, Message and entity EJBs, role of annotations, utilization of Callback handlers and listeners, use of the EJB Persistence API, role of Entity Manager, use the Universal Test Client, utilization of Web services, create container-managed and bean-managed entity beans, connect EJBs using transactions, understand the role of EJB containers, utilize activation and passivation, JNDI usage and the deployment of enterprise JAR and EAR components using your Application Server.

All aspects of this class will incorporate the specific architecture of your Application Server and your development IDE to illustrate the implementation of these techniques.

   
Price Call for pricing
Objectives

Upon conclusion participants will have acquired these skills:

  • Understand the EJB 3.0 capabilities
  • Define the use of metadata annotations and examine usage of annotations
  • Understand the role the session, entity and message EJBs for J2EE applications
  • Depict the use of the Entity Manager for Java Persistence API
  • illustrate the role of JMS and message-driven beans
  • Create Bean-managed persistent EJBs (BMP)
  • Create a Container-managed persistent EJB (CMP)
  • Illustrate the incorporation of Web services with EJB v3.0
  • Creation of entity EJBs and defining container-managed relationships
  • Demonstrate the use of Universal Test Client for testing EJBs
  • Discuss the role of persistence concepts
  • Illustrate the deployment of EJB 3.0 applications
  • Demonstrate the usage of transactions with EJBs using Java Transaction API
  • Understand the use of EJB Timers

Class Format Lecture and Lab
   
Prerequisites

Each student should have a basic understanding of application development and design methodologies.

Course Topics

The following list represents the sections and topics discussed in this onsite instructor-led course offering.

 

EJB v2.1 vs v3.0

  • Depict overall differences
  • Discuss major component changes
  • Role of POJOs
  • Elimination of subclass hierarchy
  • Annotations vs XML
  • New interface structures
  • • Packaging and deployment
    • Role of deployment descriptors
    • EJB Container differences
    • Client differences

EJB Session Beans

  • Stateless vs Stateful
  • Pooling concepts
  • Conversational state
  • Use of annotation
  • Stateful Charateristics
    • Conversation state
    • Callback methods
    • Interceptors
    • Activation and Passivation
  • Session EJB lifecycle

Persistence API

  • Entities vs. Sessions
  • Defining an Entity
    • Persistence Provider
    • Entity classes
    • Use of persistence context
  • Packaging and deployment
  • Entity Manager API
    • Lifecycle
    • Database synchronization
    • Concurrent access
    • Data manipulation
    • Lookup and Query
    • Named Queries

EJB Functionality

  • Role of JNDI
  • EJB to EJB access
  • Annotations
    • Common annotations
    • Business interface
    • Stateful annotations
  • Dependency Injection

Advanced Persistence API

  • Inheritance
    • Single Table per Class
    • Separate Table per Subclass
  • Polymorphism
  • Relationships
    • One-to-One
    • One-to-Many
    • Many-to-Many
  • EJB-QL
    • Updates and Deletes
    • JOIN
    • GROUP BY and HAVING
    • Projection

Transactions

  • Overview
    • Atomic operations
    • Failure issues
    • Multi-user access
  • Transactional models
    • Flat
    • Nested
    • Distributed
  • JTA and JTS
  • EJB Transactions
    • CMP
    • BMP
  • EJB Transaction attributes
  • Transaction isolation

EJB Security

  • Introduction
  • Web Application Security
    • Authentication
    • Authorization
    • Delegation
    • Trust
  • EJB Authentication
    • JAAS
    • JAAS Architecture
  • EJB Authorization
    • Security Roles
    • Programmatic
    • Declarative
  • Security propogation
  • IIOP/SSL
  • CSIv2
  • Web Services
    • XML Digital Signature
    • XML encryption
    • SAML
    • WS-Security

EJB Timers

  • Scheduling
  • EJB and Scheduling
  • EJB Timer Service API
  • Interaction concepts