Training

 

 

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

821A Bloor Street West
Toronto, ON
M6G 1M1

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

Home > Training > Rational Application Developer (RAD) 6 > EJB Programming with Rational Application Developer (RAD) v6.0 Training

EJB Programming with Rational Application Developer (RAD) v6.0 Training

Course#: WA1319

This course is an advanced introduction to the Enterprise Java Beans (EJB) technology. It starts by introducing the concepts and ideal for someone who has never programmed using EJB. The course rapidly picks up and ends with advanced concepts that students can use in real life to complete large-scale EJB based projects. The development and labs will be based on IBM Rational Application Developer v6, emphasizing the new features of the EJB 2.1 specification.

Topics  
 
  • Review of RAD v6 Basics
  • Introduction to Web Applications and J2EE
  • Overview of Enterprise Java Beans
  • Session EJBs
  • Entity EJBs
  • EJB and Exceptions
  • EJB and Transactions
  • EJB Security
  • Message-Driven EJBs
  • J2EE Best Patterns with Focus on EJB
  • WebSphere V6 administration for programmers
  • J2EE Design Patterns with Focus on EJB
  • EJB Inheritance
 
 
Practical Work  
  Students develop session beans with RAD, including accessing a database from session bean and EJB Java Client. They develop CMP Entity Beans, including EJB/RDB mapping and finder methods. Next, they develop a message-driven bean and integrate Java Message Service (JMS), IBM MQSeries, with RAD. Students also develop access beans. The purpose is to exhibit the use of development, testing, and deployment tools to improve EJB development productivity. The student will deploy a J2EE application to WebSphere Application Server v6.  
 
What you will learn  
 

After completing this course, the student should be able to:

  • Understand the need for EJB
  • Understand the EJB 2.1 specification at an expert level
  • Understand how to develop, test, and deploy EJBs with RAD
  • Gain knowledge of J2EE Design Patterns and Best Practices
  • Learn the industry secrets in EJB scalability
 
 
Audience  
  This course is intended for intermediate to advanced Java programmers. System architects will find the advanced concepts especially beneficial in designing a framework.  
 
Prerequisites  
  The student is expected to understand the core Java libraries; be familiar with web application programming, including servlets and JSPs; have some experience or understanding of using IBM Rational Application Developer. This course includes a review of RAD Basics, but assumes some knowledge of RAD.  
 
Duration  
  Five days.

Outline of WA1319 EJB Programming with Rational Application Developer (RAD) v6.0 Training

1. Introduction to Rational Application Developer 6

 
  • Eclipse Platform
  • The WebSphere Studio Product Family
  • Rational Web Developer
  • Rational Application Developer
  • Key Features in RAD v6.0
  • WebSphere Studio Application Developer Integration Edition
  • WebSphere Studio Enterprise Developer
  • Views, Perspective and Editor Areas
  • Basic Operations with RAD Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Task and Problems View
  • Build and Validation
  • Import and Export Project
  • Project Interchange Feature
  • Code Completion, Templates and Snippets
  • Searching
  • Setup Compiler Class Path
  • JRE Switching
  • Refactoring
  • Changing Class Name
  • Changing Method Name
  • Changing Variable Name
  • Generalizing a Variable
  • Moving a Class to a Different Package
  • Extracting Code to a Method
  • Pull-up and Push-down Methods
  • Migrating Workspace from WSAD v5.x
  • Migrating J2EE Applications
  • J2EE Migration Wizard
  • Summary
 

2. J2EE Overview

 
  • Introduction
  • Why Do We Need J2EE?
  • J2EE Components
  • J2EE Technologies
  • Useful J2SE Technologies
  • Application Artifacts
  • J2EE Architecture
  • J2EE 1.4 Version Levels
  • J2EE Software Packaging
  • Deployment Descriptor
  • Enterprise Archive (EAR)
  • Web Modules and WAR
  • EJB Modules
  • Building Module Dependency
  • Objectives
  • Project Explorer
  • Servers View
  • The J2EE Perspective
  • The Web Perspective
  • RAD Project Structure
  • Create an Enterprise Application
  • Setup Utility JAR
  • Create an EJB Project
  • Create a Web Project
  • Setup Dependent JAR Files
  • Create Server Instance and Server Configuration
  • Configure Server Instance
  • Add an Enterprise Application Project to the Test Server
  • Start and Stop the Server
  • Test a Servlet
  • Debug a servlet
  • Test a JSP
  • Debug a JSP
  • Automatic Code Reloading
 

