EJB Development Using RAD v7.0 Course

Course Code: IN 683
Course Abstract: This course teaches participants how to develop Enterprise JavaBeans (EJBs) using IBM Rational Application Developer (RAD) v7.0. The course describes design patterns and “best practices” for building robust, distributed applications in an enterprise environment.  The concepts taught in this course are reinforced by hands-on lab exercises.
Audience: This course is designed for developers.
Duration: 5 days
Learning Outcomes: Upon completion of this course, the participant will be able to:
> Develop and test session, entity and message-driven EJBs and other J2EE components
> Identify how EJB 2.1 components fit into the J2EE architecture
Course Topics:

J2EE Architecture Overview
Enterprise Application Overview and Development Cycle
J2EE Architecture and Containers
Applet, Servlet and JSP Overviews
JDBC, JNDI and JTA
EJB, JMS and RMI Over IIOP
JavaMail, JAF, JAAS and JACC
XML and JAXP
New in J2EE 1.4
Web Services Support: JAX-RPC, SAAJ, Web Services for J2EE and JAXR
J2EE Connector, Management and Deployment
Development Roles and Deployment Descriptors

Enterprise JavaBean Overview
What are Enterprise JavaBeans and Why Use Them?
The EJB Container and EJB Server
Session Bean Overview
Entity Bean Overview
Message-Driven Bean Overview
EJB Classes and Interfaces
Local Versus Remote Client View
EJB Deployment
Looking Up and Invoking an EJB

RAD
EJB Development
Creating EJB Projects and EJB Client Projects
Annotation-Based Programming
Creating Session Beans and Message-Driven Beans
Promoting Methods and Using EJB Snippets
Editing the EJB Deployment Descriptor
Generating Deployment Code
Testing EJBs

Java Naming and Directory Interface
JNDI Architecture
Naming and Directory Services
JNDI Terms and Packages
Initial Context
JNDI Subcontexts
JNDI Lookup Examples
Service Providers

Application Assembly and Packaging
J2EE Deployable Units
Assembly Process
Packaging Checklist
Creating Enterprise Application Projects
Importing Resources
Adding J2EE Modules and Utility JARs
JAR Dependency Editor
Using the Application Editor
Deployment Descriptor Elements (EJB, Web, Connector, Client and Application)
IBM Extensions and Bindings
Exporting Resources

EJB Clients: Basics
Types of Client Access
Developing Remote Clients
Local Clients
Local Versus Remote Client View
Web Service Clients
Handles
EJB and Service References

Object Serialization
What is Serialization?
Creating Serializable Objects
Object Variables
Transient Variables
Reading and Writing Serialized Objects
Customizing Serialization
Implementing writeObject() and readObject()
EJBs and Object Serialization
 
RAD: Server Tools (optional)
New Features
Test Environments
Server Types and Resources
Defining a Server
Running Applications on a Server
Defining the Target Server
Servers View and Actions
Editing the Server Configuration for WebSphere V6 and V6.1
Embedding Deployment Information in an Application
Reloading Resources Running on the Server
WebSphere Administration Command Assist
WebSphere Profiles

RMI over IIOP
The History of RMI Over IIOP
RMI/IIOP Basics
Interfaces and Implementation Classes
Remote Interfaces and Objects
Stubs and Ties
RMI/IIOP Architecture
Passing Objects Using RMI/IIOP
PortableRemoteObject
The RMI over IIOP IDL Compiler (rmic)

RAD: Data Perspective (optional)
Using the Database Explorer
Creating and Connecting to a Database
Creating Data Development and Data Design Projects
Working with Data Diagrams
Adding a Table or View
Adding Keys, Columns, Indexes and Relationships
Generating DDL and Deploying From RAD
Using the Data Output and SQL Scrapbook Views

Session Bean Development
Session Bean Usage and Types
Callback Methods
Session Bean Classes and Interfaces
SessionContext
Adding Business Logic
Home Interface and Component Interface Requirements
Invoking and Removing a Session Bean
Session Bean Design Guidelines
Deployment

