Index

Symbols

% percent, The WHERE Clause and LIKE
* (see asterisk)
.ear files, J2EE Fills in the Gaps
.NET (Microsoft), Distributed Objects, Distributed Objects
.NET Framework (Microsoft), Microsoft’s .NET Framework
.war (web archive) files, J2EE Fills in the Gaps
2-PC (two-phase commit protocol), Transaction Propagation
< comparison operator, The WHERE Clause and Comparison Symbols
< less than, The WHERE Clause and CDATA Sections
<= comparison operator, The WHERE Clause and Comparison Symbols
= comparison operator, The WHERE Clause and Comparison Symbols
> comparison operator, The WHERE Clause and Comparison Symbols
> greater than, The WHERE Clause and CDATA Sections
>= comparison operator, The WHERE Clause and Comparison Symbols
escape character, The WHERE Clause and LIKE
_ underscore, The WHERE Clause and LIKE
“write once, run anywhere”, Introduction

A

ABS arithmetic function, The WHERE Clause and Functional Expressions
abstract persistence schema, Abstract Persistence Schema , Abstract Persistence Schema, Abstract Persistence Schema, EJB 2.0: Describing Relationships
EJBQL and, EJB QL Examples
terminology conventions and, Abstract Persistence Schema
abstract programming model, Abstract Persistence Schema
abstract schema name, Declaring EJB QL , Declaring EJB QL Elements
abstraction, coarse-grained vs. fine-grained, Modeling Workflow with Session Beans
access control, Security, Role-driven access control, Role-driven access control
deployment and, Deploying the Cabin EJB
isCallerInRole( ) and, EJBContext
AccessLocalException, EJB 2.0: Exclude list
accessor methods (accessors), Abstract Persistence Schema , Abstract programming model, Set and Get Methods
(see also set and get methods)
element and, Abstract Persistence Schema
naming conventions and, Set and Get Methods
ACID (atomic, consistent, isolated, and durable), ACID Transactions
ACID transactions, ACID Transactions, Is the TravelAgent EJB Durable?
activating enterprise beans, The Activation Mechanism, The Activation Mechanism
entity beans and, Transitioning from the Pooled state to the Ready state via a query method
MDBs and, Transitioning to the Method-Ready Pool
stateful session beans and, The Life Cycle of a Stateful Session Bean
stateless session beans and, The Stateless Session Bean, Transitioning to the Method-Ready Pool
transient fields and, Passivated State
actual types, Return types and parameters
adapter classes, Bean Adapters
addPhoneNumber( ), Abstract programming model
Address EJB (sample entity bean), Relationship Fields, Relationship Fields
queries and, EJB QL Examples , The WHERE Clause and Functional Expressions
relationships and, One-to-One Unidirectional Relationship, Cascade Delete and Remove
ADDRESS table, creating, Relationship Fields
AddressBean class, Relationship Fields, Relationship Fields, Select Methods
AddressDO dependent value class, Relationship Fields, Relationship Fields
administered objects, Session and Entity Beans, EJB 2.0: Additional administered objects
afterBegin( ), Transitioning into the Transactional Method-Ready state
AND operator, The WHERE Clause and Logical Operators
application client component, J2EE Application Client Components
application developers
CTMs and, CTMs: The Hybrid of ORBs and TP Monitors
importance of component models for, CTMs and Server-Side Component Models
application exceptions, Exceptions
bean-managed persistence and, Exception Handling
DuplicateKeyException and, DuplicateKeyException
FinderException and, Find Methods, FinderException
ObjectNotFoundException and, ObjectNotFoundException
RemoveException and, RemoveException
stateless session beans and, PaymentException: An application exception
subsystem-level, PaymentException: An application exception
vs. system exceptions, Application Exceptions Versus System Exceptions, Application exceptions
in transactions, Application exceptions
application servers, Component Transaction Monitors, CTMs: The Hybrid of ORBs and TP Monitors
architecture
for distributed objects, Distributed Object Architectures, CTMs: The Hybrid of ORBs and TP Monitors
of EJB, Architectural Overview, Summary
three-tier, Distributed Objects
arithmetic functions, The WHERE Clause and Functional Expressions
arithmetic operators, The WHERE Clause and Operator Precedence
WHERE clause and, The WHERE Clause and Arithmetic Operators
array of structures, listing behavior and, Implementing lists as arrays of structures
asterisk (*) indicating wildcard, Setting a transaction attribute, Specifying a Bean’s Transaction Attributes, Wildcard declarations
asynchronous messaging, Transaction Processing Monitors, EJB 2.0: Asynchronous Messaging, Message-driven beans, EJB 2.0: Asynchronous Enterprise Messaging
JMS and, JMS Is Asynchronous
ATM transactions, ACID Transactions
atomicity of transactions, ACID Transactions, Is the TravelAgent EJB Atomic?
attributes of transactions (see transaction attributes)
authentication, Security
element and, Obtaining a Resource Connection, References to External Resources
JNDI API and, Security
Auto-acknowledge value, <acknowledge-mode>
automatic teller machine (ATM) transactions, ACID Transactions

B

backend, Distributed Objects
backward compatibility, container-managed persistence and, A Note for EJB 2.0 Readers
bean adapters, Bean Adapters
bean class, Classes and Interfaces, EJB 2.0: The bean class, EJB 2.0 and 1.1: The bean class
business interface and, EJB 1.1: The Business Interface Alternative
Client API and, Bean metadata
creating
for entity beans, CabinBean: The Bean Class, EJB 2.0 and 1.1: The callback methods
for MDBs, The ReservationProcessorBean Class, The ReservationProcessorBean Class
for session beans, TravelAgentBean: The Bean Class, TravelAgentBean: The Bean Class
declared fields in, EJB 1.1: The CabinBean class
EJB 1.1 and, The ShipBean Class
EJB 2.0 and, EJB 2.0: The bean class
element and, EJB 2.0 and 1.1: Elements of the XML deployment descriptor, Session and Entity Beans
local interface implementation and, EJB 2.0: Why the Bean Class Should Not Implement the Local Interface
remote interface implementation and, Why the Bean Class Should Not Implement the Remote Interface, Why the Bean Class Should Not Implement the Remote Interface
stateful session beans and, TravelAgentBean: The bean class, TravelAgentBean: The bean class
stateless session beans and, ProcessPaymentBean: The bean class, ProcessPaymentBean: The bean class
bean instances
concurrent access to prohibited, Concurrency with session and entity beans
reentrant, Reentrance, Reentrance
bean-managed persistence (BMP), Persistence , Bean-Managed Persistence, The Deployment Descriptor
(see also BMP entity beans)
disadvantage of, Bean-Managed Persistence
ejbCreate( ) and, The ejbCreate( ) Method
sequence diagrams for, Sequence Diagrams for Bean-Managed Persistence
bean-managed persistence(BMP)
workbook exercise for, The Deployment Descriptor
bean-managed transaction (BMT) beans, Transaction Propagation in Bean-Managed Transactions, EJB 2.0: Message-driven beans and bean-managed transactions
beans (see enterprise beans entity beans session beans MDBs)
begin( ), Explicit Transaction Management, UserTransaction
BETWEEN clause, The WHERE Clause and BETWEEN
billing address vs. home address, Abstract programming model
bindings, Naming
BMP (see bean-managed persistence)
BMP entity beans, Overview, Bean-Managed Persistence, Obtaining a Resource Connection, The ejbFind( ) Methods
exceptions thrown by, Exception Handling
methods for, The ejbCreate( ) Method, The ejbFind( ) Methods
resource connections and, Obtaining a Resource Connection
XML deployment descriptors for, The Deployment Descriptor
BMT beans, Transaction Propagation in Bean-Managed Transactions, EJB 2.0: Message-driven beans and bean-managed transactions
bookPassage( ), The bookPassage( ) method, The bookPassage( ) method
books, online order transactions for, ACID Transactions
Borland products, JBuilder IDE and, Setting Up Your Java IDE
bulk accessors, Bulk Accessors for Remote Clients, Rules-of-thumb for bulk accessors
business concepts, CMP entity beans and, Overview, Dependent Value Classes
business interface, EJB 1.1: The Business Interface Alternative
business logic
encapsulating into business objects, Server-Side Components
session beans and, Modeling Workflow with Session Beans
stateful session beans and, The Stateful Session Bean
business methods, Classes and Interfaces
business interface and, EJB 1.1: The Business Interface Alternative
CMP entity beans and, Dependent Value Classes
invoked by clients, Reentrance
local interface and, The Local Interface
transaction attributes and, Specifying a Bean’s Transaction Attributes
business objects, Distributed Object Architectures
example of (Person), Rolling Your Own Distributed Object, Rolling Your Own Distributed Object
granularity and, Improved Performance with Session Beans
in three-tier architecture, Distributed Objects
business system transactions (see transactions)
business-to-business applications, The onMessage( ) method: Workflow and integration for B2B, The onMessage( ) method: Workflow and integration for B2B

C

