| |
| |
| |
|
|
|
Enterprise JavaBeans (EJB) 3.0
|
|
Duration:
3 Days
|
|
|
This course is built for experienced Java or J2EE developers, architects, and designers:
-
Developers
-
Architects
-
Designers
| |
|
|
|
Description
|
Enterprise Java Beans (EJB) is a component-based server-side framework that enables the development of secure, transactional, persistence-aware and scalable applications. The EJB 3.0 specification offers the most drastic changes since EJB technology was first introduced. It aims at simplifying the EJB development process and enhance performance.
This course can be taught using any of the following application servers: JBOSS, WebSphere 7, WebSphere CE, WebLogic and GlassFish. For the development environment, you may use Eclipse, Rational Application Developer or NetBeans. Please indicate your choice of the application server and the IDE while registering.
|
|
Objectives
|
This course is targeted towards Java developers who seek to master the server-side EJB 3.0 technology. On completion, attendees would be able to:
-
Understand the issues the current EJB technology faces and see the benefits of EJB 3.0
-
Develop Stateless and Stateful EJBs using annotations
-
Develop Message Driven EJBs using annotations and JMS
-
Learn how to inject resources and EJB references in EJB components to simplify resource and EJB lookup
-
Develop persistent components (entities) using the new light-weight persistence API, Java Persistence API (JPA)
-
Master the Java Persistence Query Language (JPQL)
-
Model inheritance among entities
-
Map entity hierarchies to database tables using multiple strategies
-
Schedule jobs using the EJB 3.0 Timer Service
-
Implement Aspect Oriented Programming (AOP) solutions using interceptors
-
Master the EJB 3.0 transaction model
-
Master the EJB 3.0 security model
-
Apply the design patterns and best practices for an effective EJB 3.0 based application
-
Learn how to migrate EJB 2.x applications to EJB 3.0
|
|
Course Outline
|
Overview of EJB 3.0
-
What is an EJB?
-
Why should you use EJB?
-
When should you not use EJB?
-
What's new in EJB 3.0?
The EJB 3.0 Simplified API
-
A quick review of annotaions in Java 5
-
Overview of using annotations to develop EJB
-
Annotations vs. Deployment descriptors
Interceptors
-
Aspect Oriented Programming (AOP) in JEE
-
Intercepting methods
-
Building Interceptor Classes
Session Beans
-
Developing Stateless and Stateful beans
-
Related Annotations
-
Life-cycle of session beans
-
Session bean best practices
-
Linking UML modeling constructs with Session Beans
Message-Driven Beans
-
Introduction to asynchronous beans
-
Introduction to the Java Message Service (JMS) API
-
Configuring the activation context
-
Configuring the JMS message providers
Injectors
-
What are Injectors?
-
Using injectors to access resources and EJBs
-
Accessing the EJB context and the Environment Naming Context (ENC)
-
Setter injection
-
Simplifying lookup of beans and resources using injectors
-
Annotation used for injection
Java Persistence API (JPA)
-
Overview of Java Persitense API for EJB 3.0
-
Entity class and O/R mappings
-
Overview of packing and deploying entities
| |
Entities
-
Persistent fields and properties
-
Entity relationship mappings
-
Inheritance mappings
-
Annotations and XML descriptors for defining mappings
Entity Operations
-
The EntityManager interface
-
Entity instance life cycle
-
Entity listeners and callback methods
Java Persistence Query Language (JPQL)
-
Overview of EJB 3.0 query language
-
Writing portable queries based on Entities
-
Building native queries for performance
-
Building custom finders
-
Polymorphism
-
Automatic storage of query results in plain old Java objects (POJO)
EJB Timer Service
-
Overview of Timer Service
-
Timer Service APIs
-
Using injectors to inject Timer Service
-
Programming with Timer Service
-
Scheduling recurring tasks
EJB Transactions
-
Container vs. Bean managed transactions
-
Container-managed transaction attributes
-
Transaction propagation
-
Accessing the UserTransaction service using injectors
-
Invoking the UserTransaction service using JTA
-
Transaction Isolation attributes
-
SessionSynchronized Stateful Session Beans
-
Transactions and exceptions
-
Using annotation to specify transaction attributes
EJB Security
-
Security annotations
-
Roles, Groups and Permissions
-
Declarative vs. Programmatic security
-
Accessing the Securty services using the EJB Context
-
Switching the security context
Migrating Pre-EJB 3.0 Applications
-
Interoperability of EJB 3.0 with earlier components
-
Adapting EJB 3.0 session beans to earlier clients
-
Coexistence of EJB 3.0 and EJB 2.1 APIs in bean classes
|
|
|
|