- Tel: +44 (0)1275 859666
EC63 - J2EE Enterprise JavaBeans Workshop - 3 Days
Course Description
This course is designed for the developer already familiar with Java Server-side programming looking to gain detailed knowledge of Enterprise JavaBeans development
Pre-requisites
The student should be familiar with Java Server side programming using the appropriate IDE (Integrated Development Environment). This can be gained by attending course EC31.
Objectives
Whilst covering the basics of the different types of beans and how they are used, this course also aims to give an insight into how they work internally, since this leads to further understanding of why EJB's are used over existing technologies.
Issues such as Security, Transaction Control, Passivation, Resource Pooling and Distributed Objects are discussed.
On completion of this course the student will be able to:
- Develop EJBs using a choice of IDE (Integrated Development Environment)
- Develop Stateless and Stateful Session Beans
- Develop Entity Beans with Bean Managed Persistence
- Develop Entity Beans with Container Managed Persistence (CMP)
- Develop Relationships and EJB QL for CMP beans
- Control the Security, Transaction Management and Passivation Characteristics of the Beans
- Use an Application Server to deploy and test EJBs and related components
- Store and re-access EJBs using a servlet session
Environment
Development will be performed using:
- JBuilder
- IntelliJ
- NetBeans
- Eclipse
Customisation
For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.
Course Details
- ENTERPRISE JAVABEANS
- Enterprise JavaBeans (EJBs) Overview
- Benefits of using EJBs
- JavaBean and Enterprise JavaBean Differences
- Multi Tier Applications
- Distributed Object Access, CORBA overview, RMI overview, RMI over IIOP
- EJB Environment and EJB Types
- Transaction Control, Session Beans, Entity Beans, Message-Driven Beans
- Session / Entity / Message-Driven Differences
- EJB in more detail
- EJB Anatomy, Containers, EJB Architecture, EJB Application Components
- Client Access
- Client View of an EJB, Java Naming and Directory Interface
- EJB Development Phases
- EJB Development Roles
- Benefits of using EJBs
- SESSION BEANS
- Overview
- Stateless Session Beans, Stateful Session Beans, Stateless or Stateful?
- EJB Composition
- Life Cycles
- The Stateful Session Bean Life Cycle
- The Stateless Session Bean Life Cycle
- Session Bean Components
- Session Bean Methods, Developing the Session Bean
- Stateless Session Beans
- The Home Interface, The Remote Interface, Coding the EJB Object
- Stateful Session Beans
- The Home Interface, The Remote Interface, Stateful EJB Object
- Helper Classes
- Accessing Environment Entries
- Stateless Session Beans, Stateful Session Beans, Stateless or Stateful?
- CLIENT ACCESS
- General Client Access
- Model / View / Controller Design
- EJB Environment, The EJB Client, Java Naming and Directory Interface
- Accessing Objects Remotely - RMI
- Invoking the Enterprise Java Bean
- Session Tracking Overview
- Using HTML and Servlets, Session Tracking API
- Session Creation and Lookup, Session Lifecycle
- Servlet EJB Access
- Saving and Restoring EJBs in a Servlet Session
- Comparing Stateful EJBs
- Passing a Session Beanxxs Object Reference
- Model / View / Controller Design
- SESSION BEAN DEPLOYMENT (RAD 6.0)
- J2EE Perspective
- EJB Editor, EJB Extension Editor
- Creating EJBS
- Enterprise Applications, EJB Projects, Adding EJBs to the project
- Testing EJBS
- Generating Deployed Code, Generating a Server and Server Configuration
- Setting EJB server properties
- Testing the EJB using the test client
- Running a Test Client Application
- Testing in RAD
- EJB Editor, EJB Extension Editor
- EJB 2.0 LOCAL INTERFACES AND REFERENCES
- Setting up Local interfaces using RAD 6.0
- References and Local interfaces
- Defining References in RAD 6.0
- Using the local client API
- References and Local interfaces
- BMP ENTITY BEANS
- Overview
- Shared Access and Transaction Management
- The Entity Bean Life Cycle
- Entity Bean Components
- Method Summary, The Home Interface, The Remote Interface
- Coding a Bean Managed Persistence Bean
- Entity Bean Syntax, Related Methods
- Entity Bean Primary Keys, The Entity Bean Object
- The setEntityContext and unsetEntityContext Methods
- The ejbCreate and ejbPostCreate Methods
- The ejbFind Methods
- The ejbRemove Method
- The ejbLoad Method and ejbStore Methods
- The ejbActivate and ejbPassivate Methods
- Other Business Methods
- Entity Beans Client access
- Invoking the Entity Bean
- Comparing Entity Beans
- Passing an Entity Beanxxs Object Reference
- Shared Access and Transaction Management
- CMP 2.0 ENTITY BEANS
- Why Use Container Managed Persistence?
- Local Home and Local Interfaces
- Coding a Container Managed Persistence Bean
- Container Managed Persistence Bean Methods
- The Deployment Descriptor and CMP beans
- Mapping the Entity Bean to the Database
- The Top-Down Approach using RAD 6.0
- The Bottom-Up Approach using RAD 6.0
- The Meet-in-the-middle Approach using RAD 6.0
- Local Home and Local Interfaces
- CMP 2.0 RELATIONSHIPS
- A One-To-One CMR example
- A Many-To-One CMR Example
- Setting Up Relationships Using RAD 6.0
- A Many-To-One CMR Example
- CMP 2.0 EJB QUERY LANGUAGE
- Using EJB QL in findBy...() methods
- Using EJB QL in ejbSelect...() methods
- Selecting on collection based CMR fields
- Using EJB QL in ejbSelect...() methods
- ENTITY BEAN DEPLOYMENT
- Creating Entity EJBS
- Enterprise Applications, EJB Projects, Adding EJBs to the project
- Testing Entity EJBS
- Generating Deployed Code, Generating a Server and Server Configuration
- Setting EJB server properties
- Testing the EJB using the test client
- Running a Test Client Application
- Testing in RAD
- Enterprise Applications, EJB Projects, Adding EJBs to the project
- DATABASE ACCESS
- The Data Perspective
- Database Connections
- Server Configuration
- DataSources, Java Naming and Directory Interface - JNDI
- Connection Pooling using DataSources
- Registering DataSources - The Persistent Name Server
- Coding Database Access
- Getting Database Connections via a DataSource
- Getting Database Connections using EJB Properties
- Using DataSources within Applications
- When to Connect
- Isolation Levels
- Setting Isolation Levels using RAD 6.0
- Database Connections
- TRANSACTION CONTROL
- Transactions
- Transaction Processing
- Container-Managed Transactions
- Transaction Attribute Values
- Transaction Attributes and Scope
- Setting Transaction Attributes using RAD 6.0
- Transaction Control
- Rolling Back a Container-Managed Transaction
- Bean-Managed Transactions
- Session Beans - Returning Without Committing
- Controlling the Transaction from a Servlet
- Transaction Guidelines for Applications
- Transaction Processing
- MESSAGE DRIVEN BEANS
- What is a Message Driven Bean?
- Message Processing, When to use Message Driven Beans
- The Life Cycle of a Message Driven Bean
- Access to Message Driven Beans
- The Message Driven Bean Client
- The Message Driven Bean Class
- Coding Message Driven Beans
- Message Driven Bean Methods
- Message Processing, When to use Message Driven Beans
- EXCEPTION HANDLING
- Java Exceptions
- Unchecked and Checked Exceptions
- EJB Exceptions
- Application Exceptions
- System Exceptions
- Unchecked and Checked Exceptions
- SECURITY
- Security Overview
- Security Concepts
- Container Managed Security, Security Roles
- Security Setting in RAD 6.0
- Security Concepts
- DESIGN PATTERNS
- JavaBean Wrappers (or Access Beans)
- Using a JavaBean Wrapper, Anatomy of a JavaBean Wrapper
- Using a JavaBean Wrapper, Anatomy of a JavaBean Wrapper
- The MVC Architecture
- The Controller - Servlet
- The View - HTML Form Pages
- The View - JavaServer Pages
- Creating Access Beans using RAD 6.0
- The View - HTML Form Pages
- WEBSPHERE (if applicable)
- WebSphere Application Server
- J2EE Application Components
- Enterprise Applications
- Enterprise Application Hierarchy, EAR Files
- Exporting EAR Files from WSAD, Web Projects
- Installing an Application in WebSphere
- J2EE Application Components
- RAD (if applicable)
- RAD Application Server
- J2EE Application Components
- Enterprise Applications
- Enterprise Application Hierarchy, EAR Files
- Exporting EAR Files from RAD 6.0, Web Projects
- Installing an Application in RAD
- J2EE Application Components
Course Format
Practical sessions make up a large part of the course, allowing delegates to demonstrate and reinforce the lectures given. During these sessions the delegate will gain experience of coding all types of EJBs as well as complete server side applications.
Examples are used extensively, ranging from simple code snippets to full applications with complete 'real world' functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and 'experiment' with these under the instructor's guidance as they are introduced.
These examples are available to take away, along with the delegate's own work.
The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.