Каков наилучший способ интеграции приложений Django и Rails с одним хранилищем данных MySQL? - PullRequest
1 голос
/ 19 января 2011

Я собираюсь сотрудничать с разработчиком Python в сети. приложение. Я собираюсь построить часть этого в Руби, и он собираюсь построить еще одну его часть, используя Django. Я не знаю много о Джанго.

Мой план интеграции двух частей - просто отобразить определенный URL префикс пути (скажем, любой запрос, начинающийся с / services) к Python код, оставляя Rails для обработки других запросов.

Python и Ruby части приложения будут делиться и обновлять тот же MySQL хранилище данных.

Мои вопросы:

  1. Что люди вообще думают о такой стратегии интеграции? Есть ли лучшая альтернатива (если не писать все на одном языке)?

  2. Как лучше всего делиться конфиденциальными данными сеанса (т. Е. Вошли в идентификатор пользователя) через две части приложения?

Ответы [ 3 ]

1 голос
/ 19 января 2011

Как я вижу, вы не можете использовать аутентификацию Django, вы не можете использовать ORM Django, вы не можете использовать администратора Django, вы не можете использовать сеансы Django - все, что вам остается, - это сопоставление URL с представлениями и система шаблонов. Я бы не использовал Django, но более простую структуру Python. Раз ваш программист на Python расширил свой мир ...

1 голос
/ 19 января 2011

Проект, продукт, как бы вы его ни называли, нуждается в лидере.

Это первое доказательство того, что у вас его нет.Кто-то должен решить, что вы делаете ruby ​​или python.Я сам предпочитаю ruby, но понимаю тех, кто предпочитает python.

Я думаю, что начинать продукт, задавая себе подобные вопросы, - ПЛОХОЙ старт.

Если ваш коллега знает только прототип, а вы знаете только JQuery, вы тоже собираетесь смешивать технологии?То же самое для БД?А для тестирования фреймворков?

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

За исключением случаев, когда один из вас собирается работать над какой-то конкретной частью проекта, которой ДЕЙСТВИТЕЛЬНО нужна та или иная технология, но все же считают, что другая лучше всего подходит для остальной части приложения.

Я думаю, например, при пакетном вычислении.У вас есть ВСЕ ваше веб-приложение в формате ror или django, и у вас есть скрипт, называемый CRON или чем-то еще, для вычисления огромных объемов данных вне веб-приложения, заполнения БД или чего-либо еще.

My2Cts.

1 голос
/ 19 января 2011

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

Если вы все делаете правильно, вы уже строите свое Rails-приложение с помощью RESTful API.Приложение Django может выступать в качестве REST-клиента для него.

Я уверен, что оно может работать и наоборот (например, с rest-client gem).

Таким образом, такие вещи, как валидации и другая основная бизнес-логика, применяются в одном месте, а не в двух.

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