Enterprise Transaction Processing Systems: Putting the Cobra Ots, Encina++ and Orbixotm to Work, 1st edition
Authors: Ian Gorton
Venue:  (2000)

From the Book:Preface The recent merging of distributed object technology and transaction processing monitors has created a new class of technology known as Object Transaction Monitors (OTMs). OTMs typically contain a comprehensive set of features that make it possible to build enterprise-scale, high performance transaction processing systems. As more systems based on OTMs are built, there's a need for software professionals new to the area to acquire an understanding of the concepts and features of the available OTM technologies. They also need to appreciate the important issues that drive a project's architecture, detailed design and programming. This book attempts to fill this niche, to educate people in the complexities of OTM technologies. The approach taken is necessarily a practical one. It attempts to distill several years of the author's consulting experience gained working with OTM technologies, and present the information in a way that is broadly useful and easily digestible for people who build OTM-based applications. The aims of this book are to: 1. Explain the key underlying concepts and techniques of enterprise transaction processing technology (Chapters 1 and 2). 2. Discuss alternative architectural approaches for building object- oriented transaction processing systems (Chapter 3). 3. Describe the major features of the CORBA Object Transaction Service (OTS) and two products, OrbixOTM and Encina++, that support this service (Chapters 4 and 5). 4. Illustrate how to implement an example transaction processing system in C++ using OrbixOTM and Encina++ (Chapters 6, 7 and 8). 5. Discuss the performancecharacteristics of the examples, and introduce some techniques for improving performance. Just as importantly, this book is not: 1. An introduction to CORBA/DCE and how to program these technologies. There are already many good books on these topics, several of which are referenced in the appropriate chapters. 2. A detailed description and evaluation of the techniques and algorithms employed in the internals of distributed transaction processing systems. Read Jim Gray's or Phil Bernstein's books for excellent coverage of these areas. The intended audience for this book includes: 1. Project managers and system architects who need to understand the concepts of distributed transaction processing systems and the features supported by state-of-the-art products. 2. Professional software engineers who need to understand, evaluate and write programs using object-oriented transaction processing software. 3. Graduate-level and advanced undergraduate level students who study transaction processing systems and software. The material in the book is roughly 50 per cent generic and 50 per cent reasonably specific to OrbixOTM and Encina++. This approach is deliberate, attempting to provide a balance between explaining general concepts and approaches and illustrating these in a concrete fashion with real products and code. For this reason, even if your projects don't specifically use the Iona or Transarc products (yes - there are many good alternatives!), there is still considerable value in at least the first six chapters, as well as Chapter 9. What do you need to know to get the most out of this book? Certainly an understanding of the basic components in a distributed object system that uses CORBA or some similar technology should be considered a prerequisite. The code examples are written in C++, so a working knowledge of C++ will be useful. Also, when reading through the examples in Chapters 7 and 8, some understanding of basic RPC and/or CORBA technology is assumed. The examples do provide some explanation of the salient features that arise in the application code, but those new to this area should have a relevant reference book at hand. The example code in Chapters 7 and 8 can be downloaded from the WWW site (www.awl.com/cseng). The code is based upon OrbixOTM 1.0c, and the Encina++ version in TxSeries 4.2. These products are therefore needed to build and run the applications, along with SQL Server 6.5. The code is built using Microsoft's Visual Studio version 5.0. Of course, all faults and errors are indisputably my own.