Synopses & Reviews
Sometimes the simplest answer is the best. Many Enterprise Java developers, accustomed to dealing with Java's spiraling complexity, have fallen into the habit of choosing overly complicated solutions to problems when simpler options are available. Building server applications with "heavyweight" Java-based architectures, such as WebLogic, JBoss, and WebSphere, can be costly and cumbersome. When you've reached the point where you spend more time writing code to support your chosen framework than to solve your actual problems, it's time to think in terms of simplicity.
In Better, Faster, Lighter Java authors Bruce Tate and Justin Gehtland argue that the old heavyweight architectures are unwieldy, complicated, and contribute to slow and buggy application code. As an alternative means for building better applications, the authors present two "lightweight" open source architectures: Hibernate--a persistence framework that does its job with a minimal API and gets out of the way, and Spring--a container that's not invasive, heavy or complicated.
Hibernate and Spring are designed to be fairly simple to learn and use, and place reasonable demands on system resources. Better, Faster, Lighter Java shows you how they can help you create enterprise applications that are easier to maintain, write, and debug, and are ultimately much faster.
Written for intermediate to advanced Java developers, Better, Faster, Lighter Java, offers fresh ideas--often unorthodox--to help you rethink the way you work, and techniques and principles you'll use to build simpler applications. You'll learn to spend more time on what's important. When you're finished with this book, you'll find that your Java is better, faster, and lighter than ever before.
About the Author
Bruce Tate is a kayaker, mountain biker, and father of two. In his spare time, he is an independent consultant in Austin,Texas. In 2001, he founded J2Life, LLC, a consulting firm that specializes in Java persistence frameworks and lightweight development methods. His customers have included FedEx, Great West Life, TheServerSide, and BEA. He speaks at conferences and Java user's groups around the nation. Before striking out on his own, Bruce spent thirteen years at IBM working on database technologies, object-oriented infrastructure and Java. He was recruited away from IBM to help start the client services practice in an Austin start up called Pervado Systems. He later served a brief stent as CTO of IronGrid, which built nimble Java performance tools. Bruce is the author of four books, including best-selling Bitter Java.First rule of kayak: When in doubt, paddle like Hell
Working as a professional programmer, instructor, speaker and pundit since 1992, Justin Gehtland has developed real-world applications using VB, COM, .NET, Java, Perl and a slew of obscure technologies since relegated to the trashheap of technical history. His focus has historically been on "connected" applications, which of course has led him down the COM+, ASP/ASP.NET and JSP roads.Justin is the co-author of Effective Visual Basic (Addison Wesley, 2001) and Windows Forms Programming in Visual Basic .NET (Addison Wesley, 2003). He is currently the regular Agility columnist on The Server Side .NET, and worksas a consultant through his company Relevance, LLC in addition to teaching for DevelopMentor.
Table of Contents
Preface; Who Should Read This Book?; Organization of This Book; Conventions Used in This Book; Comments and Questions; Acknowledgments; Chapter 1: The Inevitable Bloat; 1.1 Bloat Drivers; 1.2 Options; 1.3 Five Principles for Fighting the Bloat; 1.4 Summary; Chapter 2: Keep It Simple; 2.1 The Value of Simplicity; 2.2 Process and Simplicity; 2.3 Your Safety Net; 2.4 Summary; Chapter 3: Do One Thing, and Do It Well; 3.1 Understanding the Problem; 3.2 Distilling the Problem; 3.3 Layering Your Architecture; 3.4 Refactoring to Reduce Coupling; 3.5 Summary; Chapter 4: Strive for Transparency; 4.1 Benefits of Transparency; 4.2 Who's in Control?; 4.3 Alternatives to Transparency; 4.4 Reflection; 4.5 Injecting Code; 4.6 Generating Code; 4.7 Advanced Topics; 4.8 Summary; Chapter 5: You Are What You Eat; 5.1 Golden Hammers; 5.2 Understanding the Big Picture; 5.3 Considering Technical Requirements; 5.4 Summary; Chapter 6: Allow for Extension; 6.1 The Basics of Extension; 6.2 Tools for Extension; 6.3 Plug-In Models; 6.4 Who Is the Customer?; 6.5 Summary; Chapter 7: Hibernate; 7.1 The Lie; 7.2 What Is Hibernate?; 7.3 Using Your Persistent Model; 7.4 Evaluating Hibernate; 7.5 Summary; Chapter 8: Spring; 8.1 What Is Spring?; 8.2 Pet Store: A Counter-Example; 8.3 The Domain Model; 8.4 Adding Persistence; 8.5 Presentation; 8.6 Summary; Chapter 9: Simple Spider; 9.1 What Is the Spider?; 9.2 Examining the Requirements; 9.3 Planning for Development; 9.4 The Design; 9.5 The Configuration Service; 9.6 The Crawler/Indexer Service; 9.7 The Search Service; 9.8 The Console Interface; 9.9 The Web Service Interface; 9.10 Extending the Spider; Chapter 10: Extending jPetStore; 10.1 A Brief Look at the Existing Search Feature; 10.2 Replacing the Controller; 10.3 The User Interface (JSP); 10.4 Setting Up the Indexer; 10.5 Making Use of the Configuration Service; 10.6 Adding Hibernate; 10.7 Summary; Chapter 11: Where Do We Go from Here?; 11.1 Technology; 11.2 Process; 11.3 Challenges; 11.4 Conclusion; Chapter 12: Bibliography; 12.1 Books; 12.2 Referenced Internet Sources; 12.3 Helpful Internet Sources; 12.4 Other References; Colophon;