Enterprise Rails is indispensable for anyone planning to build enterprise web services. It's one thing to get your service off the ground with a framework like Rails, but quite another to construct a system that will hold up at enterprise scale. The secret is to make good architectural choices from the beginning. Chak shows you how to make those choices. Ignore his advice at your peril. --Hal Abelson, Prof. of Computer Science and Engineering, MIT
What does it take to develop an enterprise application with Rails? Enterprise Rails introduces several time-tested software engineering principles to prepare you for the challenge of building a high-performance, scalable website with global reach. You'll learn how to design a solid architecture that ties the many parts of an enterprise website together, including the database, your servers and clients, and other services as well.
Many Rails developers think that planning for scale is unnecessary. But there's nothing worse than an application that fails because it can't handle sudden success. Throughout this book, you'll work on an example enterprise project to learn first-hand what's involved in architecting serious web applications.
With this book, you will:
- Tour an ideal enterprise systems layout: how Rails fits in, and which elements don't rely on Rails
- Learn to structure a Rails 2.0 application for complex websites
- Discover how plugins can support reusable code and improve application clarity
- Build a solid data model--a fortress--that protects your data from corruption
- Base an ActiveRecord model on a database view, and build support for multiple table inheritance
- Explore service-oriented architecture and web services with XML-RPC and REST
- See how caching can be a dependable way to improve performance
Building for scale requires more work up front, but you'll have a flexible website that can be extended easily when your needs change. Enterprise Rails teaches you how to architect scalable Rails applications from the ground up.
About the Author
Dan Chak's varied education in real-world web architecture gives him a unique perspective on the challenges of building rock-solid web applications. Dan has worked at Amazon.com, the world's biggest online retail store, where seemingly small technology problems become big ones due to enormous scale. Dan also directed software development at CourseAdvisor Inc., a Ruby on Rails startup company. A nearly instant success, CourseAdvisor was acquired by the Washington Post Company in October 2007. You can hear his thoughts on his blog at http://blog.chak.org.