C++ programming language, Server-Side Components
Cabin EJB (sample entity bean), The remote interface, EJB 2.0 and 1.1: The bean class
creating, Developing an Entity Bean, Creating a new Cabin EJB
deploying, Deploying the Cabin EJB
deployment descriptor for, Role-driven access control, The Contents of a Deployment Descriptor, The Contents of a Deployment Descriptor
local interface, creating for, The Local Interface, The Local Home Interface
many-to-many relationship and, Abstract programming model, Abstract persistence schema
persistence and, Object-to-relational persistence, Object-to-relational persistence
queries and, EJB QL Examples , The WHERE Clause and Functional Expressions
using, Using Enterprise Beans, EJB 2.0: Accessing EJB with Message-Driven Beans
CABIN table, creating, Creating a CABIN Table in the Database
cabin.jar file, cabin.jar: The JAR File
callback methods, EJB 2.0 and 1.1: The bean class, EJB 2.0: What about message-driven beans? , The Callback Methods, ejbRemove( )
adapter classes and, Bean Adapters
bean class and, EJB 2.0 and 1.1: The callback methods
container and, The Bean-Container Contract, The Container-Server Contract
EJBException and, Exception Handling
RemoteException and, Exception Handling
cardinality (see multiplicity)
cascade deletes, Cascade Delete and Remove , Cascade Delete and Remove
caution with, Cascade Delete and Remove
workbook exercise for, Cascade Delete and Remove
casting, programming language support for, Explicit narrowing using PortableRemoteObject
CCM (CORBA Component Model), EJB and CORBA CTMs
CDATA sections, Message-Driven Beans
WHERE clause and, The WHERE Clause and CDATA Sections
chaining stateful session beans, Avoid Chaining Stateful Session Beans
checked exceptions (see subsystem exceptions)
CICS, Transaction Processing Monitors
CORBA and, EJB and CORBA CTMs
Class.newInstance( ), Compound Primary Keys
classes (see bean class)
Client API, The Remote Client API, Are Local Component Interfaces Necessary?
client applications
container-managed persistence and, The Client Application
creating
for entity beans, Creating a Client Application, Creating a new Cabin EJB
for session beans, Creating a Client Application
entity bean relationships, testing with, Relationship Fields, Relationship Fields
examples of for MDBs, The ReservationProcessor clients, The ticket message consumer
for JMS, JMS application client, JMS application client
stateful session beans and, The Stateful Session Bean
client view, The Client View, Are Local Component Interfaces Necessary?
RMI protocols and, Distributed Objects
stateful session beans and, Taking a peek at the client view
client-jar file, The client-jar File
clients, example of (PersonClient), Rolling Your Own Distributed Object
CLR (Common Language Runtime), Microsoft’s .NET Framework
CMP 1.1 vs. CMP 2.0, Overview
CMP entity beans, Overview
EJB 1.1 and, Container-Managed Persistence, Deployment Descriptor
primary keys and, The XML Deployment Descriptor, Deferring primary key definition
relationships between, EJB 2.0 CMP: Entity Relationships, Cascade Delete and Remove
transaction attributes and, EJB 2.0: Container-managed persistence and transaction attributes
workbook exercise for, Deployment Descriptor
CMP fields (see persistence fields)
CMR fields, Abstract Persistence Schema, Simple Queries with Paths, The IN Operator
EJB QL and, EJB QL Examples
co-located enterprise beans, EJB 2.0: The Local Client API, The Local Home Interface, Co-location and the Deployment Descriptor
coarse-grained abstraction, Modeling Workflow with Session Beans
code (see source code)
Collection type, The find methods
EJB 2.0 and, The ejbFind( ) Methods
collection-based relationships (see relationships, collection-based)
Collection.add( ), Abstract programming model
Collection.addAll( ), Abstract programming model
Collection.remove( ), Abstract programming model
COM (Component Object Model), Microsoft’s .NET Framework
COM+, Microsoft’s .NET Framework
commit( ), Explicit Transaction Management, UserTransaction
common interface, implementing, Implementing a Common Interface, EJB 1.1: The Business Interface Alternative
Common Language Runtime (CLR), Microsoft’s .NET Framework
Common Object Request Broker Architecture (see CORBA)
comparison operator, The WHERE Clause and Comparison Symbols
comparison operators, The WHERE Clause and Operator Precedence, The WHERE Clause and Comparison Symbols
unsupported Date class and, Lack of Support for Date
WHERE clause and, The WHERE Clause and Comparison Symbols
component interfaces, Classes and Interfaces, The remote home interface
(see also remote/remote home interfaces; local/local home interfaces)
differentiating between, Remote/home/local differentiation
EJB 2.0 and, The EJB object
implementing a common interface and, Implementing a Common Interface, EJB 1.1: The Business Interface Alternative
component models, Component Models
importance of for application developers, CTMs and Server-Side Component Models
standard model and, Benefits of a Standard Server-Side Component Model
Component Object Model (COM), Microsoft’s .NET Framework
component transaction monitors/servers (see CTMs)
compound primary keys, The primary key, The XML Deployment Descriptor, The Primary Key, Compound Primary Keys, Compound Primary Keys
hash codes in, Hash Codes in Compound Primary Keys
specifying, Specifying Primary Keys, Deferring primary key definition
COMware (see CTMs)
CONCAT string function, The WHERE Clause and Functional Expressions
concurrency, Concurrency, EJB 2.0: Concurrency with message-driven beans
MDBs and, Message-Driven Beans
stateful session beans and, The Stateful Session Bean
connection factories, TopicConnectionFactory and Topic
element and, Session and Entity Beans
signing enterprise bean on to, References to External Resources
consistency of transactions, ACID Transactions, Is the TravelAgent EJB Consistent?
constructors, Compound Primary Keys
definition of prohibited, Transitioning to the Method-Ready Pool
consumers, JMS as a Resource
container-managed persistence (CMP), Persistence , Overview, Session and Entity Beans
(see also CMP entity beans)
vs. bean-managed persistence, Bean-Managed Persistence
collection-based relationships and, EJB 2.0: Collection-Based Relationships and Transactions
EJB 1.1 and, Container-Managed Persistence, Deployment Descriptor
vs. EJB 2.0, A Note for EJB 2.0 Readers, Deployment Descriptor
element and, Session and Entity Beans
no-argument constructor and, Compound Primary Keys
sequence diagrams for, Sequence Diagrams for Container-Managed Persistence
container-managed relationship fields (see CMR fields)
containers, Classes and Interfaces, The Bean-Container Contract, The Container-Server Contract
deployment tools for, Container Tools and Persistence, The EJB JAR File
entity beans and, The Entity-Container Contract, End of the Life Cycle
servers and, The Container-Server Contract
technology changes in, The enterprise bean Handle
Context class, Explicit narrowing using PortableRemoteObject
conventions for enterprise beans, Naming conventions , Abstract Persistence Schema
(see also naming conventions; terminology conventions)
conversational state, Stateless and stateful session beans, The Activation Mechanism, The Activation Mechanism, Session Beans
stateful session beans and, The Stateful Session Bean
stateless session beans and, The Stateless Session Bean
CORBA, Distributed Objects
CTMs using, EJB and CORBA CTMs
IDL and, Distributed Objects
CORBA Component Model (CCM), EJB and CORBA CTMs
CORBA IIOP, Distributed Objects , Distributed Objects
create methods, CabinHome: The Remote Home Interface, Return types and parameters, Creating and finding beans, Creating and finding beans
CMP entity beans and, The Remote Home Interface
enterprise beans, initializing with, The remote home interface
entity beans without, Entity Beans Without Create Methods
remote references and, TravelAgentBean: The bean class
stateful session beans and, TravelAgentHomeRemote: The home interface
stateless session beans and, Life in the Method-Ready Pool
transaction attributes and, Specifying a Bean’s Transaction Attributes
transitioning between states and, Transitioning from the Pooled state to the Ready state via creation, Transitioning from the Ready state to the Pooled state via removal
createAddress( ), Relationship Fields
CreateException, Application exceptions, CreateException
CMP entity beans and, The Remote Home Interface
createTopicSession( ), TopicConnection and TopicSession
creating
client applications
for entity beans, Creating a Client Application, Creating a new Cabin EJB
for session beans, Creating a Client Application
entity beans, Developing an Entity Bean, Creating a new Cabin EJB, Creating and finding beans
session beans, Developing a Session Bean, Creating a Client Application, Creating and finding beans
CreditCard EJB (sample entity bean), One-to-One Bidirectional Relationship, Abstract persistence schema
queries and, EJB QL Examples , The WHERE Clause and Functional Expressions
Cruise EJB (sample entity bean), The Cruise, Ship, and Reservation EJBs, Abstract persistence schema
queries and, EJB QL Examples , The WHERE Clause and Functional Expressions
CTMs (component transaction monitors), Component Transaction Monitors, Component Transaction Monitors, Benefits of a Standard Server-Side Component Model
benefits of standard server-side component model for, Benefits of a Standard Server-Side Component Model
choosing, CTMs: The Hybrid of ORBs and TP Monitors
common problems with, Improved Performance with Session Beans, Implementing lists as ResultSets
EJB as standard component model for, Architectural Overview
resource management and, Resource Management and the Primary Services, Listing Behavior
transaction attributes and, Transaction Attributes
vendors and, CTMs and Server-Side Component Models, Benefits of a Standard Server-Side Component Model
Customer EJB (sample entity bean), The Customer EJB, The Client Application
deploying, Deployment
queries and, EJB QL Examples , The WHERE Clause and Functional Expressions
relationships and, EJB 2.0 CMP: Entity Relationships, Cascade Delete and Remove
CUSTOMER table, creating, The Customer Table
CustomerBean class, The CustomerBean, The CustomerBean

D

data integrity, ACID Transactions
data types, The find methods
actual vs. declared, Return types and parameters
database locks, Database Locks, Database Locks
database mapping, object-to-relational, Object-to-relational persistence
database tables
defined in SQL, Container-Managed Persistence
schemas for, Database Modeling
databases
in application servers, Component Transaction Monitors
bean-managed persistence and, Bean-Managed Persistence, Obtaining a Resource Connection
entity beans and, Overview
locking techniques for, Database Locks, Database Locks
in three-tier architectures, Distributed Objects
DataSource resource factory, Obtaining a Resource Connection
declaring, The Deployment Descriptor
Date class, Lack of Support for Date
DCOM (Distributed Component Object Model), Microsoft’s .NET Framework
declarative transaction management, Declarative Transaction Management, EJB 2.0: Collection-Based Relationships and Transactions
declared fields, EJB 1.1: The CabinBean class
declared types, Return types and parameters
defining (see creating)
deleting (see removing)
deliverTicket( ), Sending messages from a message-driven bean
dependent objects
format validation and, Validation Rules in Dependent Objects
passing by value, Passing Objects by Value, Entity Objects
stateful session beans and, Dependent object: TicketDO
stateless session beans and, Dependent objects: The CreditCardDO and CheckDO classes
dependent value classes, Persistence Fields, Dependent Value Classes, Dependent Value Classes
AddressDO, Relationship Fields, Relationship Fields
workbook exercise for, Dependent Value Classes
deploying enterprise beans, Deploying a bean
CMP entity beans and, Deployment
entity beans and, Deploying the Cabin EJB
multiple deployment and, Describing Enterprise Beans, Describing Enterprise Beans
session beans and, Deploying the TravelAgent EJB
deployment descriptors, Deployment Descriptors and JAR Files, EJB 2.0 and 1.1: Elements of the XML deployment descriptor, ProcessPaymentBean: The bean class, EJB 2.0: Local component interfaces, What Is an XML Deployment Descriptor?
(see also XML deployment descriptors)
co-located enterprise beans and, Co-location and the Deployment Descriptor
defining
for entity beans, The Deployment Descriptor, EJB 2.0 and 1.1: Defining the XML elements
for session beans, The TravelAgent EJB’s Deployment Descriptor , EJB 2.0 and 1.1: Defining the XML elements
example for Cabin EJB, Role-driven access control
find methods and, Find Methods
describing
bean assembly, Describing Bean Assembly, Remote/home/local differentiation
enterprise beans, Role-driven access control, EJB 2.0 and 1.1: Defining the XML elements, Describing Enterprise Beans, Declaring EJB QL Elements
relationships, EJB 2.0: Describing Relationships, EJB 2.0: Describing Relationships
deserializing primary keys, Primary key
design strategies, Design Strategies, Avoid Chaining Stateful Session Beans
destinations, EJB 2.0: Asynchronous Messaging
element and, <message-driven-destination>
developers (see application developers)
developing (see creating)
direct database access, Direct Database Access from Session Beans
directory service, Naming
(see also JNDI; naming)
directory structure
for entity beans, Cabin: The Remote Interface
for session beans, Developing a Session Bean
dirty reads, Dirty, Repeatable, and Phantom Reads, Dirty reads
DISTINCT keyword, Using DISTINCT
Distributed Component Object Model (DCOM), Microsoft’s .NET Framework
distributed component servers (see CTMs)
distributed computing, Introduction
resources for further reading, Who Should Read This Book?
distributed objects, Distributed Objects, Distributed Objects , Distributed Objects
architecture/systems for, Distributed Object Architectures, CTMs: The Hybrid of ORBs and TP Monitors
firewalls and, Web Components and EJB
services provided by, Rolling Your Own Distributed Object
Titan Cruises sample business illustrating, Titan Cruises: An Imaginary Business
concurrency and, Concurrency with session and entity beans
example of (PersonServer), Rolling Your Own Distributed Object, Rolling Your Own Distributed Object
firewalls and, Web Components and EJB
location transparency and, Rolling Your Own Distributed Object
ORBs and, Object Request Brokers
system-level functionality for, Analogies to Relational Databases
distributed transactions (2-PC), Transaction Propagation
DO qualifier, Relationship Fields
document header, The Document Header
Document Type Definition (DTD), What Is an XML Deployment Descriptor?
Does Not Exist state, Does Not Exist
MDBs and, Does Not Exist
stateful session beans and, Does Not Exist State
stateless session beans and, Does Not Exist
transitioning to from Method-Ready Pool, Transitioning out of the Method-Ready Pool: The death of a stateless bean instance
doGet( ), Servlets
doPost( ), Servlets
downloading
packages for EJB/JNDI, Setting Up Your Java IDE
workbook exercises, Software and Versions, Choosing and Setting Up an EJB Server
drivers for JNDI, Locating Beans with JNDI
DTD (Document Type Definition), What Is an XML Deployment Descriptor?
DuplicateKeyException, Application exceptions, DuplicateKeyException
duplicates, Using DISTINCT
Dups-ok-acknowledge value, <acknowledge-mode>
durability of transactions, ACID Transactions, Is the TravelAgent EJB Durable?
Durable value, <message-driven-destination>

