TorqueBox: A Javaist's Tutorial on Messaging, Services and CDI in Ruby