Объединение 2-х рельсовых приложений в единую кодовую базу

Наша компания начинала с одного продукта, приложение rails, поддерживаемое некоторыми java-сервисами, затем решили, что им нужен другой продукт, который изначально значительно отличался от первого, но со временем мы поняли, что они начинают сходиться, и для изменения кода требуется аналогичный изменение кода на другой для новой функции / исправления ошибки. Очевидно, это становится болью.

В некоторых случаях у нас есть драгоценные камни, которые разделяют некоторые из этих функций, но они выходят за рамки ruby, в javascript, css и т. Д.

Так что мне поручено объединить эти два приложения в одну кодовую базу. Я думаю, что в конечном итоге мы хотели бы, чтобы это было единое приложение с доступом к ролям на основе разрешений, но это произойдет гораздо позже.

Моя первая мысль, чтобы быстро собрать их вместе, - это создать два движка rails и совместно использовать общие библиотеки между ними. Думаю, это самый быстрый способ скомбинировать код, найти общие разделы и начать делиться.

Моя первая проблема заключается в том, как выполнять маршрутизацию между приложениями. Одно приложение использует одно доменное имя, которое никогда не меняется, другое приложение имеет много доменов. Может ли кто-нибудь предложить, как я могу направить конкретный запрос в конкретное приложение, чтобы они могли оставаться отдельными, чтобы начать, при этом разделяя общую кодовую базу библиотек?

Или, если у кого-то есть другие предложения относительно способа объединения этих приложений, я все уши.

Они оба являются приложениями Rails 2.3.10, работающими под управлением JRUBY 1.5.3, но мы открыты для возможного обновления до Rails3, если это значительно упростит или упростит работу (например, с лучшей интеграцией в Rack)

Я не занимался программированием Rack, но мне не помешает узнать, облегчит ли это нашу жизнь.

8
задан Fábio Batista 18 November 2010 в 23:50
поделиться