2013-09-30 2 views
1

У меня есть большое приложение для рельсов с тремя отдельными «компонентами».Разломайте приложение для монолитных рельсов

Один из них является главным образом статическим WWW-сайтом, одним из которых является корзина на основе Spree, а другая - программа вознаграждения, основанная на API Instagram.

В настоящее время это все одно гигантское приложение Rails 4.0. Поскольку это приложение со временем растет, мне сложнее делать различия между компонентами. Я хочу модулизировать приложение, чтобы разделить эти 3 компонента.

Есть ли предпочтительный способ создания такой архитектуры «SOA»? или было бы лучше превратить каждый «компонент» приложения в свой собственный монтируемый движок? Или есть еще лучшая стратегия?

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

ответ

1

У меня нет опыта работы с Ruby или Rails, но, основываясь на моем опыте, вам нужно будет спросить/ответить на следующий вопрос, а затем решить, как вы хотите двигаться вперед.

Кто будет разрабатывать базу кода и кто будет ее поддерживать?

Если вы только что носили все шляпы, вам может не потребоваться накладные расходы на реализацию SOA (для конкретных веб-сервисов). Тем не менее, у вас обязательно должен быть «Контракт» между каждым из этих компонентов или модулей (однако вы обращаетесь к ним). Таким образом, ваши модули/компоненты могут развиваться независимо друг от друга, а изменения, внесенные в один, чтобы сделать логику лучше, не обязательно вносят изменения в другие компоненты.

Если это вы и еще несколько разработчиков, я бы сказал, что вы, возможно, не захотите пройти маршрут WS.

Если это разные команды, которые разрабатывают и поддерживают эти компоненты, то вы принимаете приложение на уровне предприятия, а затем вы начнете видеть преимущества SOA (на основе WS).

Cheers, K

Смежные вопросы