Preface
Part I. The Technical Manuscript
1. Introduction
Server-Side Components
Distributed Object Architectures
Component Models
Asynchronous Messaging
Titan Cruises: An Imaginary Business
What's Next?
2. Architectural Overview
The Enterprise Bean Component
Using Enterprise Beans
The Bean-Container Contract
Summary
3. Resource Management and the Primary Services
Resource Management
Primary Services
What's Next?
4. Developing Your First Enterprise Beans
Choosing and Setting Up an EJB Server
Developing an Entity Bean
Developing a Session Bean
5. The Remote and Local Client View
Locating Beans with JNDI
The Remote Client API
The Local Client API
6. CMP: Basic Persistence
The Abstract Programming Model
The Customer EJB
Persistence Fields
Dependent Value Classes
Relationship Fields
7. CMP: Entity Relationships
The Seven Relationship Types
8. CMP: EJB QL
Declaring EJB QL
The Query Methods
EJB QL Examples
Problems with EJB QL
9. Bean-Managed Persistence
The Remote Interface
The Remote Home Interface
The Primary Key
The ShipBean
Obtaining a Resource Connection
Exception Handling
The ejbCreate( ) Method
The ejbLoad( ) and ejbStore( ) Methods
The ejbRemove( ) Method
The ejbFind( ) Methods
The Deployment Descriptor
10. The Entity-Container Contract
The Primary Key
The Callback Methods
ejbHome( )
EntityContext
The Life Cycle of an Entity Bean
11. Session Beans
The Stateless Session Bean
The Life Cycle of a Stateless Session Bean
The Stateful Session Bean
The Life Cycle of a Stateful Session Bean
12. Message-Driven Beans
JMS and Message-Driven Beans
JMS-Based Message-Driven Beans
The Life Cycle of a Message-Driven Bean
Connector-Based Message-Driven Beans
EJB 2.1: Message Linking
13. Timer Service
Titan's Maintenance Timer
Timer Service API
Transactions
Entity Bean Timers
Stateless Session Bean Timers
Message-Driven Bean Timers
Final Words
14. EJB 2.1: Web Service Standards
Web Services Overview
XML Schema and XML Namespaces
SOAP 1.1
WSDL 1.1
UDDI 2.0
From Standards to Implementation
15. EJB 2.1 and Web Services
Accessing Web Services with JAX-RPC
EJB Endpoints
16. Transactions
ACID Transactions
Declarative Transaction Management
Isolation and Database Locking
Nontransactional Beans
Explicit Transaction Management
Exceptions and Transactions
Transactional Stateful Session Beans
17. J2EE
Servlets
JavaServer Pages
Web Components and EJB
Filling in the Gaps
Fitting the Pieces Together
18. XML Deployment Descriptors
The ejb-jar File
The Contents of a Deployment Descriptor
The Document Header and Schema Declarations
The Descriptor's Body
Describing Enterprise Beans
Describing Relationships
Describing Bean Assembly
19. EJB Design in the Real World
Pre-Design: Containers and Databases
Design
Should You Use EJBs?
Wrapping Up
Part II. JBoss Workbook
Introduction
1. JBoss Installation and Configuration
About JBoss
Installing JBoss Application Server
A Quick Look at JBoss Internals
Exercise Code Setup and Configuration
2. Exercises for Chapter 4
Exercise 4.1: A Simple Entity Bean
Exercise 4.2: A Simple Session Bean
3. Exercises for Chapter 5
Exercise 5.1: The Remote Component Interfaces
Exercise 5.2: The EJBObject, Handle, and Primary Key
Exercise 5.3: The Local Component Interfaces
4. Exercises for Chapter 6
Exercise 6.1: Basic Persistence in CMP 2.0
Exercise 6.2: Dependent Value Classes in CMP 2.0
Exercise 6.3: A Simple Relationship in CMP 2.0
5. Exercises for Chapter 7
Exercise 7.1: Entity Relationships in CMP 2.0, Part 1
Exercise 7.2: Entity Relationships in CMP 2.0, Part 2
Exercise 7.3: Cascade Deletes in CMP 2.0
6. Exercises for Chapter 8
Exercise 8.1: Simple EJB QL Statements
Exercise 8.2: Complex EJB QL Statements
7. Exercises for Chapter 9
Exercise 9.1: A BMP Entity Bean
8. Exercises for Chapter 11
Exercise 11.1: A Stateless Session Bean
Exercise 11.2: A Stateful Session Bean
9. Exercises for Chapter 12
Exercise 12.1: JMS as a Resource
Exercise 12.2: The Message-Driven Bean
10. Exercises for Chapter 13
Exercise 13.1: EJB Timer Service
11. Exercises for Chapter 15
Exercise 15.1: Web Services and EJB 2.1
Appendix. Database Configuration
Index