E

e-commerce, Web Components and EJB
EJB (Enterprise JavaBeans), Enterprise JavaBeans Defined, Naming conventions
API for, The Enterprise JavaBeans API, HandleDelegate
architecture of, Architectural Overview, Summary
background and development of, Author’s Note, What Is Enterprise JavaBeans?
bean-managed persistence and, Bean-Managed Persistence, The Deployment Descriptor
choosing CTMs for, CTMs: The Hybrid of ORBs and TP Monitors
container-managed persistence and, Overview
design strategies for, Design Strategies, Avoid Chaining Stateful Session Beans
development by Sun Microsystems, EJB and CORBA CTMs
EJB Query Language and, EJB 2.0 CMP: EJB QL, Limited Functional Expressions
J2EE support for, Guaranteed Services
vs. JavaBeans, Component Models
packages for, Setting Up Your Java IDE, Package: javax.ejb, EJB 2.0: TransactionRolledbackLocalException
relationships and, EJB 2.0 CMP: Entity Relationships, Cascade Delete and Remove
source code for, Software and Versions, EJB 1.1: Getting Set Up for the TravelAgent EJB
technologies addressed by, Introduction, Component Transaction Monitors
Version1.1, Software and Versions
container-managed persistence and, A Note for EJB 2.0 Readers, Deployment Descriptor
Version2.0, Software and Versions
asynchronous messaging and, EJB 2.0: Asynchronous Messaging, Message-driven beans, EJB 2.0: Asynchronous Enterprise Messaging
home methods and, EJB 2.0: Home methods
interoperability and, EJB 2.0: Primary Services and Interoperability
local interface and, Classes and Interfaces, EJB 2.0: The Local Client API, Are Local Component Interfaces Necessary?, EJB 2.0: Local component interfaces
MDBs and, Message-driven beans, EJB 2.0: What about message-driven beans? , EJB 2.0: Accessing EJB with Message-Driven Beans, Message-Driven Beans, Transitioning out of the Method-Ready Pool: The death of an MDB instance
EJB client view (see client view)
EJB home, The EJB home
(see also EJBHome interface)
EJB object, The EJB home
(see also EJBObject interface)
EJB Query Language (EJB QL), EJB 2.0 CMP: EJB QL, Limited Functional Expressions
elements/queries (see entries at query)
examples of, EJB QL Examples , The WHERE Clause and Functional Expressions
statements (see statements)
weaknesses of, Problems with EJB QL, Limited Functional Expressions
EJB references, stateful session beans and, JNDI ENC and EJB references, EJB 2.0: Local EJB references in the JNDI ENC
EJB server (see servers, EJB)
ejb-jar file, The ejb-jar File
ejb-jar.xml file, cabin.jar: The JAR File
EJB-to-CORBA mapping, Distributed Objects
ejbActivate( ), The Activation Mechanism, ejbPassivate( ) and ejbActivate( ), Transitioning from the Pooled state to the Ready state via activation, Passivated State
EJBContext interface, The Bean-Container Contract, Overview of state transitions, EJBContext, EJBContext, EJBContext
rollback methods and, EJBContext Rollback Methods
stateless session beans and, EJBContext
ejbCreate( ), EJB 2.0 and 1.1: The bean class, Creating and finding beans, ejbCreate( ), ejbCreate( ) and ejbPostCreate( ) Sequence of Events
BMP entity beans and, The ejbCreate( ) Method
CMP entity beans and, The CustomerBean
EJB 1.1 and, A Note for EJB 2.0 Readers, The Create Methods
ejbPostCreate( ) vs., Abstract programming model
MDBs and, Transitioning to the Method-Ready Pool
return values and, The CustomerBean
stateful session beans and, TravelAgentBean: The bean class
stateless session beans and, Transitioning to the Method-Ready Pool
ejbCreateAddress( ), Relationship Fields
EJBException, EJBException
callback methods and, Exception Handling
EJBLocalObject and, The Local Interface
ejbFind( ), The ejbFind( ) Methods, The ejbFind( ) Methods
ejbFindByCapacity( ), The ejbFind( ) Methods
ejbFindByPrimaryKey( ), The ejbFind( ) Methods
EJBHome interface, Classes and Interfaces, The remote home interface, EJB Objects and EJB Home, Deploying a bean, The Remote Home Interface, Getting the EJBHome, EJBHome
(see also home interface)
Java RMI-IIOP and, Java RMI return types, parameters, and exceptions
reference to, finding, TravelAgentBean: The Bean Class
stateless session beans and, ProcessPaymentHomeRemote: The home interface
ejbHome( ), EJB 2.0: ejbHome( )
ejbLoad( ), The Bean-Container Contract
BMP entity beans and, The ejbLoad( ) and ejbStore( ) Methods, The ejbLoad( ) and ejbStore( ) Methods
Ready state and, Life in the Ready State
using, Using ejbLoad( ) and ejbStore( ) in Container-Managed Persistence, Using ejbLoad( ) and ejbStore( ) in Bean-Managed Persistence
EJBLocalHome interface, The Local Home Interface, EJB 2.0: Local component interfaces, EJB 2.0: EJBLocalHome
EJBLocalObject interface, The EJB object, The Local Interface, Relationship Fields, EJB 2.0: EJBLocalObject
container-managed relationships and, Abstract Persistence Schema, Abstract programming model
EJBMetaData interface, Explicit narrowing using PortableRemoteObject, Bean metadata, EJBMetaData
session beans and, ProcessPaymentHomeRemote: The home interface
EJBObject interface, EJB Objects and EJB Home, Deploying a bean, EJBObject, Handle, and Primary Key, Inside the Handle, EJBObject
defining, EJBObject, Handle, and Primary Key
HomeHandle object and, The HomeHandle
Java RMI-IIOP and, Java RMI return types, parameters, and exceptions
workbook exercise for, Inside the Handle
ejbPassivate( ), The Activation Mechanism, ejbPassivate( ) and ejbActivate( ), Transitioning from the Ready state to the Pooled state via removal
ejbRemove( ) and, ejbRemove( )
ejbPostCreate( ), EJB 2.0 and 1.1: The bean class, Creating and finding beans, ejbCreate( ), ejbCreate( ) and ejbPostCreate( ) Sequence of Events
CMP entity beans and, The CustomerBean
EJB 1.1 and, A Note for EJB 2.0 Readers
ejbCreate( ) vs., Abstract programming model
ejbRemove( ), ejbRemove( ), Transitioning from the Ready state to the Pooled state via removal, MessageDrivenBean interface
BMP entity beans and, The ejbRemove( ) Method
stateless session beans and, Transitioning to the Method-Ready Pool
ejbSelect naming convention, Select Methods
ejbSelect( ), Select Methods
ejbSelectAll( ), Select Methods
ejbSelectByCity( ), The WHERE Clause and Input Parameters
ejbSelectCity(AddressLocal addr), Select Methods
ejbSelectCustomer( ), Select Methods
ejbSelectZipCodes( ), Select Methods
ejbStore( ), The Bean-Container Contract
BMP entity beans and, The ejbLoad( ) and ejbStore( ) Methods, The ejbLoad( ) and ejbStore( ) Methods
Ready state and, Life in the Ready State
using, Using ejbLoad( ) and ejbStore( ) in Container-Managed Persistence, Using ejbLoad( ) and ejbStore( ) in Bean-Managed Persistence
element, EJB 2.0 and 1.1: Elements of the XML deployment descriptor, Role-driven access control, EJB 2.0: The runAs security identity, EJB 2.0: The runAs security identity, EJB 2.0 and 1.1: Defining the XML elements, EJB 2.0 and 1.1: Defining the XML elements, The XML Deployment Descriptor, Abstract Persistence Schema, Abstract Persistence Schema, Abstract persistence schema, Declaring EJB QL , Select Methods, Obtaining a Resource Connection, XML deployment descriptor, <message-selector>, Selecting recipients for a catalog mailing, <acknowledge-mode>, <message-driven-destination>, Setting a transaction attribute, Explicit Transaction Management, The Descriptor’s Body, Describing Enterprise Beans, Security Roles, Session and Entity Beans, Message-Driven Beans, Environment Entries, Remote references, EJB 2.0: Local references , References to External Resources, EJB 2.0: Additional administered objects, EJB 2.0: Shareable resources, Security Roles, Declaring EJB QL Elements, EJB 2.0: Describing Relationships, Describing Bean Assembly, Specifying a Bean’s Transaction Attributes, Specifying Security Roles and Method Permissions, EJB 2.0: The runAs security identity, EJB 2.0: The runAs security identity, EJB 2.0: Exclude list, Identifying Specific Methods, Specific method declarations, Remote/home/local differentiation
abstract persistence schema and, Abstract Persistence Schema
adding to XML deployment descriptor, EJB 2.0: Describing Relationships, EJB 2.0: Describing Relationships
CDATA sections and, Message-Driven Beans
declaring, Declaring EJB QL Elements, Declaring EJB QL Elements
element and, EJB 2.0 and 1.1: Defining the XML elements, XML deployment descriptor, The Descriptor’s Body, Describing Bean Assembly, Remote/home/local differentiation
elements nested within, Session and Entity Beans
find methods and, Find Methods
identified in XML documents, The Document Header
in element, Session and Entity Beans, Message-Driven Beans, Remote references, References to External Resources, Security Roles, Specifying Security Roles and Method Permissions, Identifying Specific Methods
JMS and, XML deployment descriptor
local EJB references and, EJB 2.0: Local EJB references in the JNDI ENC
MDBs and, XML deployment descriptor, <message-driven-destination>
security roles and, Assigning roles to methods, EJB 2.0: Exclude list
select methods and, Select Methods
sharing resources and, EJB 2.0: Shareable resources
single-field primary keys and, Single-Field Primary Keys
values of, The XML Deployment Descriptor
ENC (see JNDI ENC)
encapsulation
of business logic into business objects, Server-Side Components
primary key data and, Primary key
stateful session beans and, The Stateful Session Bean
enterprise archive (.ear) files, J2EE Fills in the Gaps
enterprise beans, The Enterprise Bean Component, Summary
accessing from client applications, Creating a Client Application
activating, The Activation Mechanism, The Activation Mechanism
assembling into applications, Describing Bean Assembly, Remote/home/local differentiation
co-located, EJB 2.0: The Local Client API, The Local Home Interface
containers and, The Bean-Container Contract
creating, Developing an Entity Bean, Creating a Client Application, Creating and finding beans
deploying, Deploying a bean
describing, Describing Enterprise Beans, Declaring EJB QL Elements
element and, Describing Enterprise Beans, Security Roles
finding, Locating Beans with JNDI, Locating Beans with JNDI, Creating and finding beans
identity, comparing for, Comparing beans for identity
interacting with other beans, TravelAgentBean: The Bean Class
nontransactional, Nontransactional Beans
passivating, The Activation Mechanism, The Activation Mechanism
removing, Removing beans, Removing beans, Removing beans
signing on to connection factory, References to External Resources
source code, downloading, EJB 1.1: Getting Set Up for the TravelAgent EJB
state and sequence diagrams for, State and Sequence Diagrams, Interactions Between Exceptions and Transactions
using, Using Enterprise Beans, EJB 2.0: Accessing EJB with Message-Driven Beans
“EJB” acronym for, Naming conventions
Enterprise JavaBeans (see EJB)
Enterprise JavaBeans Query Language (see EJB Query Language)
Enterprise Resource Planning (ERP), Undefined Primary Keys
EnterpriseBean interface, EnterpriseBean
entity beans, The Enterprise Bean Component, EJB Objects and EJB Home
bean-managed persistence and (see BMP entity beans)
concurrency and, Concurrency with session and entity beans, Reentrance
containers and, The Entity-Container Contract, End of the Life Cycle
create methods not implemented for, Entity Beans Without Create Methods
creating, Developing an Entity Bean, Creating a new Cabin EJB, Creating and finding beans
deploying, Deploying the Cabin EJB
element and, Session and Entity Beans
emulated by session beans, Avoid Emulating Entity Beans with Session Beans
finding, Creating and finding beans
getting information from, Getting Information from an Entity Bean
interactions between exceptions and transactions (synoptic table), Application exceptions, Application exceptions
JMS messages and, Entity and Session Beans Should Not Receive Messages
life cycle of, The Life Cycle of an Entity Bean, End of the Life Cycle
state diagram for, Entity Beans
listing behavior and, Listing Behavior, Implementing lists as ResultSets
vs. MDBs, Message-Driven Beans
relationships between (see relationships)
removing, Removing beans, Removing beans, Removing beans
cascade deletes and, Cascade Delete and Remove , Cascade Delete and Remove
vs. session beans, Modeling Workflow with Session Beans, Session Beans, Striking a Balance with Remote Clients
states of, The entity bean life cycle
transaction attributes and, Specifying a Bean’s Transaction Attributes
types of, Overview
workbook exercise for, Creating a new Cabin EJB
entity objects, passing by value, Entity Objects
EntityBean interface, The Bean-Container Contract, EntityBean
callback methods and, EJB 2.0 and 1.1: The bean class, The Callback Methods
CMP entity beans and, The CustomerBean
implementing, Implementing the javax.ejb.EntityBean Interface
EntityContext interface, The Bean-Container Contract, EntityContext , JNDI ENC, EntityContext
Enumeration type, The find methods
EJB 2.0 and, The ejbFind( ) Methods
environment entries, Environment Entries
environment naming context (see JNDI ENC)
environment properties, accessing, JNDI ENC: Accessing environment properties
equality comparisons, The WHERE Clause and Equality Semantics
equals( ), Compound Primary Keys
vs. isIdentical( ), Comparing beans for identity
ERP (Enterprise Resource Planning), Undefined Primary Keys
escape character (), The WHERE Clause and LIKE
exceptions, Exceptions, Exceptions
(see also application exceptions; system exceptions; subsystem exceptions)
bean-managed persistence and, Exception Handling
runtime, Exception Handling
stateless session beans and, ProcessPaymentRemote: The remote interface, ProcessPaymentHomeRemote: The home interface
transactions and, Exceptions and Transactions, Application exceptions
summary of interactions between (table), Application exceptions, Application exceptions
unchecked, The Local Interface
exclusive write locks, Database Locks
exercises, Choosing and Setting Up an EJB Server
downloading workbooks for, Software and Versions, Choosing and Setting Up an EJB Server
explicit narrowing, Explicit narrowing using PortableRemoteObject, Explicit narrowing using PortableRemoteObject
explicit transaction management, Declarative Transaction Management, Explicit Transaction Management, EJBContext Rollback Methods
caution with, Explicit Transaction Management
Extensible Markup Language (see entries atXML)

