рельсы: обмен информацией между 2 приложениями - PullRequest
3 голосов
/ 23 июня 2010

У меня есть приложение среднего размера, которое становится слишком сложным.Я собираюсь разделить его на две части.Но я не уверен, как бы я поделился информацией между ними.

Мне удалось создать две большие группы моделей;Одна группа имеет дело с «фотографиями», а другая - с «данными о продажах».

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

Два набора данных обслуживаются разными людьми, поэтому они будут разделяться вполне естественно.сообщает, что данные извлекаются как из «картинок», так и из «данных о продажах».Информация в обоих случаях напоминает массив хэшей разной глубины, указывающий на исчисление (около 60 чисел на систему).

Это почти единственное, что удерживает разделение;Я не уверен в том, что будет лучшим способом обмена информацией между обоими приложениями.

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

Ответы [ 2 ]

4 голосов
/ 23 июня 2010

Простым решением было бы заставить оба приложения использовать одну и ту же базу данных. Проблема этого заключается в том, что вы получите некоторое дублирование кода на моделях с перекрытием. Конечно, вы можете исправить это с помощью подмодуля git или пользовательского гема ... Интересно посмотреть на это с помощью rails engine.

Другое решение состоит в том, что одно приложение имеет данные и предоставляет RESTful API, а другие извлекают из них данные. Но тогда вам нужно решить, какой из них будет «управлять» отчетами.

Это довольно сложное решение, и я не могу помочь вам принять его без всех данных, но я надеюсь, что это было полезно ^^

0 голосов
/ 03 февраля 2011

Кроме того, дублирование кода создаст проблемы с кэшированием, проблемы параллелизма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...