Fast Track to EJB 3.2 (JEE 7) & JPA2
Course Description
The Enterprise JavaBeans 3 specification is a deep overhaul of the EJB specification that improved the EJB architecture by reducing its complexity from the developer`s point of view. It leverages annotations (introduced in Java 7) and Object-Relational Mapping (ORM) technologies to eliminate the dependence on complex EJB APIs, allow POJO (Plain Old Java Object) based development, and provide an effective technology for creating distributed, transactional components, and for mapping relational data to an object schema. New concepts such as the use of annotations and the use of Dependency Injection to initialize references are covered in depth. The course also includes thorough coverage of managing persistence using the Java Persistence API 2 (JPA2). This course provides additional coverage of JPA as compared to our Fast Track to EJB3 course.
5 days
Contact us for pricing
Prerequisites
One year of Java programming experience (or equivalent) is preferred. Knowledge of relational databases and JDBC is strongly recommended.Overview
What is EJB?EJB Goals
Types of Enterprise JavaBeans
Java Persistence API
EJB and Java EE (Enterprise Editions)
EJB in Java EE Architecture
SOA and EJB
SOA with Web Services and EJB
EJB 3.0 Overview
EJB 2.X Problems
EJB 3.0 Goals
EJB 3.1 and 3.2 Goals
Session Bean Usage
Persistent Entity Usage
MDB Usage
Session Beans
What are Session BeansStateless and Stateful Beans
Defining a Session Bean
Calculator Bean Local Business Interface
Remote and Local Business Interfaces
Calculator Bean Local Business Interface
Simplified Interface Declaration (EJB 3.2)
How Annotations Work
Annotation Definition
Using Annotations
Packaging and Deployment
JEE Packaging
ejb-jar File
Deployment Descriptor
ejb-jar File Structure
Web Application Structure – JEE 6/7
Server Deployment
JNDI Overview
JNDI Tree Structure
The Context Interface
Specifying the InitialContext Properties
Using JNDI
EJB Remote Client
EJB 3.1+ - Portable JNDI Names
Additional EJB Capabilities
Dependency InjectionAn EJB referencing another EJB
ItemRepository
More about @Inject
Injection Using @EJB
Deployment Descriptors
The XML Deployment Descriptor
Obtaining Resources
Qualifiers
More about Annotation Declarations
CDI Producer
Producing Other Resources
Resource Manager Connection Factories
The @Resource Annotation
Using Logical Lookup Names
Simple Environment Entries
Setter Injection
Deployment Descriptor vs Annotation
Stateless Session Bean Lifecycle & Interceptors
Life Cycle of SSB
Client Call of a Stateless SB Method
Business Method Interceptors
InvocationContext Interface Details
Interceptor Class
Lifecycle Interceptor in the Bean Class and Separate Class
Asynchronous Methods, Singleton Session Beans
Stateful Session Beans
Coding a Stateful Session Bean
Stateful Session Bean Clients
Using the SFSB in a JSP
Stateful Session Passivation/Activation
Stateful Session Bean State Diagram
The Timer Service
Programming Timers
How the Timer Works
Issues with Programmatic Timers
Message-Driven Beans
Overview of Messaging SystemsLoose Coupling
Publish/Subscribe – Illustrated
Point-to-Point
Overview of JMS API
What is Java Message Service?
API Structure
Administered Objects
Client Workflow
Synchronous Queue Consumer Client
JMS Message Types
Message-Driven Beans (MDB)
JEE Message Producers and Consumers
MDB Consumption of a Message
Activation Configuration Properties
Specifying a Destination Using a DD
Message-Driven Bean Lifecycle
Interceptor Methods
Transactions and Security
Transaction DefinitionTransactional System
Transactions in EJB
EJB Declarative Transaction Management
Specifying Transaction Attributes
Beans Have a Say in Transactions
Transactions Attributes
Explicit / Bean-Managed Transactions
Transaction Isolation Levels
Security in EJB
JEE Security
Roles
Authentication
Programmatic Security
Transport Level Security with SSL
Exception Handling and Best
Exception OverviewChecked and Unchecked Exceptions
Exceptions in EJB 3
Application and System Exceptions
Container Handling of System Exception
EJB 3 Best Practices
When to Use EJB
Session Façade Structure
Transaction Duration
Tuning
Clustering
Introduction to the Java Persistence
JPA OverviewObject-Relational Mapping (ORM) Issues
JPA Benefits
JPA Architecture
Mapping a Simple Class
Entity Class Requirements
The Event Class
The EVENTS Table
Mapping Properties
Entity Manger and Persistence Context
Obtaining an Entity Manager
Retrieving Persistent Objects
More about Mappings
Updates and Queries
Inserting and UpdatingPersisting and Updating New Entities
Querying and JPQL
JPQL Basics
Executing a Query
Where Clause
JPQL Operators and Expressions
Query Parameters
Named Queries
Criteria API
Path Expressions
WHERE Clauses
The Persistence Lifecycle
Transient & Persistent State
Synchronization To The Database
Versioning and Optimistic Locking
Locking Objects
Entity Relationships
Object Relationships, DirectionalityCharacteristics of Relationships
Mapping Relationships
The Table Structure – Many-To-One
The Owning Side
Mapping the Bidirectional Relationship
More on the Inverse Side
Collection Types
Cascading Operations
Mapping Inheritance
Entity Inheritance
Single Table, Joined (Table per Subclass), Table per Concrete Class
Embedded Objects
Compound Primary Keys
Element Collections (JPA 2)
Additional JPA Capabilities
Queries - Projection, Aggregate, Bulk Update/DeleteExtended Persistence Contexts
XML Mapping Files
Java Persistence with Java SE
JPA Best Practices
Primary Key Considerations
Consider Going Outside of JP
Know Your Provider Implementation
Resources (EJB3 and JPA)
EJBEnterprise Java BeansJ2EEJava Enterprise Edition