F

fields
persistence (see persistence fields)
relationship, The Abstract Programming Model, Relationship Fields, Relationship Fields
FIFO (first in, first out) strategy, Instance swapping
finalize( ), End of the Life Cycle
find methods, EJB 2.0 and 1.1: The callback methods, Creating and finding beans, Creating and finding beans, EJB 2.0 CMP: EJB QL, Find Methods
bean-managed persistence and, The ejbFind( ) Methods, The ejbFind( ) Methods
CMP entity beans and, The Remote Home Interface
custom, EJB 2.0 CMP: EJB QL
EJB 1.1. and, The find methods
multi-entity, Find Methods
transaction attributes and, Specifying a Bean’s Transaction Attributes
findByCapacity( ), The ejbFind( ) Methods
findByGoodCredit( ), Find Methods
findByName( ), Find Methods
query elements and, Declaring EJB QL
findByPrimaryKey( ), The remote home interface, CabinHome: The Remote Home Interface, EJB 2.0 and 1.1: The callback methods, EJB 2.0 CMP: EJB QL, Find Methods
BMP entity beans and, The ejbFind( ) Methods
CMP entity beans and, The Remote Home Interface
FinderException, Application exceptions, FinderException
query methods and, Find Methods
fine-grained abstraction, Modeling Workflow with Session Beans
firewalls, e-commerce and, Web Components and EJB
first tier, Distributed Objects
foreign keys, Relational database schema
format validation, Validation Rules in Dependent Objects
forms, requests for, Servlets
Forte IDE (Sun Microsystems), Setting Up Your Java IDE
FROM clause, Simple Queries
fully qualified class names, XML deployment descriptor elements and, EJB 2.0 and 1.1: Elements of the XML deployment descriptor
functional expressions
support for limited in EJBQL, Limited Functional Expressions
WHERE clause and, The WHERE Clause and Functional Expressions

G

get methods (see set and get methods)
get( ), Abstract Persistence Schema, EJB 2.0: Describing Relationships
getAge( ), Rolling Your Own Distributed Object
getCallerPrincipal( ), EJBContext, MessageDrivenContext
getConnection( ), Obtaining a Resource Connection, ProcessPaymentBean: The bean class
getCustomers( ), Abstract programming model
getEJBHome( ), Getting the EJBHome
EJBContext interface and, EJBContext
EJBMetaData interface and, Explicit narrowing using PortableRemoteObject
HomeHandle interface and, Explicit narrowing using PortableRemoteObject
MDBs and, MessageDrivenContext
getEJBLocalHome( ), The Local Interface
EJBContext interface and, EJBContext
MDBs and, MessageDrivenContext
getEJBMetaData( ), Bean metadata
getEJBObject( ), Explicit narrowing using PortableRemoteObject, The enterprise bean Handle
BMP entity beans and, The ejbFind( ) Methods
getEnvironment( ), EJBContext, Environment Entries
replaced with JNDI ENC, EJBContext
getHandle( ), The enterprise bean Handle
getHome( ), JNDI ENC and EJB references
getHomeAddress( ), Relationship Fields
getHomeHandle( ), The HomeHandle
getId( ), EJB 2.0: The bean class
getInitialContext( ), Creating a Client Application, Locating Beans with JNDI
getName( ), Rolling Your Own Distributed Object
CMP entity beans and, Dependent Value Classes
getObject( ), The reservation message producer
getPhoneNumbers( ), Abstract programming model, Abstract programming model
getPrimaryKey( ), The Local Interface
BMP entity beans and, The ejbFind( ) Methods
EJBObject interface and, Primary key
EntityContext interface and, EntityContext
stateless session beans and, ProcessPaymentRemote: The remote interface
getPrimaryKeyClass( ), ProcessPaymentHomeRemote: The home interface
getRollbackOnly( ), EJBContext Rollback Methods
getStatus( ), UserTransaction, Status
getters (see set and get methods)
getUserTransaction( ), EJB 1.1: TravelAgentBean
granularity, Improved Performance with Session Beans
graphical deployment wizards, Deploying the Cabin EJB
graphical user interfaces (see GUIs)
greater than (>), The WHERE Clause and CDATA Sections
GUIs (graphical user interfaces)
component models and, Benefits of a Standard Server-Side Component Model
in three-tier architectures, Distributed Objects

H

Handle interface, Explicit narrowing using PortableRemoteObject, The enterprise bean Handle, Handle
HandleDelegate interface, HandleDelegate
Handles, The enterprise bean Handle, Inside the Handle
container technology changes and, The enterprise bean Handle
Handle interface and, Explicit narrowing using PortableRemoteObject, The enterprise bean Handle, Handle
HomeHandle interface and, Explicit narrowing using PortableRemoteObject, HomeHandle, HomeHandle
vs. primary keys, The enterprise bean Handle
removing enterprise beans with, Removing beans
sample implementation of, Inside the Handle
serializing/deserializing, The enterprise bean Handle
stateful session beans and, ProcessPaymentRemote: The remote interface
stateless session beans and, ProcessPaymentRemote: The remote interface
workbook exercise for, Inside the Handle
hash codes in compound primary keys, Hash Codes in Compound Primary Keys
hashCode( ), Compound Primary Keys
overriding, Hash Codes in Compound Primary Keys
heuristic decisions, Heuristic Decisions
home address vs. billing address, Abstract programming model
home interface, ProcessPaymentHomeRemote: The home interface
(see also remote home interface)
CreateException and, CreateException
stateful session beans and, TravelAgentHomeRemote: The home interface
stateless session beans and, ProcessPaymentHomeRemote: The home interface
home methods, EJB 2.0: Home methods, EJB 2.0: ejbHome( )
HomeHandle interface, Explicit narrowing using PortableRemoteObject, HomeHandle, HomeHandle
HomeHandle object, The HomeHandle
HTML vs. XML, What Is an XML Deployment Descriptor?
HTTP/HTTPS requests, J2EE support for, Guaranteed Services

I

IBM products
MQSeries, Java Message Service
JMS and, JMS as a Resource
VisualAge IDE, Setting Up Your Java IDE
WebSphere, Setting Up Your Java IDE
icon elements, The Descriptor’s Body
identity, Transaction Processing Monitors, Object Request Brokers, Comparing beans for identity
(see also security identities)
IDEs (integrated development environments), Deployment Descriptors and JAR Files
vendors of, Setting Up Your Java IDE
IDL (Interface Definition Language), CORBA and, Distributed Objects
IIOP (Internet-Inter-Operability Protocol), EJB and CORBA CTMs
(see also Java-RMI IIOP)
firewalls and, Web Components and EJB
IllegalArgumentException, Abstract programming model
IllegalStateException, Abstract programming model, EntityContext , EJBContext
implementation class (see bean class)
implementation independence, Introduction
standard server-side component model and, Benefits of a Standard Server-Side Component Model
implicit transaction management, Explicit Transaction Management
using transaction attributes and, Transaction Attributes
IN operator
FROM clause and, The IN Operator
WHERE clause and, The WHERE Clause and IN
IncompleteConversationalState exception, Exceptions, TravelAgent: The remote interface
initial context, Locating Beans with JNDI
InitialContext class, client components and, J2EE Application Client Components
InitialContext object, Locating Beans with JNDI
input parameters
LIKE operator and, The WHERE Clause and LIKE
WHERE clause and, The WHERE Clause and Input Parameters
instance pooling, Instance Pooling, EJB 2.0: Message-driven beans and instance pooling
MDBs and, The Life Cycle of a Message-Driven Bean
stateful session beans and, The Life Cycle of a Stateful Session Bean
stateless session beans and, The Life Cycle of a Stateless Session Bean
instance swapping, Overview of state transitions, Instance swapping
stateful session beans and, The Life Cycle of a Stateful Session Bean
stateless session beans and, Life in the Method-Ready Pool
instance variables, stateless session beans and, The Stateless Session Bean
integrated development environments, Deployment Descriptors and JAR Files
interfaces (see component interfaces)
Internet-Inter-Operability Protocol (see IIOP)
interoperability, EJB 2.0: Primary Services and Interoperability
interprocess components, Component Models
intra-instance method invocation, Reentrance
intraprocess components, Component Models
IS EMPTY operator, The WHERE Clause and IS EMPTY
IS NULL comparison operator, The WHERE Clause and IS NULL
isCallerInRole( ), EJBContext, MessageDrivenContext, Security Roles
isIdentical( ), Comparing beans for identity, The Local Interface
isolation conditions, Dirty, Repeatable, and Phantom Reads, Phantom reads
isolation levels, Transaction Isolation Levels, Controlling isolation levels
controlling, Controlling isolation levels
isolation of transactions, ACID Transactions, Is the TravelAgent EJB Isolated?
Iterator.remove( ), Abstract programming model

