Overview
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.
Prerequisites
Each student should have a basic understanding of application development and design methodologies
Class Format
Lecture and Lab
Audience
Developers and other advanced Java professionals that will be designing, developing and creating enterprise-wide applications using EJB v3.0.
Learning Objectives
After completing this course, the student should be able to:
- 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
Course Duration
4 Days
Course outline
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
- JTA and JTS
- EJB Transactions
- EJB Transaction attributes
- Transaction isolation
EJB
Security
- Introduction
- Web Application Security
- Authentication
- Authorization
- Delegation
- Trust
- EJB Authentication
- 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
|