Переход с Coldfusion на Rails с неизменным кодом Java - PullRequest
2 голосов
/ 09 июля 2011

Мы создали веб-приложение с использованием простого Coldfusion 9 (для обслуживания html-контента) и Java (работа с сервером и подключение к веб-сервисам).Мы ожидаем около 50 000 посетителей в день, до 200 запросов в минуту.Производственные серверы работают на Windows.Проблема в том, что мы устали и злимся из-за болезненного кода CF.

Наша идея - заменить слой CF на Ruby on Rails.Ява сторона должна быть оставлена ​​нетронутой, потому что она хорошо написана, надежна, быстра и покрыта автоматизированными тестами.

Итак, мой вопрос: как бы вы подошли к этой проблеме подробнее?

  1. Является ли JRuby единственным вариантом?
  2. Будет ли достаточно быстро вызывать наш Java-код, упакованный в jar-файл?
  3. Требуется ли Linux вместе с переходом на Rails?(Мне не нравятся Rails на Windows)
  4. А как насчет масштабируемости?Вы рекомендуете Sinatra для обработки нашего трафика?
  5. Удастся ли разместить эту конфигурацию в облаке?

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 09 июля 2011

Если вы хотите, вы должны попробовать ColdFusion on Wheels.Это ОЧЕНЬ вдохновлено Rails, и вы можете легко перенести ваше текущее приложение в фреймворк, а затем медленно преобразовать его в MVC.

1 голос
/ 22 июля 2011

Я согласен с мыслями Ciaran Archer по большей части и укажу проект, в котором я постепенно преобразовываю Spring-приложение в Rails. Вам придется использовать свое воображение, чтобы понять, как преобразовать ваши грязные представления CF в Rails, но вы можете хотя бы посмотреть, как вы можете использовать свой Java-бэкэнд в среде Rails.

https://github.com/nicksieger/refactoring-to-rails

0 голосов
/ 09 июля 2011

Является ли JRuby единственным вариантом?

Не говорите в абсолютах! :) Преимущество JRuby в том, что он может вызывать библиотеки Java, такие как CF, но это все еще развивающаяся платформа, хотя и с большим потенциалом в JVM.

Будет ли вызывать нашу jar-упакованную Java код будет достаточно быстрым?

Если вы все еще собираетесь работать на языке JVM, таком как CF или JRuby, я бы сказал, да.

Требуется ли Linux вместе с переключением на рельсы? (Я не люблю рельсы на Windows)

Linux не требуется для JRuby (см. здесь ) - помните, JRuby - это просто еще один язык JVM, и преимуществом JVM является независимость от платформы. Если вы предпочитаете простой Rails, я бы порекомендовал перейти на Linux - я уже пробовал использовать Rails в Windows, и это не очень красиво. Все, что вы читаете в терминах учебных пособий по Rails и т. Д., Получит пользу от Linux.

А как насчет масштабируемости? Вы рекомендую Синатру справиться с нашими трафик?

Sinatra - это очень компактный фреймворк, который по существу использует простые правила маршрутизации регулярных выражений. Я бы использовал его для небольших проектов, но для производственного приложения, которое, вероятно, будет расти, то нет. Вам лучше получать организационные преимущества Rails.

Можно ли будет разместить это конфигурация в облаке?

я верю Engine Yard делать на JRuby хостинге. Heroku Do Rails PaaS хостинг. Heroku может не подойти, если вы используете JRuby или вызываете Java из JRuby, но для простого Rails-приложения это очень круто.

И как уже указывали другие - проблема не в CF, а в том, как ваше приложение было написано и организовано. Вы также можете написать дерьмовый код Rails

Подсказка - все, что вам в чем-то помогает.

...