J

J2EE (see Java 2, Enterprise Edition)
J2EE Connector Architecture (JCA), J2EE support for, Guaranteed Services
JAAS (Java Authentication and Authorization Service), J2EE support for, Guaranteed Services
JAF (Java Activation Framework), J2EE support for, Guaranteed Services
JAR files, Deployment Descriptors and JAR Files
cabin.jar and, cabin.jar: The JAR File
CMP entity beans and, The EJB JAR File
deploying multiple enterprise beans in, Describing Enterprise Beans, Describing Enterprise Beans
ejb-jar file and, The ejb-jar File
entity beans and, Deploying the Cabin EJB
session beans and, Deploying the TravelAgent EJB
zipping/unzipping, cabin.jar: The JAR File
jar utility, cabin.jar: The JAR File, The ejb-jar File
Java, What Is Enterprise JavaBeans?, Server-Side Components
event model for, Transaction Processing Monitors
platform independence and, Introduction
Java 2, Enterprise Edition (J2EE), Java 2, Enterprise Edition, Future Enhancements
application client component, J2EE Application Client Components
future enhancements for, Future Enhancements
guaranteed services and, Guaranteed Services
SDK server, Deploying the Cabin EJB
Java Activation Framework (JAF), J2EE support for, Guaranteed Services
Java API for XML Parsing (JAXP), J2EE support for, Guaranteed Services
Java archive files (see JAR files)
Java Authentication and Authorization Service (JAAS), J2EE support for, Guaranteed Services
Java Database Connectivity (see JDBC)
Java IDEs (see IDEs)
Java Message Service (see JMS)
Java Naming and Directory Interface (see JNDI)
Java Remote Method Protocol (JRMP), Distributed Objects , Distributed Objects
Java RMI, Distributed Objects, Distributed Objects , Distributed Objects
Java RMI-IIOP, The remote interface, Distributed Objects , Java RMI-IIOP, Explicit narrowing using PortableRemoteObject
J2EE support for, Guaranteed Services
programming model for, Java RMI return types, parameters, and exceptions, Exceptions
restrictions, Java RMI-IIOP type restrictions
Java RMI-JRMP, J2EE support for, Guaranteed Services
Java Transaction API (see JTA)
Java Transaction Service (JTS), Explicit Transaction Management
java.rmi.RemoteException, The Remote Interface
JavaBeans vs. EJB, Component Models
JavaIDL, J2EE support for, Guaranteed Services
JavaMail API, EJB and CORBA CTMs
J2EE support for, Guaranteed Services
JavaServer Pages (JSP), Java 2, Enterprise Edition, JavaServer Pages
J2EE support for, Guaranteed Services
javax.ejb package, Package: javax.ejb, EJB 2.0: TransactionRolledbackLocalException
including with IDE, Setting Up Your Java IDE
javax.ejb.spi package, EJB 2.0: Package: javax.ejb.spi
javax.jms package, EJB 2.0: Package: javax.jms
JBuilder IDE (Borland), Setting Up Your Java IDE
JCA (J2EE Connector Architecture), J2EE support for, Guaranteed Services
JDBC (Java Database Connectivity), What Is Enterprise JavaBeans?, EJB and CORBA CTMs
J2EE support for, Guaranteed Services
obtaining connection to, ProcessPaymentBean: The bean class
JMS (Java Message Service), What Is Enterprise JavaBeans?, Java Message Service, EJB 2.0: Asynchronous Enterprise Messaging , JMS as a Resource, Learning More About JMS
client application for, JMS application client, JMS application client
element and, <acknowledge-mode>
J2EE support for, Guaranteed Services
messaging models for, JMS Messaging Models: Publish-and-Subscribe and Point-to-Point , Which messaging model should you use?
workbook exercise for, JMS application client
JMS connection factories, TopicConnectionFactory and Topic
JMS providers, JMS as a Resource
connecting to, TopicConnectionFactory and Topic
JMSReplyTo attribute, Sending messages from a message-driven bean
JNDI (Java Naming and Directory Interface), What Is Enterprise JavaBeans?, EJB and CORBA CTMs
(see also JNDI ENC)
authentication and, Security
finding enterprise beans with, Locating Beans with JNDI, Locating Beans with JNDI
J2EE support for, Guaranteed Services
naming service and, Naming
packages for, Setting Up Your Java IDE
service providers (drivers) for, Locating Beans with JNDI
JNDI ENC, The Bean-Container Contract, Overview of state transitions, TravelAgentBean: The Bean Class, Obtaining a Resource Connection, JNDI ENC
getEnvironment( ) and, EJBContext
MDBs and, MessageDrivenContext, <message-driven-destination>
stateful session beans and, JNDI ENC and EJB references
stateless session beans and, JNDI ENC: Accessing environment properties
TravelAgent EJB and, TopicConnectionFactory and Topic
JRMP (Java Remote Method Protocol), Distributed Objects , Distributed Objects
JSP (see JavaServer Pages)
JTA (Java Transaction API), What Is Enterprise JavaBeans?
explicit transaction management and, Transaction Scope, Explicit Transaction Management
J2EE servers, required access to, Guaranteed Services
JTS (Java Transaction Service), Explicit Transaction Management

L

latency, Network Traffic and Latency with Remote Clients
layers, Distributed Objects
legacy persistence, Legacy persistence
LENGTH string function, The WHERE Clause and Functional Expressions
less than (<), The WHERE Clause and CDATA Sections
life cycle, The entity bean life cycle
end of, End of the Life Cycle
of entity beans, The Life Cycle of an Entity Bean, End of the Life Cycle
of MDBs, The Life Cycle of a Message-Driven Bean
of stateful session beans, The Life Cycle of a Stateful Session Bean, System exceptions, Transactional Stateful Session Beans
of stateless session beans, The Life Cycle of a Stateless Session Bean, Transitioning out of the Method-Ready Pool: The death of a stateless bean instance
life-cycle methods, Classes and Interfaces, The Local Home Interface
LIFO (last in, first out) strategy, Instance swapping
LIKE comparison operator, The WHERE Clause and LIKE
listAvailableCabins( ), listAvailableCabins( ): Listing behavior, listAvailableCabins( ): Listing behavior
listing behavior, listAvailableCabins( ): Listing behavior, listAvailableCabins( ): Listing behavior, Listing Behavior, Implementing lists as ResultSets
literals, The WHERE Clause and Literals
Local Client API, EJB 2.0: The Local Client API, Are Local Component Interfaces Necessary?
local home interface, Classes and Interfaces, The Local Home Interface
EJB1.1 and, The find methods
element and, EJB 2.0 and 1.1: Elements of the XML deployment descriptor, Session and Entity Beans
workbook exercise for, Using the Local Client API
local interface, Classes and Interfaces, The Remote Client API, Java RMI-IIOP, EJB 2.0: The Local Client API, Are Local Component Interfaces Necessary?
bean class and, EJB 2.0: Why the Bean Class Should Not Implement the Local Interface
EJB 1.1 and, The find methods
element and, Session and Entity Beans
stateless session beans and, EJB 2.0: Local component interfaces
suffixes and, Naming conventions
workbook exercise for, Using the Local Client API
local references, EJB 2.0: Local references
LOCATE string function, The WHERE Clause and Functional Expressions
location transparency, Rolling Your Own Distributed Object, Distributed Objects
J2EE application client components and, J2EE Application Client Components
logical operators, The WHERE Clause and Operator Precedence
WHERE clause and, The WHERE Clause and Logical Operators
lookup APIs, Naming
lookup( ), Explicit narrowing using PortableRemoteObject
loopbacks, Reentrance
element and, EJB 2.0 and 1.1: Defining the XML elements, The XML Deployment Descriptor, Session and Entity Beans

M

main( ), Removing beans
managed objects, Microsoft’s .NET Framework
Mandatory transaction attribute, Transaction attributes defined
Manes, Anne, Component Transaction Monitors
many-to-many bidirectional relationship, Many-to-Many Bidirectional Relationship, Abstract persistence schema
many-to-many unidirectional relationship, Many-to-Many Unidirectional Relationship, Abstract persistence schema
many-to-one unidirectional relationship, Many-to-One Unidirectional Relationship, Abstract persistence schema
MapMessage, Message types, The reservation message producer
mapping, Object-to-relational persistence
MDBs (message-driven beans), Message-driven beans, The Enterprise Bean Component, Classes and Interfaces, Message-Driven Beans, Transitioning out of the Method-Ready Pool: The death of an MDB instance
accessing EJB with, EJB 2.0: Accessing EJB with Message-Driven Beans
concurrency and, EJB 2.0: Concurrency with message-driven beans
container and, The Bean-Container Contract, The Container-Server Contract
conversational state and, EJB 2.0: Accessing EJB with Message-Driven Beans
EJB 2.0 and, EJB 2.0: What about message-driven beans?
element and, Message-Driven Beans
vs. entity and session beans, Message-Driven Beans
explicit transaction management and, Explicit Transaction Management
instance pooling and, EJB 2.0: Message-driven beans and instance pooling
interactions between exceptions and transactions (synoptic table), Application exceptions
life cycle of, The Life Cycle of a Message-Driven Bean
sending messages from, Sending messages from a message-driven bean
transaction attributes and, EJB 2.0: Message-driven beans and transaction attributes
medical systems transactions, ACID Transactions
MEMBER OF operator, The WHERE Clause and MEMBER OF
message brokers, JMS as a Resource
message types, Message types
message-driven beans (see MDBs)
message-oriented middleware (see MOM)
MessageDrivenBean interface, The Bean-Container Contract, MessageDrivenBean interface
MessageDrivenContext interface, The Bean-Container Contract, MessageDrivenBean interface, MessageDrivenContext, Transitioning to the Method-Ready Pool
MessageListener interface, JMS application client, MessageListener interface, MessageListener
messaging, Transaction Processing Monitors, EJB 2.0: Asynchronous Messaging
(see also asynchronous messaging)
models for in JMS, JMS Messaging Models: Publish-and-Subscribe and Point-to-Point , Which messaging model should you use?
sending messages from MDBs, Sending messages from a message-driven bean
store-and-forward, <message-driven-destination>
messaging domains, JMS Messaging Models: Publish-and-Subscribe and Point-to-Point
META-INF directory, cabin.jar: The JAR File, The ejb-jar File
metadata, Bean metadata
EJBMetaData interface and, EJBMetaData
session beans and, ProcessPaymentHomeRemote: The home interface
method arguments, The WHERE Clause and Input Parameters
method overloading, Java RMI-IIOP type restrictions
method permissions, specifying, Specifying Security Roles and Method Permissions, EJB 2.0: Exclude list
Method-Ready Pool
MBDs and, The Method-Ready Pool
MDBs and, The Life Cycle of a Message-Driven Bean
stateless session beans and, The Life Cycle of a Stateless Session Bean, The Method-Ready Pool, Transitioning out of the Method-Ready Pool: The death of a stateless bean instance
Method-Ready state, Method-Ready State, The Transactional Method-Ready State
(see also Transactional Method-Ready state)
methods
accessor, Abstract Persistence Schema
business, Classes and Interfaces
for creating and finding enterprise beans, Creating and finding beans, Creating and finding beans
life-cycle, Classes and Interfaces, The Local Home Interface
select (see select methods)
specifying, Identifying Specific Methods, Remote/home/local differentiation
unchecked, EJB 2.0: Unchecked methods, EJB 2.0: Unchecked methods, EJB 2.0: Unchecked methods
Microsoft products
.NET Framework, Distributed Objects, Microsoft’s .NET Framework
CTMs and, Microsoft’s .NET Framework
MTS, Microsoft’s .NET Framework
ODBC, EJB and CORBA CTMs
Microsoft Transaction Server (MTS), Microsoft’s .NET Framework
middle tier, Distributed Objects
MOM (message-oriented middleware), Component Transaction Monitors
for asynchronous messaging, EJB 2.0: Asynchronous Messaging
MQSeries (IBM), Java Message Service
JMS and, JMS as a Resource
MTS (Microsoft Transaction Server), Microsoft’s .NET Framework
multi-entity find methods, Find Methods
multi-entity select methods, Select Methods
multiple-bean deployment, Describing Enterprise Beans, Describing Enterprise Beans
multiplicity, Abstract Persistence Schema, One-to-Many Unidirectional Relationship, Abstract programming model
class diagram depicting, EJB QL Examples
element and, EJB 2.0: Describing Relationships
mutators (see set and get methods)