Stateless Session Beans
Proper Usage
Lifecycle
Instance Pooling
Identity
Defining a Web Service Endpoint Interface
MessageContext


RAD
Testing and Debugging EJBs
Using the RAD Debugger
Debugging Options
Testing an EJB
Universal Test Client
JNDI Explorer

Stateful Session Beans
Proper Usage
Lifecycle and Callback Methods
Passivation and Activation
Bean Identity
Stateless Versus Stateful

Entity Bean Development
Entity Bean Usage
Types of Persistence
Lifecycle and Callback Methods
Classes and Interfaces
Relationships
Creating and Removing an Entity
Key Classes and Fields
Finder and Select Methods
Home Business Methods
Deployment
Entity Bean Design Guidelines

Container Managed Persistence
CMP Entity Beans
Object-Relational Mapping
CMP Fields and Relationships
Relationship Direction and Multiplicity
Object-Relational Mapping Approaches
Deployment Descriptor Entries

RAD
CMP Tools
Development Steps
Adding CMP Files and Relationships
Mapping Entity Beans: Top-Down, Bottom-Up and Meet-In-The-Middle
Generated Files
Defining EJB Queries
CMP Deployment
Controlling Activation and Passivation

EJB Query Language
Query Methods
Navigation and Selection
SELECT Clauses and Returned Types
FROM Clauses and Path Expressions
WHERE Clause and Parameters
Comparison Expressions and Functions
Supported Operators and Reserved Identifiers

ORDER BY Clause
Defining Queries in the Deployment Descriptor

BMP Entity Beans
Developing BMP Entity Beans
Persistent Fields
Implementing Lifecycle Management Methods
Implementing Finder Methods and Relationships
Primary Key Class
CMP Versus BMP

Transaction Management
What is a Transaction?
ACID
Two-Phase Commit
JTA and JTS
Bean-Managed and Container-Managed Transactions
Valid Transaction Types
Transaction Demarcation
Defining Transaction Attributes
Valid Attributes and Required Transactions
Rolling back a Container-Managed Transaction
Restrictions for Container-Managed Transactions
Bean-Managed Transactions
UserTransaction Interface
Restrictions for Bean-Managed Transactions
SessionSynchronization
Transactions and Message-Driven Beans
JDBC Isolation Levels
WebSphere Access Intent and Read-Ahead Hints
Guidelines

EJB Timers
Timer Basics
Timer Service Interfaces
Creating and Saving Timers
Timer Interface
Transactions and Timers
Considerations

Message-Driven Beans
Characteristics
Message Processing
Lifecycle Methods
The MessageDrivenBean interface
Class Requirements
Message Listener Interfaces
Activation Specification
Defining the Messaging Type
Transactions and Message Acknowledgment
JMS Capabilities and Messaging Styles
JMS Participants and Interactions
JMS Runtime Environment
JMS and Message-Driven Beans
Sending Messages to an MDB
JMS Client Development
MDB Clients
JMS Objects
Development Steps
Sending a Message
Adding JMS References

WebSphere Security Overview
Security: Declarative and Programmatic
Container Based Security
Secure Associations
Security Roles and Role Mappings
Authentication Versus Authorization
Lazy Authentication
LTPA
User Registries and Supported LDAP Servers
Run As Identity
Secure Sockets Layer (SSL) and Transport Layer Security (TLS)
Single Sign-On
Java 2 Security
Policy Files: Static and Dynamic

Defining Security in RAD
Enabling Security
Defining Security Roles and Method Permissions
Adding Security Constraints and Resource Collections
Security Role References
Security Identity
Authentication Mechanisms
Security Configuration Files

J2EE Design Patterns
What Are Design Patterns and Why Use Them?
MVC, Composite View, Front Controller, Intercepting Filter and View Helper Patterns
Transfer Object, Session Façade, Business Delegate and Service Locator Patterns
Data Access Object, Fast-Lane Reader and Value List Handler Patterns
Composite Entity and Factory Design Patterns
Putting It All Together

Prerequisites: Proficiency  as a Java programmer and experience with developing server side components such as Servlets and JavaServer Pages is required.
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning