Course Outline: Introduction to Enterprise Javabeans
(3 Days) with Hands-On Labs
Learning Objectives
Understand the role of Enterprise JavaBeans in enterprise-level systems development, and its relationship to other J2EE technologies such as JSP, servlets, JMS, CORBA, and XML
Understand the EJB architecture: the role of the EJB container in mediating contact between the client and the bean, transaction control, authorization control, and the importance of object pooling
Understand the development cycle for beans: Java source code and compilation, XML deployment descriptors, EJB compilation and deployment, and use by an application server
Understand the role of entity and session beans, their lifecycles and interactions with the container
Develop and test BMP and CMP entity beans and understand the importance of each of the entity-bean methods in assisting the container in pooling
Develop and test stateless and stateful session beans and effectively manage passivation/activation cycles
Use the bean context interfaces to assist with persistence code and to correctly establish bean-to-bean communication
This course description should be used to determine whether the course is appropriate for you based on your current skill and technical training needs. Technical information is provided on the intended audience, course prerequisites, and covered topics. Course content, prices, and availability are subject to change without notice.
Course Audience
This module offers the Java programmer an introduction to the Enterprise JavaBeans (EJB) architecture. EJB’s position at the heart of the Java Enterprise platform and the use of EJB application servers as the backbone of large-scale distributed systems are studied. We consider the advantages of the application server architecture – transaction control, security, persistence, scalability through pooling and clustering – and study the development process for entity and session beans in depth.
Course Description
The focus for this module is on end-to-end connectivity. The module follows a path roughly from the data layer to the presentation layer, so we look at entity beans first, and work demos and exercises in both Bean-Managed and Container-Managed Persistent Beans. Then the EJB session layer is considered, and both stateless and stateful session beans are developed. As part of the lab work, these are hooked to provided JSPs to illustrate the complete system and typical architecture.
This module can be followed by the “Effective EJB” module to complete a student’s understanding of the EJB architecture through study of transaction control, security, performance tuning, and design patterns and strategies.
Prerequisites
Solid Java programming experience is a must. Our Java Programming course is good preparation for this module. Some experience with distributed systems development, especially object-based systems such as Java RMI, CORBA, or COM is a plus.
It is worth emphasizing that students must have strong Java programming experience and be ready to tackle distributed component concepts as well as the very specific demands of EJB syntax.
TOPICS COVERED IN LECTURE & LAB
The EJB Architecture
EJB and the Java Enterprise Platform
Common Enterprise Requirements
Role of the Application Server
The EJB Container
Persistence Architecture – Entity Beans
Object Pooling
Session Architecture – Session Beans
Transactions
Security
EJB Development
Remote Interface
Home Interface
Bean Class and Echoes of the Remote and Home Interfaces
Primary Key Class
Deployment Descriptor
EJB Environment
Build and Deployment Process
Home Object
EJB Object
Entity Beans
Instance versus Incarnation – Similarities to the CORBA PSS
Objects as Incarnations
Entity Bean Interface and Responsibilities
Primary Keys
Object Pooling
Entity Contact Interface and Discovering the Primary Key
Creation and Removal
Load and Store
Finder Methods
Bean-Managed Persistence
Finding a Data Source
Working to a Relational Database
Non-Relational Data Sources
Bean Environment – Declaring Resource References
Creation and Removal – INSERT and DELETE
Returning Primary Keys and Home Object Translation