N

n-tier architectures, Distributed Objects
named declarations, Named method declarations
names
element and, EJB 2.0 and 1.1: Elements of the XML deployment descriptor, Session and Entity Beans, Environment Entries, EJB 2.0: Local references , References to External Resources, Security Roles, Declaring EJB QL Elements, EJB 2.0: Describing Relationships, Specifying a Bean’s Transaction Attributes
naming (primary service), Naming, Locating Beans with JNDI
naming conventions
accessor methods and, Set and Get Methods
ejbSelect and, Select Methods
for suffixes used with create method names, Creating and finding beans
narrow( ), Explicit narrowing using PortableRemoteObject, Explicit narrowing using PortableRemoteObject
navigation operator, The WHERE Clause and Operator Precedence
network communication layer, Distributed Object Architectures
network connections, reducing with session beans, Modeling Workflow with Session Beans
network messaging, Transaction Processing Monitors
network traffic, Network Traffic and Latency with Remote Clients
reducing with session beans, Modeling Workflow with Session Beans
Never transaction attribute, Transaction attributes defined
newInstance( ), The Pooled State
MDBs and, Transitioning to the Method-Ready Pool
no state, The entity bean life cycle
no-argument constructor, Compound Primary Keys
NonDurable value, <message-driven-destination>
nonreentrance, Reentrance
nonrepeatable reads, Repeatable reads
nontransactional enterprise beans, Nontransactional Beans
NoSuchEntityException, NoSuchEntityException
NOT operator, The WHERE Clause and Logical Operators, The WHERE Clause and LIKE
notifications, EJB 2.0 and 1.1: The bean class
NotSupported transaction attribute, Transaction attributes defined, Nontransactional Beans

O

object bindings, Naming
Object class, Comparing beans for identity
object database persistence, Object database persistence
object ID (OID), Primary key
Object Management Group (see OMG)
Object Request Brokers (see ORBs)
object serialization
bean instance activation and, Passivated State
Handles and, The enterprise bean Handle
object transaction monitors (see CTMs)
Object Transaction Service (OTS), Explicit Transaction Management
Object type, primary keys and, Undefined Primary Keys
OBJECT( ) operator, Simple Queries, The IN Operator, The OBJECT( ) Operator
object-oriented databases, persistence and, Object database persistence
object-oriented programming languages, Server-Side Components
RMI and, Transaction Processing Monitors
object-to-relational database mapping wizards, Object-to-relational persistence, EJB 1.1: Object-to-Relational Mapping Tools
direct database access and, Direct Database Access from Session Beans
object-to-relational persistence, Object-to-relational persistence
ObjectMessage, Message types
ObjectNotFoundException, The ejbFind( ) Methods, Application exceptions, ObjectNotFoundException
find methods and, Find Methods
ODBC (Microsoft), EJB and CORBA CTMs
OID (object ID), Primary key
OMG (Object Management Group), EJB and CORBA CTMs
CORBA-compliant ORBs and, Primary Services
one-to-many bidirectional relationship, One-to-Many Bidirectional Relationship, Abstract persistence schema
one-to-many unidirectional relationship, One-to-Many Unidirectional Relationship, Abstract persistence schema
one-to-one bidirectional relationship, One-to-One Bidirectional Relationship, Abstract persistence schema
one-to-one unidirectional relationship, One-to-One Unidirectional Relationship, Abstract persistence schema
online book order transactions, ACID Transactions
onMessage( ), The Bean-Container Contract, JMS application client, The ReservationProcessorBean Class, MessageListener interface
business-to-business applications and, The onMessage( ) method: Workflow and integration for B2B, The onMessage( ) method: Workflow and integration for B2B
open connections, Transitioning to the Method-Ready Pool
operator precedence, WHERE clause and, The WHERE Clause and Operator Precedence
OR operator, The WHERE Clause and Logical Operators
ORBs (Object Request Brokers), Rolling Your Own Distributed Object, Object Request Brokers
in application servers, Component Transaction Monitors
CTMs and, CTMs: The Hybrid of ORBs and TP Monitors
services, defining for, Primary Services
ORDER BY clause, The Missing ORDER BY Clause
OTMs (see CTMs)
OTS (Object Transaction Service), Explicit Transaction Management
overloaded constructor, Compound Primary Keys
overloaded methods, Named method declarations

P

parameters, Return types and parameters
passing objects by value, Distributed Objects
dependent objects and, Passing Objects by Value, Entity Objects
entity objects and, Entity Objects
Passivated state, Passivated State, System exceptions
passivating enterprise beans, The Activation Mechanism, The Activation Mechanism, Transitioning from the Pooled state to the Ready state via activation
ejbPassivate( ) and, ejbPassivate( ) and ejbActivate( )
paths, simple queries with, Simple Queries with Paths, Simple Queries with Paths
PAYMENT table, PAYMENT: The database table
percent (%), The WHERE Clause and LIKE
performance
improving with session beans, Modeling Workflow with Session Beans, Improved Performance with Session Beans, Implementing lists as ResultSets
of transactions
across methods, EJB 1.1: TravelAgentBean
balancing against consistency, Balancing Performance Against Consistency
permissions, element and, Describing Bean Assembly
persistence, Persistence , Legacy persistence, Overview
(see also bean-managed persistence; container-managed persistence)
enterprise beans and, The Enterprise Bean Component
entity beans and, Overview
stateful session beans and, The Stateful Session Bean
workbook exercise for, The Client Application
persistence classes, Container Tools and Persistence
persistence fields, EJB 1.1: The CabinBean class, The Abstract Programming Model, Persistence Fields
EJB QL and, Declaring EJB QL
manipulating with bulk accessors, Bulk Accessors for Remote Clients, Rules-of-thumb for bulk accessors
persistence instances, Container Tools and Persistence
Person (sample business object), Rolling Your Own Distributed Object, Rolling Your Own Distributed Object
PersonClient (sample client), Rolling Your Own Distributed Object
PersonServer (sample distributed object), Rolling Your Own Distributed Object, Rolling Your Own Distributed Object
phantom reads, Dirty, Repeatable, and Phantom Reads, Phantom reads
phantom records, Phantom reads
Phone EJB (sample entity bean), Relational database schema, Abstract persistence schema
platform independence, Introduction
point-to-point (p2p) messaging model, Point-to-point
pointers, Relational database schema
Pooled state, The Pooled State
portability (see implementation independence)
PortableRemoteObject class, Explicit narrowing using PortableRemoteObject, Explicit narrowing using PortableRemoteObject
Pramati Application Server, Locating Beans with JNDI
mapping wizard for, Object-to-relational persistence
presentation tier, Distributed Objects
primary keys, Classes and Interfaces, The primary key, Primary key, Primary key
bean-managed persistence and, The Primary Key
compound (see compound primary keys)
container technology changes and, The enterprise bean Handle
container-managed persistence and, The XML Deployment Descriptor, Deferring primary key definition
element and, EJB 2.0 and 1.1: Elements of the XML deployment descriptor
entity beans and, The Primary Key, Undefined Primary Keys
vs. Handles, The enterprise bean Handle
MDBs and, EJB 2.0: What about message-driven beans?
removing enterprise beans with, Removing beans
serializing/deserializing, Primary key
single-field, The XML Deployment Descriptor, Single-Field Primary Keys, Single-Field Primary Keys
specifying, Specifying Primary Keys, Deferring primary key definition
stateless session beans and, ProcessPaymentRemote: The remote interface
types of, The Primary Key
undefined, Undefined Primary Keys, Undefined Primary Keys
workbook exercise for, Inside the Handle
primary services, Primary Services, EJB 2.0: Primary Services and Interoperability
primitive data types, Single-Field Primary Keys
primitive wrappers, The Primary Key, Single-Field Primary Keys, Specifying Primary Keys
Principal object, Role-driven access control
role-driven access and, Role-driven access control
tracking client identity with, EJBContext
procedural programming languages, Transaction Processing Monitors
process( ), ProcessPaymentBean: The bean class
ProcessPayment EJB (sample session bean), The ProcessPayment EJB, EJB 2.0: Local component interfaces, The ReservationProcessor EJB
producers, JMS as a Resource
programming languages
object-oriented, Server-Side Components
procedural, Transaction Processing Monitors
ProgressÕ SonicMQ messaging product, Java Message Service
properties, Cabin: The Remote Interface
set and get methods and, Set and Get Methods
property fields, EJB 1.1: The CabinBean class
property files/property sheets vs. deployment descriptors, Deployment Descriptors and JAR Files
publish-and-subscribe (pub/sub) messaging model, Publish-and-subscribe

R

