I'm looking for some advice/feedback about using different languages in a layered architecture. Right now the architecture in question is an all java stack (db, middle tier, and web tier) using Spring to tie everything together. We've been tossing around the idea of using Ruby on Rails for the web tier, but I'd like to know if anyone has done this before (maybe with different languages/technologies). The idea behind switching to RoR is to increase development speed in the web tier, however my initial analysis is that it will also decrease development speed in the middle tier.
Some of the questions I'm trying to get data points on are:
- Have any small development teams actually used a hybrid language approach in a similar architecture?
- Why did you use that approach? What worked well and what didn't?
- How would you handle interfaces and models (maybe use something like Google protocol buffers or Apache Thrift)?
- Are there any other benefits or pitfalls to using an approach like this?