<IMG SRC="fla_train.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0>
Click Here for the Outline in PDF Version
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
  • Load and Store – SELECT and UPDATE
  • Finder Methods – more SELECTing
Container-Managed Persistence

  • Declarative versus Programmatic
  • Declaring a Data Source
  • What the Container Does
  • 1.1 Architecture
  • 2.0 Architecture
  • CMP Limitations
  • O/R Mapping Tools
Session Beans

  • Representing the Client
  • Session Management and Conversational State
  • Stateless Session Beans
  • Finding Entity Beans
  • Bean Environment – Declaring EJB References
  • Bean-to-Bean Communication
  • Stateful Session Beans
  • Object Pooling and Passivation/Activation
Policy