Read Committed isolation level, Transaction Isolation Levels
read locks, Database Locks
Read Uncommitted isolation level, Transaction Isolation Levels
performance and, Balancing Performance Against Consistency
reads, Dirty, Repeatable, and Phantom Reads, Phantom reads
Ready state, The entity bean life cycle, The Ready State, Life in the Ready State
receive methods, Entity and Session Beans Should Not Receive Messages
receiveNoWait( ), Entity and Session Beans Should Not Receive Messages
reentrance, Reentrance, Reentrance
references, Session and Entity Beans
(see also remote references[references)
to EJB home interface, finding, TravelAgentBean: The Bean Class
element/ element and, Session and Entity Beans
to enterprise beans, References to Other Beans, EJB 2.0: Local references
to external resources, References to External Resources, EJB 2.0: Shareable resources
local, EJB 2.0: Local references
relational databases, Introduction
CTMs, as analogy for, Analogies to Relational Databases
CustomerEJB and, The Customer Table
object-to-relational persistence and, Object-to-relational persistence
relationship fields, The Abstract Programming Model, Relationship Fields, Relationship Fields
relationship name, Abstract Persistence Schema
relationships, Relationship Fields, Relationship Fields, EJB 2.0 CMP: Entity Relationships, Cascade Delete and Remove
collection-based
container-managed persistence and, EJB 2.0: Collection-Based Relationships and Transactions
IN operator and, The IN Operator
IS EMPTY operator and, The WHERE Clause and IS EMPTY
MEMBER OF operator and, The WHERE Clause and MEMBER OF
paths and, Simple Queries with Paths
describing, EJB 2.0: Describing Relationships, EJB 2.0: Describing Relationships
types of, The Seven Relationship Types
workbook exercises for, Relationship Fields, Abstract persistence schema, Abstract persistence schema
Remote Client API, The Remote Client API, Inside the Handle
remote home interface, Classes and Interfaces, The remote home interface, Java RMI-IIOP, The Remote Home Interface, EJB 2.0: Home methods
(see also Java RMI-IIOP[remote home interface)
bean-managed persistence and, The Remote Home Interface
CMP entity beans and, The Remote Home Interface, The Remote Home Interface
defining
for entity beans, CabinHome: The Remote Home Interface
for session beans, TravelAgentHomeRemote: The Remote Home Interface
element and, EJB 2.0 and 1.1: Elements of the XML deployment descriptor, Session and Entity Beans
workbook exercise for, The Remote Interface
remote interface, Classes and Interfaces, The remote interface, Java RMI-IIOP, The Remote Interface
(see also Java RMI-IIOP)
bean class and, Why the Bean Class Should Not Implement the Remote Interface, Why the Bean Class Should Not Implement the Remote Interface
BMP entity beans and, The Remote Interface
business interface and, EJB 1.1: The Business Interface Alternative
CMP entity beans and, The Remote Interface
defining, The remote interface
for entity beans, Cabin: The Remote Interface
for session beans, TravelAgentRemote: The Remote Interface
element and, EJB 2.0 and 1.1: Elements of the XML deployment descriptor, Session and Entity Beans
restrictions on, Java RMI-IIOP type restrictions
stateful session beans and, TravelAgent: The remote interface, TravelAgent: The remote interface
stateless session beans and, ProcessPaymentRemote: The remote interface, ProcessPaymentRemote: The remote interface
suffixes and, Naming conventions
workbook exercise for, The Remote Interface
Remote interface, Java RMI return types, parameters, and exceptions
Remote Method Invocation (see Java RMI entries at RMI)
remote procedure calls (RPCs), Transaction Processing Monitors
remote references, Rolling Your Own Distributed Object, Return types and parameters, Remote references
in bean-to-bean interaction, Why the Bean Class Should Not Implement the Remote Interface
comparing, Comparing beans for identity
explicit narrowing of, Explicit narrowing using PortableRemoteObject, Explicit narrowing using PortableRemoteObject
Handles, obtaining through, ProcessPaymentRemote: The remote interface
remote types, Return types and parameters
RemoteException, Exceptions, The Remote Interface
business interface and, EJB 1.1: The Business Interface Alternative
callback methods and, Exception Handling
stateless session beans and, ProcessPaymentRemote: The remote interface
remove( )
EJBHome interface and, Removing beans, Removing beans
EJBObject interface and, Removing beans
transaction attributes and, Specifying a Bean’s Transaction Attributes
RemoveException, Application exceptions, RemoveException
remove( ) and, Removing beans
removePhoneNumber( ), Abstract programming model
removing
BMP entity beans, The ejbRemove( ) Method
enterprise beans, Overview of state transitions, Removing beans, Removing beans
entity beans using cascade deletes, Cascade Delete and Remove , Cascade Delete and Remove
session beans, Removing beans, Removing beans, Removing beans
Repeatable Read isolation level, Transaction Isolation Levels
repeatable reads, Dirty, Repeatable, and Phantom Reads, Repeatable reads, Repeatable reads
Required transaction attribute, Transaction attributes defined
RequiresNew transaction attribute, Transaction attributes defined
Reservation EJB (sample entity bean), The Cruise, Ship, and Reservation EJBs, Abstract persistence schema
created by ReservationProcessor EJB, The ReservationProcessor EJB
queries and, EJB QL Examples , The WHERE Clause and Functional Expressions
reasons for using, Why use a Reservation entity bean?
ReservationProcessor EJB (sample MDB), The ReservationProcessor EJB, The ticket message consumer
client applications for, The ReservationProcessor clients, The ticket message consumer
resource factories, obtaining, Obtaining a Resource Connection
element and, Session and Entity Beans
resource management, Resource Management and the Primary Services, The Activation Mechanism
listing behavior and, Listing Behavior, Implementing lists as ResultSets
ORBs, poor support for, CTMs: The Hybrid of ORBs and TP Monitors
resources for further reading
distributed computing, Who Should Read This Book?
Enterprise JavaBeans specification, Enterprise JavaBeans Defined
Java Message Service, Learning More About JMS
JavaServer Pages, JavaServer Pages
JNDI, Locating Beans with JNDI
servlets, Servlets
XML, Role-driven access control, What Is an XML Deployment Descriptor?
resources, sharing, EJB 2.0: Shareable resources
restrictions imposed by Java RMI-IIOP, Java RMI-IIOP type restrictions
ResultSet interface, listing behavior and, Implementing lists as ResultSets
return types, Return types and parameters
RMI loop, Distributed Object Architectures, Rolling Your Own Distributed Object
RMI protocols, Distributed Object Architectures
(see also Java RMI)
vs. RPC, Transaction Processing Monitors
role-driven access control, Role-driven access control, Role-driven access control
roles, Security, EJB 2.0: The runAs security identity
rollback( ), UserTransaction
RollbackException, UserTransaction
rollbacks, Transaction Scope, Transaction Propagation
BMTs and, EJB 2.0: Message-driven beans and bean-managed transactions
database updates and, Heuristic Decisions
EJBContext interface and, EJBContext Rollback Methods
exceptions and, Exceptions and Transactions, Application exceptions
transactional stateful beans and, Transactional Stateful Session Beans
root element (), EJB 2.0 and 1.1: Elements of the XML deployment descriptor, EJB 2.0 and 1.1: Defining the XML elements
RPCs (remote procedure calls), Transaction Processing Monitors
runAs security identity, EJB 2.0: The runAs security identity, EJB 2.0: The runAs security identity, EJB 2.0: The runAs security identity
runtime behaviors
customizing with deployment descriptors, Deployment Descriptors and JAR Files
modifying at deployment in server-side components, Server-Side Components
runtime exceptions, Exception Handling

S

scope, Simple Queries
of transactions, Transaction Scope
second tier, Distributed Objects
section, EJB 2.0: Describing Relationships
secure communication, Security
Secure Socket Layer (SSL), Security
security, Security, EJB 2.0: Primary Services and Interoperability
EJBContext interface and, EJBContext
security identities, Security, Role-driven access control
element and, Session and Entity Beans
runAs, EJB 2.0: The runAs security identity, EJB 2.0: The runAs security identity, EJB 2.0: The runAs security identity
security methods, MessageDrivenContext
security roles, EJB 2.0 and 1.1: Defining the XML elements, Security Roles
CMP entity beans and, Deployment
element and, Session and Entity Beans, Describing Bean Assembly
specifying, Specifying Security Roles and Method Permissions, EJB 2.0: Exclude list
SELECT clause, Simple Queries
select methods, EJB 2.0 CMP: EJB QL, Select Methods, Select Methods
bean-managed persistence and, Bean-Managed Persistence
DISTINCT keyword and, Using DISTINCT
multi-entity, Select Methods
sequence diagrams for enterprise beans, State and Sequence Diagrams, Interactions Between Exceptions and Transactions
serializable classes, Deployment Descriptors and JAR Files
Serializable interface
persistence fields and, Persistence Fields
primary keys and, Primary key
Serializable isolation level, Transaction Isolation Levels
performance and, Balancing Performance Against Consistency
serializable objects, Return types and parameters
EJBMetaData and, Bean metadata
serializable types, Return types and parameters, Java RMI-IIOP type restrictions
server-side components, Server-Side Components
models for, Component Models
benefits/importance of standard model, Benefits of a Standard Server-Side Component Model
CTMs and, CTMs and Server-Side Component Models, Benefits of a Standard Server-Side Component Model
ORBs and, Component Transaction Monitors
servers
application, Component Transaction Monitors
containers and, Classes and Interfaces, The Container-Server Contract
direct database access and, Direct Database Access from Session Beans
EJB
choosing/setting up, Choosing and Setting Up an EJB Server
implementation independence and, Introduction
transaction management and, Transaction Propagation
vendors of (list), EJB Vendors
workbook exercises and, Example Workbooks
service providers (drivers) for JNDI, Locating Beans with JNDI
services, Primary Services, EJB 2.0: Primary Services and Interoperability
guaranteed per J2EE specification, Guaranteed Services
provided by distributed object systems, Rolling Your Own Distributed Object
servlets, Servlets, Servlets
J2EE support for, Guaranteed Services
session beans, The Enterprise Bean Component, EJB 2.0: The bean class, What about session beans? , Session Beans, System exceptions
(see also stateful session beans; stateless session beans)
concurrency and, Concurrency with session and entity beans, Reentrance
creating, Developing a Session Bean, Creating a Client Application, Creating and finding beans
direct database access and, Direct Database Access from Session Beans
element and, Session and Entity Beans
vs. entity beans, Modeling Workflow with Session Beans, Session Beans, Striking a Balance with Remote Clients
explicit transaction management and, Explicit Transaction Management
improving performance with, Improved Performance with Session Beans, Implementing lists as ResultSets
interactions between exceptions and transactions (synoptic table), Application exceptions, Application exceptions
JMS messages and, Entity and Session Beans Should Not Receive Messages
vs. MDBs, EJB 2.0: Accessing EJB with Message-Driven Beans, Message-Driven Beans
modeling workflow with, Modeling Workflow with Session Beans, Stateless and stateful session beans
removing, Removing beans, Removing beans, Removing beans
transaction attributes and, Specifying a Bean’s Transaction Attributes
using to emulate entity beans, Avoid Emulating Entity Beans with Session Beans
workbook exercise for, Creating a Client Application
SessionBean interface, The Bean-Container Contract, Transitioning to the Method-Ready Pool, SessionBean
SessionContext interface, The Bean-Container Contract, SessionContext
SessionSynchronization interface, Transactional Stateful Session Beans, SessionSynchronization
set and get methods, EJB 2.0 and 1.1: The bean class
bean-managed persistence and, Set and Get Methods
Set type, The find methods
set( ), Abstract Persistence Schema, EJB 2.0: Describing Relationships
setAddress( ), Relationship Fields
setCreditCard( ), Abstract programming model
setCustomer( ), Abstract programming model
setCustomers( ), Abstract programming model
setEntityContext( )
EJBContext interface and, The Pooled State
EntityContext interface and, setEntityContext( ) and unsetEntityContext( ), EntityContext
setHomeAddress( ), Relationship Fields
setId( ), EJB 2.0: The bean class, EJB 2.0 and 1.1: The bean class
setInt( ), The reservation message producer
setMessageDrivenContext( ), MessageDrivenBean interface, Transitioning to the Method-Ready Pool
setName( ), Dependent Value Classes
setPhoneNumbers( ), Abstract programming model, Abstract programming model
setReservations( ), Abstract programming model
setRollbackOnly( ), UserTransaction, EJBContext Rollback Methods
setSessionContext( ), Transitioning to the Method-Ready Pool
setters (see set and get methods)
setTransactionTimeout( ), UserTransaction
sharing resources, EJB 2.0: Shareable resources
Ship EJB (sample entity bean), The Cruise, Ship, and Reservation EJBs, Abstract programming model, Overview for EJB 1.1 Readers, Deployment Descriptor
bean-managed persistence and, Bean-Managed Persistence, The Deployment Descriptor
defining remote home interface for, The Remote Home Interface
queries and, EJB QL Examples , The WHERE Clause and Functional Expressions
ShipBean (sample class), The find methods, The ShipBean Class, The ShipBean Class
defined, The ShipBean, The ShipBean
Simple Object Access Protocol (see SOAP)
simple queries, Simple Queries, Simple Queries with Paths
single-entity find methods, Find Methods, Find Methods
single-entity select methods, Select Methods
single-field primary keys, The XML Deployment Descriptor, Single-Field Primary Keys, Single-Field Primary Keys
skeletons, Distributed Object Architectures, Rolling Your Own Distributed Object
example of (Person_Skeleton), Rolling Your Own Distributed Object
Smalltalk programming language, Server-Side Components
snapshots, Database Locks
SOAP (Simple Object Access Protocol), Microsoft’s .NET Framework, EJB and CORBA CTMs
SonicMQ messaging product (Progress), Java Message Service
source code
for enterprise beans, downloading, EJB 1.1: Getting Set Up for the TravelAgent EJB
in this book, Software and Versions
SQL (Structured Query Language), Benefits of a Standard Server-Side Component Model
database table defined in, Container-Managed Persistence
vs. EJBQL, EJB 2.0 CMP: EJB QL
SQRT arithmetic function, The WHERE Clause and Functional Expressions
SSL (Secure Socket Layer), Security
state, Object Request Brokers, The entity bean life cycle, The Ready State
(see also life cycle; transitioning between states)
bean-managed persistence and, Bean-Managed Persistence
conversational, Stateless and stateful session beans
diagrams for enterprise beans, State and Sequence Diagrams, Interactions Between Exceptions and Transactions
state-management callback methods, EJB 2.0 and 1.1: The bean class
stateful session beans, Stateless and stateful session beans, The Activation Mechanism, Session Beans, The Stateful Session Bean, System exceptions
(see also session beans)
activating/passivating, The Activation Mechanism, The Activation Mechanism
chaining, Avoid Chaining Stateful Session Beans
element and, Session and Entity Beans
Handles and, ProcessPaymentRemote: The remote interface
instance pooling and, The Life Cycle of a Stateful Session Bean
life cycle of, The Life Cycle of a Stateful Session Bean, System exceptions
diagram for, Stateful Session Beans
remote interface and, TravelAgent: The remote interface, TravelAgent: The remote interface
transactional, Transactional Stateful Session Beans, Life in the Transactional Method-Ready state, Avoid Emulating Entity Beans with Session Beans
workbook exercise for, EJB 1.1: The TravelAgent deployment descriptor
stateless session beans, Stateless and stateful session beans, The Stateless Session Bean, Transitioning out of the Method-Ready Pool: The death of a stateless bean instance
(see also session beans)
element and, Session and Entity Beans
instance pooling and, The Life Cycle of a Stateless Session Bean
life cycle of, The Life Cycle of a Stateless Session Bean, Transitioning out of the Method-Ready Pool: The death of a stateless bean instance
state diagram for, Stateless Session Beans
open connections for, Transitioning to the Method-Ready Pool
remote interface and, ProcessPaymentRemote: The remote interface, ProcessPaymentRemote: The remote interface
using from within stateful session beans, Avoid Chaining Stateful Session Beans
workbook exercise for, The ProcessPayment EJB’s deployment descriptor
statements, Simple Queries, The Missing ORDER BY Clause
element and, Session and Entity Beans
workbook exercises for, The IN Operator, The WHERE Clause and Functional Expressions
Status interface, Status
store-and-forward messaging, <message-driven-destination>
String functions, The WHERE Clause and Functional Expressions
String types, Return types and parameters
Structured Query Language (see SQL)
stubs, Distributed Object Architectures, Rolling Your Own Distributed Object
EJB objects and, Return types and parameters
example of (Person_Stub), Rolling Your Own Distributed Object
on client (see remote references)
reducing number of with session beans, Modeling Workflow with Session Beans
subscribing to topics, TopicConnectionFactory and Topic, Publish-and-subscribe
SUBSTRING string function, The WHERE Clause and Functional Expressions
subsystem exceptions, PaymentException: An application exception, System exceptions
bean-managed persistence and, Exception Handling
suffix, Select Methods, A Note for EJB 2.0 Readers
suffixes, Naming conventions
create methods and, Creating and finding beans, The Remote Home Interface
Sun Microsystems, Author’s Note
EJB-to-CORBA mapping developed by, Distributed Objects
Enterprise JavaBeans developed by, EJB and CORBA CTMs
Forte IDE developed by, Setting Up Your Java IDE
web site, Setting Up Your Java IDE
Supports transaction attribute, Transaction attributes defined
suspended transactions, Transaction attributes defined
swapping bean instances, The Life Cycle of a Stateful Session Bean
synchronizing beanÕs state, Object-to-relational persistence, Using ejbLoad( ) and ejbStore( ) in Container-Managed Persistence, Transitioning from the Ready state to the Pooled state via passivation, Life in the Ready State
synchronous messaging, Transaction Processing Monitors
system exceptions, System exceptions, System exceptions
vs. application exceptions, Application Exceptions Versus System Exceptions, Application exceptions
subsystem-level, PaymentException: An application exception
system-level functionality, Analogies to Relational Databases

T

tables, creating in databases, Creating a CABIN Table in the Database
terminology conventions, The Abstract Programming Model
abstract persistence schema and, Abstract Persistence Schema
TextMessage, Message types
third tier, Distributed Objects
this keyword, Why the Bean Class Should Not Implement the Remote Interface
Thomas, Anne, Component Transaction Monitors
threads, Concurrency with session and entity beans
three-tier architecture, Distributed Objects, Distributed Object Architectures
TicketDO object, Reimplementing the TravelAgent EJB with JMS, XML deployment descriptor, Point-to-point
tiers, Distributed Objects
timeouts
Passivated state and, Passivated State
setting, UserTransaction
stateful session beans and, Transitioning out of the Method-Ready state
stateless session beans and, Session Beans
Titan Cruises (sample business), Titan Cruises: An Imaginary Business
tokens, Rolling Your Own Distributed Object
tools (see utilities)
Topic object, TopicConnectionFactory and Topic
TopicConnection, TopicConnection and TopicSession
TopicConnectionFactory, TopicConnectionFactory and Topic, JMS application client
TopicPublisher, TopicConnection and TopicSession, JMS application client
topics, TopicConnectionFactory and Topic, Entity and Session Beans Should Not Receive Messages
TopicSession, TopicConnection and TopicSession, JMS application client
TopicSubscriber, TopicConnection and TopicSession, JMS application client
toString( ), Compound Primary Keys
TP monitors, Distributed Objects, Transaction Processing Monitors
CTMs and, CTMs: The Hybrid of ORBs and TP Monitors
TPC (two-phase commit protocol), Transaction Propagation
transaction attributes, EJB 2.0 and 1.1: Defining the XML elements, Transaction Attributes, EJB 2.0: Message-driven beans and transaction attributes
CMP entity beans and, EJB 2.0: Container-managed persistence and transaction attributes
definitions of, Transaction attributes defined
entity beans and, Specifying a Bean’s Transaction Attributes
MDBs and, EJB 2.0: Message-driven beans and transaction attributes
setting, Setting a transaction attribute
specifying, Specifying a Bean’s Transaction Attributes, Specifying a Bean’s Transaction Attributes
transaction interoperability, EJB 2.0: Primary Services and Interoperability
transaction managers, Heuristic Decisions
transaction processing monitors (see TPmonitors)
transaction propagation, Transaction Scope, Transaction Propagation, Transaction Propagation
BMT beans and, Transaction Propagation in Bean-Managed Transactions, EJB 2.0: Message-driven beans and bean-managed transactions
transaction scope, Transaction Scope
Transactional Method-Ready state, Transactional Stateful Session Beans, Life in the Transactional Method-Ready state, The Transactional Method-Ready State
(see also Method-Ready state)
transactional objects, Avoid Emulating Entity Beans with Session Beans
transactions, Transactions, ACID Transactions, Life in the Transactional Method-Ready state
accuracy of, ACID Transactions
ACID, ACID Transactions, Is the TravelAgent EJB Durable?
attributes of (see transaction attributes)
balancing performance of against consistency, Balancing Performance Against Consistency
declarative management and, Declarative Transaction Management, EJB 2.0: Collection-Based Relationships and Transactions
element and, Describing Bean Assembly, Specifying a Bean’s Transaction Attributes
exceptions and, Exceptions and Transactions, Application exceptions
summary of interactions between (table), Application exceptions, Application exceptions
explicit management and, Explicit Transaction Management, EJBContext Rollback Methods
isolation of (see isolation conditions)
propagation of (see transaction propagation)
scope of, Transaction Scope
stateful session beans and, Transactional Stateful Session Beans, Life in the Transactional Method-Ready state
suspended, Transaction attributes defined
transient fields, The Activation Mechanism, Passivated State
transitioning between states, The Ready State, Transitioning from the Ready state to the Pooled state via removal
Method-Ready Pool and, Transitioning to the Method-Ready Pool, Transitioning out of the Method-Ready Pool: The death of a stateless bean instance
stateful session beans and, Transitioning to the Method-Ready state
Transactional Method-Ready state and, Transitioning into the Transactional Method-Ready state
TravelAgent EJB (sample session bean), Modeling Workflow with Session Beans, Modeling Workflow with Session Beans, EJB 2.0: Getting Set Up for the TravelAgent EJB, EJB 1.1: The TravelAgent deployment descriptor
creating, Developing a Session Bean, Creating a Client Application
deploying, Deploying the TravelAgent EJB
MDBs and, EJB 2.0: Accessing EJB with Message-Driven Beans, Reimplementing the TravelAgent EJB with JMS, JMS application client
reasons for using, Why use a Reservation entity bean?
transactions and, ACID Transactions, Is the TravelAgent EJB Durable?
TUXEDO, Transaction Processing Monitors
CORBA and, EJB and CORBA CTMs
two-phase commit protocol (2-PC or TPC), Transaction Propagation

V

validation rules, Validation Rules in Dependent Objects
value types, restrictions on, Java RMI-IIOP type restrictions
vendors
of CTMs, CTMs and Server-Side Component Models, Benefits of a Standard Server-Side Component Model
fear of lock-in and, Benefits of a Standard Server-Side Component Model
of EJB servers
list of, EJB Vendors
object-to-relational database mapping wizards and, EJB 1.1: Object-to-Relational Mapping Tools
support for JMS, Message-Driven Beans
virtual fields, The Abstract Programming Model
Visual Cafe IDE (WebGain), Setting Up Your Java IDE
VisualAge IDE (IBM), Setting Up Your Java IDE

W

web components, Web Components and EJB
web servers, in application servers, Component Transaction Monitors
web-based interfaces, in distributed-business-object architectures, Distributed Objects
WebGainÕs Visual Cafe IDE, Setting Up Your Java IDE
WebSphere (IBM), Setting Up Your Java IDE
WHERE clause, The WHERE Clause and Literals, The WHERE Clause and Functional Expressions
wildcards, asterisk indicating, Setting a transaction attribute, Specifying a Bean’s Transaction Attributes, Wildcard declarations
wizards
for graphical deployment, Deploying the Cabin EJB
for object-to-relational database mapping, Object-to-relational persistence
workbooks for use with this book, Example Workbooks
deploying CustomerEJB and, Deployment
exercises in, Choosing and Setting Up an EJB Server
workflow, modeling with session beans, Modeling Workflow with Session Beans, Stateless and stateful session beans, Session Beans
stateful session beans and, The Stateful Session Bean, The bookPassage( ) method
wrapper classes for primitive data types, Single-Field Primary Keys
write locks, Database Locks

Z

zipping/unzipping JAR files, cabin.jar: The JAR File
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset