Хотя у меня нет опыта работы с RoR, мы применили аналогичный подход с Django в качестве внешнего уровня, где мы будем использовать службы на основе Java для обработки больших объемов транзакций.
Мы определяем БД в модели django, разрабатываем веб-интерфейс с django views / jquery и, очевидно, получаем бесплатный сайт администратора.
На стороне java мы запускаем задачу обратного инжиниринга hibernate для генерации классов доступа к БД для кода java. Там, где это необходимо, мы используем домашний механизм JSON поверх AMQP RPC для связи между компонентами Python и Java.
Есть взлеты и падения в этом подходе. Для нас, поскольку мы не использовали большие Java-фреймворки, это дало нам доступ к быстрому и легковесному веб-интерфейсу нашего решения, а также легкость моделирования нашей базы данных с использованием формата модели Django (который мне очень нравится).
С другой стороны, мы столкнулись с некоторыми хитрыми вещами с конфигурацией обратного проектирования Hibernate (что сложно, если вы делаете что-то, что не является стандартным для болота - особенно в отношении некоторых отношений Django ManyToMany).
Я заметил, что вы упомянули, что у вас уже есть архитектура на основе Spring с веб-уровнем. Я не эксперт здесь, но это может предоставить вам возможности, которые стоит изучить, такие как groovy / grails или SpringMVC, который в версии 3 утверждает, что он значительно упрощен и быстрее разрабатывается. Это может дать вам те победы, которые вам нужны.
Компромиссом может быть рассмотрение некоторых инструментов Java, вдохновленных RoR, таких как Rife .
Суть в том, что вам придется совершать вызов в свете требований вашего собственного приложения и возможностей группы. Это сработало для нас, и я думаю, что это правильное решение для нас, но если ваша команда уже обладает навыками Java и Spring, то Spring 3 может быть подходящим вариантом (но спросите об этом эксперта Spring :-))
Rob