Удаленное обновление нескольких веб-сайтов и баз данных одного приложения - PullRequest
0 голосов
/ 19 февраля 2019

Я разработал сетевое базовое приложение, которое представляет собой API-интерфейс, который получает данные от различных устройств на местах.API имеет небольшой веб-сайт в приложении для управления API (все это на IIS).Данные из API хранятся в БД SQL Server Express (2017).На этом же сервере находится приложение WinForms, которое берет данные из базы данных, создает файлы CSV и сохраняет их в папке в веб-приложении.Это сделано для того, чтобы к файлам CSV можно было выдвигать или извлекать доступ по FTP.

Теперь клиент сказал, что хочет взять все приложение, как описано выше, и поместить его на мини-ПК для размещения на сайтах клиентов.может быть сотни мини-ПК с установленным приложением.Я протестировал его на мини-ПК, и он отлично работает.

Что я хочу понять, так это то, как можно удаленно обновлять базу данных API / веб-приложение для всех мини-ПК (одним ударом).Под этим я подразумеваю, что если клиент развертывает 10 мини-ПК с приложением, как описано выше, и год спустя у меня есть обновление таблицы базы данных, SPROC и т. Д., И я добавил функцию в API и на веб-сайт, как я могу заставить их обновлятьсами, не заходя в каждый мини-ПК, чтобы сделать обновление.Поскольку я использую Entity Framework, возможно, API / веб-приложение может работать с базой данных.Приложение Winforms, с которым я могу иметь дело.

На мой взгляд, у меня есть что-то в API / веб-приложении, которое проверяет, есть ли обновление (аналогично приложению WinForms), затем обновляет себя и обновляетIIS.Я также имею в виду тот же принцип для БД.

Я провел некоторое исследование и не могу найти ничего, что имеет смысл с точки зрения этого.

Я думал о том, чтобы FTP открыл новый сайт для всех мини-ПК, но таммогут быть проблемы с брандмауэром на сайте клиента, хотя порт 80 всегда будет открыт.

Буду признателен за изучение любых методов или технологий, которые могут сделать это для меня.

1 Ответ

0 голосов
/ 19 февраля 2019

Основная проблема в вышеупомянутом подходе - проблема брандмауэра с мини-ПК.Немногие пользователи могут заблокировать внешние соединения.Простой способ, о котором я могу подумать, - это разместить обычный веб-сайт и предоставить каждому пользователю доступ к нему, чтобы использовать и поддерживать все в одном месте.Это поможет вам управлять БД, формами API или чем-то еще с точки зрения безопасности или улучшений.

...