12 of 14 people found the following review helpful:
5.0 out of 5 stars
Excellent intro to transaction principles, November 18, 2004
This review is from: Principles of Transaction Processing for the Systems Professional (The Morgan Kaufmann Series in Data Management Systems) (Paperback)
This book was written in 1997 which is often considered ancient in "Internet-years" but it is still very relevant because it focuses on fundamental principles of transaction processing (TP) rather than the latest whiz-bang technologies that optimize TP.
For those of you who aren't TP experts, a transaction is a computer operation that meets the ACID test. ACID here stands for:
Atomic - the steps that comprise transaction succeed or fail as one, there is no partial success.
Consistent - the internal data structures of the system(s) remain consistent with business rules.
Isolated - the data read or manipulated by the transaction is not altered during the duration of the transaction's execution.
Durable - the results of the transaction are persisted
Why does this matter to the system user or stakeholder? The canonical example is that of the ATM machine (or the "handy bank" if you're Australian). When you withdrawl money from an ATM, it has to go out and validate you have enough funds to meet the withdrawl, reserve those funds, and dispense cash - all within the same transaction. If the ATM failed after your bank account had been debited but before you'd gotten your money, you'd be very upset; conversely if the cash was dispensed but the debit procedure failed, the bank would be very upset. Ted provides very amusing analogy for this using a wedding ceremony but you can read that in his book.
There's a whole lot more to transaction processing beyond ACID and the ATM example, including two-phase commit (TPC), high-availability, massive concurrency, and crash recovery. To find out about all of these topics, read the book. One thing to remember though is that most application developers will never have to deal with the extremely complex details of providing a working and robust transaction management implementation, but like any technology it's important to understand the technology's fundamental principles and mechanics to effectively use it.
The book itself is extremely dense. The content of the book is "only" 324 pages long but covers a large amount of ground in a good amount of detail. Definitely read in a quiet place free of interruptions with a strong cup of coffee.
One shortcoming of the book is that it was written in 1997 so it doesn't cover TP implementations in Java (e.g. JTA, EJBs, etc.) but it was nice to finally find out what the heck IBM's CICS and IMS products are.
Interestingly enough, I have never had to deal with complex transaction processing (i.e. two-phase commit) in my short IBM career. This is probably because I've worked on business-to-consumer (B2C) applications where only one data source is involved rather than a business-to-business system where multiple data sources are involved. I'll have to ask the B2B guys if they get heavy into two-phase commit or if it's not an issue.
The reason I read this book is because I've always been a bit mystified by Enterprise JavaBeans (EJBs). When I joined IBM, I knew the word, but I was not familiar with such topics as object-relational persistence, object remoting, and transaction processing, so to me EJBs were simply things that took four classes/interfaces to do what I could do in one simple POJO. Ted Neward, in a very interesting web interview on the Serverside.com mentioned that he used to think EJBs were completely worthless, but during the process of writing Effective Enterprise Java came to realize that they were not worthless but rather over-marketed. He said that they should have been called Transactional JavaBeans rather than Enterprise JavaBeans because transactions are what EJBs did very well. So, hearing this from Ted I decided to read a book on fundamentals of transaction processing, so that I could understand EJBs better. Now that I've read all about TP principles, I pick Richard Monson-Haefel's book again, and all of a sudden EJBs start to make a lot more sense.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
11 of 13 people found the following review helpful:
5.0 out of 5 stars
clear, concise and practical, January 13, 2002
This review is from: Principles of Transaction Processing for the Systems Professional (The Morgan Kaufmann Series in Data Management Systems) (Paperback)
I have been using this book in the advanced undegraduate class series on Transaction Processing. Since this book, as emphasised in the preface has eveolved from the class material, it is exemplerary suited for that purpose. But not only in academia, this book has enought coverage to provide a first reference point in such topics as TP monitors, queue design, locking solutions, HA and recovery in databases, 2PC. Additionally, VERY usefull (if somewhat dated) industry survey of Transaction Monitors (this will really benefit to the other edition perhaps including app servers and EJBs). Highly recommended.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
5 of 5 people found the following review helpful:
5.0 out of 5 stars
A very good introduction into TP concepts, March 25, 1999
By A Customer
This review is from: Principles of Transaction Processing for the Systems Professional (The Morgan Kaufmann Series in Data Management Systems) (Paperback)
This book is a very good introduction to transaction processing. It did a wonderful job of explaining concepts, and gave concise, clear examples. I would recommend this book as a primary text for anyone wanting to get an overview of the main TP ideas, with the Gray & Reuter book as a supplemental text. The book is very readable, too.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No