Использование Rails JSON API в качестве серверной части для настольного приложения

Моя компания хочет использовать приложение Rails JSON API в качестве серверной части для настольного приложения. Rails JSON API будет использовать базу данных Postgresql.

Однако некоторые клиенты самостоятельно размещают свои данные, то есть у них есть сервер postgresql, установленный на компьютере, который использует настольное приложение. Из-за этих пользователей нам пришлось бы развернуть это приложение Rails, а клиентам пришлось бы запускать сервер Rails API на своих машинах, включая машины Windows. Это хорошая идея или даже возможно?


person Caleb Sayre    schedule 10.03.2016    source источник
comment
Когда вы говорите «самостоятельно», что это значит? Существует ли существующий веб-сервис, предоставляющий их данные? Это на отдельных ноутбуках или есть сервер, предоставляющий данные? (как правило, дополнительная информация об архитектуре поможет дать лучший ответ)   -  person TheToolBox    schedule 10.03.2016
comment
Я не думаю, что это хорошая идея, но если они настроены на это, они должны предоставить Linux-приставку как часть предлагаемого продукта. Но на самом деле это просто не лучшая идея...   -  person joem    schedule 10.03.2016
comment
Использование приложения Rails в качестве бэкенда для каждого настольного клиента звучит как ужасная идея, но это не то, что вы обдумываете? Если вы намерены предоставить своим клиентам возможность самостоятельного размещения, вам нужен очень четкий контракт с подробным описанием того, какую техническую поддержку вы предоставляете, и сколько оплачиваемого времени, иначе они обескровят вас.   -  person max    schedule 10.03.2016
comment
Самостоятельное размещение означает, что у них есть собственный сервер postgresql, который уже использует настольное приложение. Мы попытаемся отправить установщик, который установит сервер rails на тот же компьютер, что и сервер postgresql. У нас есть мобильное приложение и веб-продукт, которые мы предлагаем нашим клиентам (у которых мы размещаем их данные), которые уже используют API Rails. Я думаю, что мысль об этом будет заключаться в том, чтобы сделать его более последовательным.   -  person Caleb Sayre    schedule 10.03.2016
comment
Я бы настоятельно рекомендовал им использовать предоставленный вами образ виртуальной машины. Необходимость развертывания на нескольких ОС (особенно на той, которую нельзя назвать) звучит как кошмар. Теоретически кроссплатформенность проста, но на самом деле тот факт, что базовая система построена на клейкой ленте, палочках от эскимо и пукании единорога и использует неправильный разделитель путей, имеет тенденцию поднимать свою уродливую голову при каждом развертывании. К счастью, мне никогда не приходилось делать это с Ruby, но работа с PHP на IIS не оставила мне никакого желания пробовать это.   -  person max    schedule 10.03.2016
comment
@max у наших клиентов есть только один сервер, они либо размещают его сами, либо мы его размещаем. Если они размещают его, то другие клиенты могут подключаться к серверу, но в большинстве случаев у них есть только одна машина, которая действительно использует настольное приложение.   -  person Caleb Sayre    schedule 10.03.2016
comment
Какой продукт? Настольное приложение или Rails API? Если ваш клиент хочет самостоятельно разместиться по соображениям стоимости, я бы воспринял это как серьезное предупреждение о том, что это может быть проект, который вы, возможно, захотите передать.   -  person max    schedule 10.03.2016
comment
Извините, я имел в виду настольное приложение, которое будет использовать API Rails.   -  person Caleb Sayre    schedule 10.03.2016


Ответы (1)


Если ваши клиенты сами используют базу данных, вам, вероятно, не нужен API, верно?

Otoh, есть такие инструменты, как Portable Ruby от команды phusion, которые позволяют вам упаковать приложение Ruby. Вы также можете создать приложение через JRuby в виде jar или war и развернуть его в любой среде с Java.

person BF4    schedule 10.03.2016
comment
У меня такой же взгляд. Я не думаю, что ему нужен API. Кроме того, мысль о необходимости установить какой-то сервер rails вместе с сервером postgres заставляет меня очень нервничать и не думаю, что это будет приятным опытом. Но основная причина этого заключается в том, чтобы сделать соединение с базой данных согласованным для всех наших продуктов (настольное приложение, мобильное приложение и веб-приложение). - person Caleb Sayre; 11.03.2016