Enterprise JavaBeans was recently voted "Best
Java
Book" by the editors and readers of Java Developer's
Journal. Readers of JavaPronamed it the "Best Java Book for
Experts." And Amazon.com included it in the Top Computer
Books for 2000. Now the best only gets better! In the new
3rd edition,
Enterprise JavaBeans has been
completely revised and updated with a thorough introduction
to the new 2.0 version of the
EJB specification.
Significantly different from the earlier version, the
2.0 specification introduces three dramatic improvements: A
completely new version of container-managed persistence;
local interfaces; and a totally new kind of bean called the
"message driven bean."
The new version of container-managed persistence (CMP)
beans in 2.0 is more portable and robust than in the older
1.1 version. Most significant is the introduction of the
relationship fields, which allow entity beans to declare
relationships with each other as natural references. In
order to make this huge leap in component relationships
possible, EJB 2.0 had to redesign how entity beans are
defined and interact. Our new 3rd edition examines this
critical CMP model in detail.
Local interfaces are thoroughly discussed as well. Local
interfaces allow beans that are co-located to interact
without the overhead of remote method calls. This improves
the performance of beans considerably and complements the
CMP relationship fields.
Message driven beans are a new kind of enterprise bean
based on asynchronous messaging and the Java Message
service (JMS). Instead of responding to Java RMI calls,
message driven beans process JMS messages sent by messaging
clients. An entire chapter is devoted to message-driven
beans and how to use them effectively.
In addition, the 3rd edition contains an architecture
overview, information on resource management and primary
services, design strategies, and XML deployment
descriptors.
Table of Contents
- Preface
- 1: Introduction
- Setting the Stage
- Enterprise JavaBeans Defined
- Distributed Object Architectures
- Component Models
- Component Transaction Monitors
- CTMs and Server-Side Component Models
- 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 Client View
- Locating Beans with JNDI
- The Remote Client API
- EJB 2.0: The Local Client API
- 6: EJB 2.0 CMP: Basic Persistence
- Overview
- The Customer EJB
- Persistence Fields
- Dependent Value Classes
- Relationship Fields
- 7: EJB 2.0 CMP: Entity Relationships
- The Seven Relationship Types
- 8: EJB 2.0 CMP: EJB QL
- Declaring EJB QL
- The Query Methods
- EJB QL Examples
- Problems with EJB QL
- 9: EJB 1.1 CMP
- A Note for EJB 2.0 Readers
- Overview for EJB 1.1 Readers
- Container-Managed Persistence
- 10: 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
- 11: The Entity-Container Contract
- The Primary Key
- The Callback Methods
- EJB 2.0: ejbHome( )
- EntityContext
- The Life Cycle of an Entity Bean
- 12: 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
- 13: Message-Driven Beans
- JMS as a Resource
- Message-Driven Beans
- 14: Transactions
- ACID Transactions
- Declarative Transaction Management
- Isolation and Database Locking
- Nontransactional Beans
- Explicit Transaction Management
- Exceptions and Transactions
- Transactional Stateful Session Beans
- 15: Design Strategies
- Hash Codes in Compound Primary Keys
- Passing Objects by Value
- Improved Performance with Session Beans
- Bean Adapters
- Implementing a Common Interface
- Entity Beans Without Create Methods
- EJB 1.1: Object-to-Relational Mapping Tools
- Avoid Emulating Entity Beans with Session Beans
- Direct Database Access from Session Beans
- Avoid Chaining Stateful Session Beans
- 16: XML Deployment Descriptors
- What Is an XML Deployment Descriptor?
- The Contents of a Deployment Descriptor
- The Document Header
- The Descriptor's Body
- Describing Enterprise Beans
- EJB 2.0: Describing Relationships
- Describing Bean Assembly
- The ejb-jar File
- 17: Java 2, Enterprise Edition
- Servlets
- JavaServer Pages
- Web Components and EJB
- J2EE Fills in the Gaps
- Fitting the Pieces Together
- Future Enhancements
- A: The Enterprise JavaBeans API
- B: State and Sequence Diagrams
- C: EJB Vendors
- Index