Enterprise Rails

Enterprise Rails

This is the book that I consider to be the true “enterprise” Rails book. It concentrates almost exclusively on topics that are essential to a successful implementation of a Ruby on Rails application in a complex computing environment.

About half the book is devoted to database design techniques essential to data integrity and service reliability, and most of the remainder is devoted to various aspects of “service-oriented” architectures (where a “service” is a narrowly focused component that can be utilized by one or more complete “applications”). Various data communication techniques such as REST, XML-RPC, and SOAP that are involved in communicating with services are also described.

One of the things that I like most about Chak’s book is that although the author is clearly a Ruby on Rails enthusiast (otherwise why would he have written this book?), he has by no means swallowed the Kool-Aid dispensed by many prominent members of the Rails community. He takes issue with a number of Rails design and usage choices, as illustrated by this quote from the chapter Composite Keys and Domain Key/Normal Form:

Many users of Ruby on Rails who are new to schema design take that lack of features (in Rails) as a cue that the concepts are not relevant or that they can live without them. Many more, if Rails is their first platform, may never have heard about DK/NF or natural keys and won’t know of the benefits that they are giving up by not using them when appropriate. Now that you know about natural keys, you don’t have to be in this crowd of poor saps.

Don’t be a sap! Get this book and read it!