Я очень новичок в веб-программировании (или, на самом деле, очень стар для него, так как в прошлый раз, когда я связывался с Интернетом, был HTML 1.1), но теперь мне нужно быстро развернуть веб-приложение. Кажется, что каждый раз, когда я оборачиваюсь, появляются новые акронимы и технологии для изучения (JSON, XMLRPC, GWT, Javascript, Rails и т. Д.).
Вот что должно делать мое приложение:
- С учетом имени пользователя и пароля, авторизуйтесь (достаточно просто, очевидно, все это делает).
- Разрешить пользователю загружать большой объем данных для обработки.
- Обработка этих данных.
- Разрешить пользователю загружать свои обработанные данные.
У меня уже есть Java-скрипты и база данных для обработки данных. На одной машине я могу запустить серию программ командной строки, чтобы обработать входящий блок данных и поместить результаты обратно в базу данных mysql. Это уже присутствует и работает.
Я хочу создать веб-интерфейс для этой задачи, используя эти существующие и проверенные методы. Я сейчас склоняюсь к такому подходу:
- Иметь две машины, машину базы данных и веб-сервер. Этот подход допускает дальнейшую масштабируемость, если это необходимо, но также требует, чтобы я не предполагал, что программы, которые я использую для доступа к данным и манипулирования ими, хранятся локально.
- Используйте приложение Ruby DRb для создания сервера и клиента. Клиент передает данные на сервер, который, в свою очередь, вызывает эти приложения.
- Используйте другой интерфейс Ruby для взаимодействия с DRb для веб-интерфейса.
Вот моя проблема: похоже, что большинство Ruby-приложений для Интернета автоматически пытаются создать какую-то локальную базу данных. Все Rails-уроки , которые я нашел, начинаются с создания своей собственной базы данных и взаимодействия с ней, а это именно то, чего я не хочу делать.
Является ли Rails подходящей технологией для меня или с использованием Ruby DRb? Есть ли какая-то другая технология, которую я должен изучить?
Если Rails или Ruby - правильная вещь, на что мне смотреть? У меня уже есть книга Programming Ruby , и я использовал ее для некоторых бэкэндов, а также для работы с базовыми DRb-компонентами.