3. Enterprise JavaBean (EJB) Overview

 
  • Objectives
  • Needs for EJB
  • Distributed Computing
  • Distributed Transaction
  • Distributed Security
  • What are EJBs?
  • Main Characteristics of EJBs
  • EJB Remote Method Call
  • EJB Architecture Components
  • EJB Client
  • EJB JAR File
  • EJB Server
  • EJB Container
  • EJB Container - Persistence
  • EJB Container - Transaction
  • Enterprise Java Beans
  • Session Beans
  • Entity Beans
  • EJB Classes and Interfaces
  • Basic Components of Entity and Session Beans
  • EJB Home Interface
  • An EJB Home Interface Example
  • EJBHome Object
  • EJB Remote Interface
  • Remote Interface Example
  • EJB Local Home Interface
  • EJB Local Interface
  • Remote EJB Objects
  • Local EJB Objects
  • EJB Implementation Class
  • Remote v. Local EJBs
  • EJB Application Development
  • Deploying Enterprise Beans
  • Major Components of Deployed EJBs
  • Summary
 

4. Session Bean

 
  • Objectives
  • Session Beans
  • Stateless Session Bean
  • Stateful Session Bean
  • Components of Session Beans
  • Home Interfaces
  • Remote interface
  • Local interface
  • Service Endpoint Interface (SEI)
  • The Session Bean Class
  • ejbCreate() Method
  • Business Methods
  • A Simple Stateless Session Bean Example
  • A Simple Stateful Session Bean Example
  • Registering Artifacts in ejb-jar.xml
  • Session Context
  • EJB Context
  • EJB Context
  • Session Bean Lifecycle
  • Lifecycle - Stateless
  • Lifecycle - Stateful
  • Lifecycle Stateful
  • Lifecycle - Stateful
  • Concurrency Issues
  • Invoking Session Beans from Client Application
  • Looking Up a Home Object
  • EJB Reference
  • Create an EJB Object
  • Calling Business Methods
  • IBM RAD for EJB Development
  • Developing a Session Bean using RAD
  • EJB Project in RAD
  • Create an EJB project
  • Examine the EJB project
  • Create a Session Bean
  • Code methods
  • Promote methods to interfaces
  • Deploying EJBs
  • EJB Deployment Descriptor
  • EJB Deployment Descriptor
  • EJB Deployment Descriptor
  • EJB Deployment Descriptor
  • Generating Deployed Code
  • Run on server
  • JNDI Explorer
  • Test the home interface
  • Test the component interface
  • Exporting EJB JAR
  • EJB JAR File Structure
 

5. Entity Bean

 
  • Objectives
  • Entity Beans
  • Persistence
  • Entity Bean Components
  • Container
  • Container
  • Container
  • Primary Key Class
  • A Primary Key Class Example
  • (Remote) Home Interface
  • (Remote) Home Interface
  • (Remote) Home Interface
  • Local Home Interface
  • Remote Interface
  • Local Interface
  • Entity Bean Class
  • Entity Instance
  • Entity Object Lifecycle
  • Bean Instance Lifecycle
  • Bean Instance Lifecycle
  • Bean Instance Lifecycle
  • Bean Managed Persistence
  • Container Managed Persistence
  • Writing BMP Bean
  • Writing BMP Bean
  • Writing BMP Bean
  • Writing BMP Bean
  • A BMP Bean Example
  • A BMP Bean Example
  • A BMP Bean Example
  • Writing a CMP Bean
  • Indicating Persistent Fields
  • Writing a CMP Bean
  • Writing a CMP Bean
  • Example Bean Class
  • Deployment Descriptor Settings
  • Writing finder methods
  • EJB Query Language
  • EJBQL: Simple examples
  • EJBQL: SELECT clause
  • EJBQL: SELECT clause
  • EJBQL: FROM clause
  • EJBQL: WHERE clause
  • EJBQL: WHERE clause
  • EJBQL: WHERE clause
  • EJBQL: WHERE clause
  • EJBQL: WHERE clause
  • EJBQL: Watch out!
  • Using EJBQL in a CMP bean
  • Business Methods
  • EntityContext
  • Writing CMP Beans
  • Defining and Mapping CMP Fields
  • Developing Entity Beans in RAD
  • Adding a CMP Entity EJB
  • Adding a CMP Entity EJB
  • Adding a CMP Entity EJB
  • EJB Deployment Descriptor
  • Adding a CMP Entity EJB
  • Add an EJBQL query
  • Add an EJBQL query
  • Add an EJBQL query
  • Add an EJBQL query
  • Import Database Schema
  • Creating a database mapping
  • Choosing a backend
  • Choosing a mapping type
  • Specifying the mapping
  • EJB Relationships
  • EJB 2.0 Relationships
  • WebSphere Extensions
 

