Мне было интересно, есть ли у кого-нибудь понимание этого вопроса.
Небольшой фон :
Мы использовали Rails для перехода от старой системы на базе dBase и Visual Basic
создать внутреннюю компанию IntrAnet, которая занимается печатью этикеток,
Инвентарный контроль, доставка и т. д. - в основном ERP
Дилемма
Сейчас нам нужно заменить старый веб-сайт, ориентированный на клиентов, который был сделан на Java, который
будет подключаться к нашей внутренней системе для использования нашими клиентами. Мы хотим иметь возможность извлекать такую информацию, как инвентарь, размещение заказов, выписки со счетов из нашей внутренней системы, и размещать ее на сайте в режиме реального времени. Причина в том, что мы принимаем заказы на веб-сайте, по факсу и телефону, а иногда и у нас есть проходы. Так что иногда (очень редко) даже небольшая задержка в обновлении инвентаря на нашем старом Java-сайте заставляет нас размещать заказы, поскольку мы продаем один и тот же товар двум клиентам в течение получаса. Обычно это исправляется в течение одного дня, но мы хотим избежать этого в будущем.
Актуальный вопрос
Кто-нибудь есть какие-либо предложения о том, как сделать это в лучшую сторону
способ
Вот три варианта, которые я вижу:
a) Создайте отдельное приложение Rails на веб-сервере, которое будет подключаться к той же БД, к которой подключается наше внутреннее приложение.
+++ Плюсы: оперативные данные - то же, что видят наши внутренние приложения, то есть заказы создаются в режиме реального времени, запасы расходуются сразу
--- Минусы: потенциальная угроза безопасности, дублирование кода - т.е. мне нужно продублировать все контроллеры, модели, представления и т. Д., Имеющие дело с заказами.
b) Создайте отдельное приложение Rails на веб-сервере, которое будет подключаться к другой БД из нашего внутреннего приложения.
- +++ Достоинства: Меньше риска для безопасности.
- --- Минусы: дополнительные усилия для синхронизации веб-базы данных и внутренней базы данных (или использования веб-службы, такой как REST-API), дополнительный код для обработки исчерпания запасов и создания # заказа, дублирование кода - т.е. мне нужно дублировать все контроллеры, модели, представления и т. д., связанные с заказами.
в) Выставить внутреннее приложение в Интернете
- +++ Достоинства: все проблемы сверху устранены. Это гораздо более "СУХОЙ" метод.
- --- Минусы: намного больше проблем с безопасностью. Более сложные системы входа в систему - одна для веб-сайтов и одна для внутренних пользователей, использующая LDAP.
Так есть мысли? У кого-нибудь была похожая проблема, которую нужно решить? Помните, что у нашей компании ограниченные ресурсы, а именно один разработчик, который занимается этим. Так что это должно быть одно из тех «правильных» и «умных» решений, а не «бросать деньги / людей / ресурсы на это».
Спасибо.