Enterprise Integration in Ruby

In my copious free time this week I read the newest Prag Beta Book, Enterprise Integration in Ruby by Maik Schmidt. As I have come to expect from the Prag series, the book is clearly written, from someone who clearly is both a coder and a writer.

It continues to amaze me how easy it is to get things done in Ruby -- and how much is already done for you. In demonstrating ActiveRecord in an integration scenario, Maik surprised me with a feature I hadn't used before: push_with_attributes. If you haven't used this method before, try it out. Then try to do the same thing with, e.g., Hibernate.

Another thing that stands out is how easy it is to apply existing Java knowledge to Ruby libraries. You'll find that log4r is log4j, but easier to use. And REXML is ElectricXML, but waay easier to use.

I also like that this book addresses Ruby's undisputed strengths. The success of Rails for web applications has fueled a lot of disagreement on when and how dynamic languages are suitable for application development. With enterprise integration there is more consensus: scripting languages are great for glue code. If you haven't done so already, check out Ruby on its home court.