6. Message-Driven Beans

 
  • Objectives
  • The Trouble with RMI/IIOP
  • Messaging to the Rescue
  • Messaging Features
  • Message-Oriented Middleware
  • Messaging Domains
  • Publish/Subscribe
  • Point-to-Point
  • Java Message Service
  • JMS Programming: Overview
  • JMS Programming: Overview
  • The JMS Interfaces
  • JMS Programming: Example
  • JMS Programming: Example
  • JMS Programming: Example
  • Integrating JMS and EJB
  • Message-Driven Beans Are Different From Other EJBs
  • Message-Driven Beans Cannot Talk to Their Clients
  • Message-Driven Beans are Stateless
  • Durable Subscription
  • Message-Driven Bean Interfaces
  • javax.ejb.MessageDrivenBean
  • javax.jms.MessageListener
  • javax.jms.Message
  • Lifecycle
  • Example: Message Counter
  • Class MessageCounter
  • Class MessageCounter
  • Class MessageCounter
  • Working With Messages
  • Processing the Message
  • Deployment Descriptor Entry
  • Binding the Queue or Topic
  • Transactions
  • Security
  • Load Balancing
  • Clustering and Topics
  • Clustering and Queues
  • A Few Tips
  • Poison Messages
  • How the Programmer Can Avoid Poison Messages
  • How the System Administrator Can Avoid Poison Messages
  • Building a Response
  • Potential Problems
  • A Simple Alternative
  • Type Checking and Messages
  • Testing Message-Driven Beans
  • Summary
  • References
 

7. EJB Transaction

 
  • Transaction Management
  • Object Transaction
  • EJB Transaction Basics
  • Transaction Propagation
  • Client Managed Transaction
  • Bean Managed Transaction
  • Container Managed Transaction
  • Transaction Outcome
  • Vetoing a Transaction
  • Vetoing a Transaction
  • Transaction Isolation
  • Isolation Level
 

8. EJB Exception

 
  • Objectives
  • Use of Exception
  • Exception Types
  • System Exception
  • System Exception
  • Application Exception
  • Bean Class
  • Container
  • Client
  • Standard Exceptions
  • Local EJBs
  • Summary
 

9. J2EE Security

 
  • Security Functionality
  • What Can You Secure in J2EE?
  • Challenge Mechanism
  • Basic Challenge
  • Client Certificates
  • Form-based Authentication
  • User Registry
  • J2EE Authorization Model
  • Protecting Web Resources
  • Protecting EJB Methods
  • EJB Delegation Policies
  • Delegation Scenario
  • Defining Roles at Application Level
  • Goals of the EJB Security Specification
  • Setting Method Permission
  • Defining Roles
  • Specify Accessible Methods for a Role
  • Disable Security Check
  • Excludes List
  • Security Identity (Delegation Policy)
  • Programmatic EJB Security
  • Role Reference
  • Setting WebSphere Security
  • Configure Global Security
  • Standalone Application Server
  • Network Deployment
  • Enable Global Security
  • Configure LTPA Authentication Mechanism
  • Configure Local OS Registry
  • Configure the LDAP User Registry
  • Assign Administrative Rights
  • Protect the Application First
  • Extra Installation Steps
  • Map Security Roles to Users/Groups
  • Select Users for a Security Role
  • Run-As
  • Unprotected Methods
 

