J2EE Architecture Overview
Enterprise Application Overview and Development Cycle
J2EE Architecture and Development Roles
Containers
EJB, Servlet and JSP
JDBC, JNDI and JTA
JavaMail, JMS and RMI Over IIOP
J2EE Connector Architecture
Deployment Descriptors
RAD Concepts
Workbench Features and Supported Standards
Eclipse
Perspectives
Creating Projects and Setting Project Properties
Adding Application Components
Enabling Roles
Using Editors and Views
Fast Views
Customizing Perspectives and Creating User Defined Perspectives
Getting Help and Using Cheat Sheets
RAD: Import and Export Wizards
Supported Files and Resources
Importing EARs, JARs, Projects and Tag Libraries
Server Configuration Issues
RAD Source Files
Exporting Resources
Generating a JAR Description
Specifying a Manifest File
Enterprise JavaBean Overview
What are Enterprise JavaBeans and Why Use Them?
EJB Container, EJB Server
Session Bean Overview
Entity Bean Overview
Message-Driven Bean Overview
EJB Classes and Interfaces
Local vs. Remote Client View
EJB Deployment Code and Deployment Descriptors
EJB JAR File
Looking Up and Invoking an EJB
RAD: J2EE Perspective
Toolbar and Views
Defining Dependencies
Creating an EJB Project
Creating a Session EJB
Promoting Methods
Generating Deployment Code
Using the Universal Test Client
Application Deployment Descriptor: WebSphere V5 and WebSphere V6
Java Naming and Directory Interface Overview
JNDI Architecture
Naming and Directory Services
JNDI Terms and Packages
Initial Context
JNDI Lookup Examples
Service Providers
RAD: CMP Tools
Creating an Entity Bean
Generated Classes
Defining CMP Fields and Relationships
EJB to RDB Mapping
Adding Finder Methods and Specifying EJBQL
Editing Deployment Information
Controlling Activation and Passivation
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
RMI over IIOP
The History of RMI Over IIOP
RMI/IIOP Basics
RMI 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)
Session Bean Development
Proper Usage of Session Beans
Stateless Session Bean Usage and Lifecycle
Pooling Stateless Session Beans
Stateful Session Bean Usage and Lifecycle
Callback Methods
Passivation and Activation
Session Bean Classes and Interfaces
Adding Business Logic
Session Bean Design Guidelines
Invoking a Session Bean
Handles
Deployment Descriptors
Stateless vs. Stateful
J2EE Design Patterns
What Are Design Patterns and Why Use Them?
Value Object, Session Façade and Business Delegate
DAO, Fast-Lane Reader and Page-By-Page Iterator
Composite Entity, Front Controller and Factory
Putting It All Together
Entity Bean Development
Entity Bean Usage
Creating and Removing an Entity
Key Classes and Fields
Finder Methods
Types of Persistence
CMP Entity Beans
Object-Relational Mapping Approaches
CMP Fields and Relationships
EJB Query Language
Deployment Descriptor Entries
Entity Bean Lifecycle
Bean-Managed Persistence
Developing BMP Entity Beans
Implementing Callback Methods
CMP Versus BMP
Entity Bean Design Guidelines
Application Assembly Overview
Application Assembly and Packaging
Deployment Descriptors (EJB, Web, Connector and Client Modules)
IBM Extensions and Bindings
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
Required Transaction Attributes
Isolation Levels
UserTransaction Interface
Restrictions
SessionSynchronization
JMS Application Development
JMS Architecture and Capabilities
JMS Participants and Interactions
JMS Objects
Runtime Environment
Messaging Styles: P2P and Pub/Sub
Sending a Message
Connection Factories and Destinations
Message-driven Beans (MDB)
Implementing the onMessage() Method
JMS and Transactions
RAD: JMS Support
JMS Server Configuration (V5 and V6)
Adding JMS References
WAS Message Listener Service
WAS Listener Ports
WebSphere Security Overview
Security: Declarative and Programmatic
Container Based Security
Secure Associations
Security Roles and Role Mappings
Authentication vs. 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