Cover image for Programming with enterprise JavaBeans, JTS, and OTS : building distributed transactions with Java and C++
Programming with enterprise JavaBeans, JTS, and OTS : building distributed transactions with Java and C++
Vogel, Andreas, 1965-
Personal Author:
Publication Information:
New York : John Wiley & Sons, [1999]

Physical Description:
xii, 356 pages : illustrations ; 24 cm
General Note:
Includes index.

"Wiley computer publishing."
Title Subject:
Format :


Call Number
Material Type
Home Location
Item Holds
QA76.73.J38 V65 1999 Adult Non-Fiction Central Closed Stacks

On Order



A complete hands-on guide to programming with the powerful new distributed object standards.

If you want to take advantage of the bold new generation of object monitor technologies, you need to understand the underlying distributed object and transactional models. This book gets you quickly up and running with the essential knowledge and skills you need to program transactions. In particular, the book covers the Enterprise JavaBeans (EJB), Java Transaction Service (JTS), and Object Transaction Service (OTS) specifications.

The book explains all three specifications and includes design patterns as well as substantial real-world programming examples. Although all sample code is implemented with Inprise Applications Server, it is strictly written to the applicable specifications and is fully portable across specification-compliant EJB containers and vendors.

On the companion Web site you'll find.
* Sample code.
* OTS and EJB updates.

Author Notes

Andreas Vogel is Strategic Technology Advisor with Inprise Corporation. He works with Fortune 500 companies on CORBA solutions for their distributed computing needs, as well as in Inprise's research and development division.
Madhavan Rangarao is a senior architect at TIBCO Software Inc. He has been developing distributed transaction management solutions for the past nine years, and led the development efforts of the industry-leading Inprise ITS Object Transaction Service.

Table of Contents

Forewordp. vii
Acknowledgmentsp. ix
Introductionp. xi
Part 1 Overviewp. 1
Chapter 1 Quick Start to EJB, JTS, and OTSp. 3
Problemp. 3
Solutionp. 4
Basic Concepts and Definitionsp. 7
Transactionp. 7
Distributed Transactionp. 8
The Money Transfer Examplep. 8
Distributed Transaction Processing Standardsp. 9
Object Transaction Servicep. 11
Overviewp. 11
The Money Transfer Example with OTS/JTSp. 13
Integrating OTS with Databases and Legacy Transaction Systemsp. 30
Distributed Transactions and Javap. 31
Enterprise JavaBeansp. 32
EJB Rolesp. 32
EJB Design Patterns and Naming Conventionsp. 34
The Money Transfer Example with EJBp. 35
Chapter 2 Transaction Processing Basicsp. 51
What Is a Transaction?p. 52
Different Transaction Modelsp. 54
Flat Transactionp. 55
Chained Transactionsp. 56
Nested Transactionsp. 57
Two-Phase Commit Protocolp. 58
First Phasep. 59
Second Phasep. 59
TP Monitorsp. 63
TP Monitor Architecturep. 63
Distributed Transaction Management Standards: X/Open, OSI, OMGp. 67
X/Openp. 68
OSIp. 71
OMGp. 71
Why Use a TP Monitor Instead of a Database Server?p. 72
Transaction Serversp. 74
Object Transaction Monitorsp. 76
Part 2 OTS and JTSp. 77
Chapter 3 Understanding the CORBA Object Transaction Servicep. 79
What Does OTS Offer?p. 80
Components of an OTS Systemp. 81
Basic Conceptsp. 85
Transaction Terminationp. 85
Checked and Unchecked Behaviorp. 85
Synchronizationp. 86
Heuristic Completionp. 86
Transaction Service Architecturep. 87
Data Types, Structures, and Exceptionsp. 88
Transaction Service Interfacesp. 92
Current Interfacep. 93
TransactionFactory Interfacep. 97
Control Interfacep. 99
Terminator Interfacep. 99
Coordinator Interfacep. 101
RecoveryCoordinator Interfacep. 105
Resource Interfacep. 105
Synchronization Interfacep. 107
SubtransactionAwareResource Interfacep. 110
TransactionalObject Interfacep. 112
Application Programming Modelsp. 112
Interpositioningp. 116
Failure Protocolp. 118
Transaction Integrityp. 120
Portability Issuesp. 121
Interoperability with Existing Transaction Managersp. 122
Importing a Transaction from an X/Open Domainp. 123
Exporting a Transaction to the X/Open Domainp. 124
Coexistence with Other TP Standardsp. 125
X/Open TX Interface Mappingsp. 125
X/Open XA Interface Mappingsp. 125
Support for Other Transaction Protocolsp. 127
Support for ODMG Standardp. 127
IDL Referencep. 127
Chapter 4 Programming with OTSp. 133
Application Requirementsp. 134
Application Architecture and Design Patternsp. 134
Transactionsp. 135
Securityp. 137
Managementp. 140
Interface Specificationp. 145
Design and Implementationp. 160
Flight Queryp. 162
Airlinep. 174
Travel Agentp. 187
Directory Objectp. 212
Clientp. 213
Running the Applicationp. 222
Configuring and Starting Databasesp. 223
Configuring and Starting OTS/ORB Systemp. 224
Starting Services and Toolsp. 225
Start Application Servers and Clientsp. 226
Configuration Alternativesp. 228
Different Types of Clientsp. 228
Configuration of Server-Side Objectsp. 230
Part 3 EJBp. 233
Chapter 5 Understanding Enterprise JavaBeansp. 235
Why Enterprise JavaBeans?p. 236
EJB Infrastructurep. 239
Containerp. 240
Identifying an Enterprise Beanp. 242
Container Implementationp. 243
EJB Developmentp. 246
Remote Interfacep. 247
Home Interfacep. 248
Bean Implementationp. 252
EJB Deploymentp. 267
Transaction Policesp. 268
Access Controlp. 269
Namingp. 270
Typingp. 270
Container-Managed Persistencep. 270
Application Assemblingp. 270
Locating the Home Interfacep. 271
Obtaining the Remote Interfacep. 272
Invoking Methodsp. 273
CORBA and Enterprise JavaBeansp. 273
Mapping for Distributionp. 274
Mapping for Namingp. 275
Mapping for Transactionp. 277
Mapping for Securityp. 278
Chapter 6 Programming with EJBp. 279
Application Architecturep. 280
Providing the Enterprise Beansp. 281
Java Classes for Data Typesp. 281
Travel Agentp. 286
Booking Entityp. 294
Booking Business Objectp. 307
Flight Queryp. 316
Iterators with EJBp. 325
Airlinep. 328
Uuidp. 334
Assembling the Applicationp. 337
Server-Side Compositionp. 337
Client Typesp. 337
Client Implementationp. 337
Deploying the Enterprise Beansp. 342
Transaction Policiesp. 342
Access Control Policiesp. 343
Namingp. 344
Deployment Properties for Container-Managed Persistencep. 344
Miscellaneous Deployment Propertiesp. 345
Deployment Properties for Portabilityp. 345
Administration of Enterprise JavaBeansp. 345
Configuration Alternativesp. 345
Indexp. 347