10. EJB Timer Service

 
  • Container Managed Timer Service
  • EJB Timer Service
  • Interaction between Timer Service and EJB
  • Timer Service API
  • The TimerService Interface
  • Creating a Timer
  • Getting All Timers
  • The TimedObject Interface
  • The Timer Interface
  • Example Of A TimerBean
  • Timer and Transaction
  • Limitations of EJB Timer Service
 

11. Business and Integration Tier Patterns

 
  • Objectives
  • Business Delegate Pattern
  • How it works
  • Data Transfer Object Pattern
  • DTO Example (Output)
  • DTO Example (Input)
  • Role of DTO in MVC
  • Access Beans
  • Types of Access Beans
  • Data Class Access Bean
  • Data Class Programming Model
  • Access Bean Constructor
  • Generating Access Beans
  • Generating a Data Class
  • Generating an EJB Factory
  • Using EJB Factory and Data Class
  • Deleting the Access Bean
  • Value Object Pattern
  • Multiple Value Objects
  • Best Practice derive EJB from the Value Object
  • Composite Entity Pattern
  • An example
  • Class Diagram
  • How the client interacts
  • Value Object Assembler
  • Value List Handler
  • How does it work?
  • How does it work - continued
  • Design Considerations
  • Service Locator
  • Data Access Object (DAO)
  • DAO Implementation Guidelines
  • Service Activator
  • MDB- Integrating JMS and EJB
  • Message-Driven Beans Are Different From Other EJBs
  • Message-Driven Beans are Stateless
  • Message-Driven Bean Interfaces
  • Example: Message Counter
  • Class MessageCounter
  • Class MessageCounter
  • Class MessageCounter
  • Processing the Message
  • Deployment Descriptor Entry
  • Summary
 

12. Other EJB Patterns

 
  • Objectives
  • Session Fa ade
  • Session Fa ade Pattern
  • Session Fa ade
  • Session Fa ade
  • Session Facade
  • Miscellaneous Details
  • Message Fa ade Pattern
  • Message Fa ade
  • Message Fa ade
  • Message Fa ade
  • Message fa ade pattern shortcomings
  • Version Number pattern
  • Version Number Pattern
  • Sequence Blocks
  • Stored Procedures for Autogenerated Keys
  • Fast Lane Pattern
  • Summary
 

13. Basic Administration

 
  • Topics
  • Administration Mechanism
  • Administration Roles
  • Administration Roles
  • Administration Clients
  • A Look at the Console
  • Creating a Profile
  • wasprofile command (Command line)
  • Managing an Application Server
  • Enable Server Process Restart
  • Sample inittab contents
  • Basic Application Server Configuration
  • Configure the JVM
  • Web Container Transport Chain
  • Configure Transport Chain
  • Configure Session Management
  • Configure an EJB Container
  • Preparing to Host Applications
  • Resource Scope and Variables
  • Configure a Virtual Host
  • Configure a JDBC Provider
  • Select JDBC Provider Type
  • JDBC Provider Options
  • Data Source
  • WebSphere Data Source
  • Creating a Data Source
  • Configuring a Data Source
  • Mail Providers
  • Launching the Administrative Console
  • The Administrative Console
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Installing an Enterprise Application into WebSphere Application Server
  • Saving the Master Configuration
  • Configuring the Web Server plugin
  • WebSphere Applications on the file system
  • What is the Plugin?
  • What is the Plugin Configuration?
  • Generating the Plugin Configuration
  • Use the Plugin Configuration
  • View the Plugin Configuration
  • The Plugin
  • Summary
 

Appendix A. EJB Inheritance

 
  • The Need For EJB Inheritance
  • EJB Inheritance
  • Characteristics of a Child EJB
  • Table Mappings
  • Single Table Mapping
  • Root/Leaf Table Mapping
  • Guidelines and Limitations
  • ibm-ejb-jar-ext.xmi
  • Creating EJB Inheritance
  • Mapping To RDB: Parent
  • Mapping To RDB: Child
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course
Other Details

Register for a courseware sample

It's simple, and free.

 

Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.