Organization of This Book This book is divided into nine chapter and includes a separate appendix with suggestions for further reading. Chapter 1: Introduction Chapter 2: Factors to Consider in Choosing a Solution to a Problem Chapter 3: Testing Chapter 4: Adding Debugging Support Chapter 5: Architecture Chapter 6: Transactions Chapter 7: Business Rules Chapter 8: Data Access Chapter 9: Error Handling and Concurrency Control