Отвяжите клиента от версии сервера!!!

В данный момент мы работаем с 5 серверами (базами данных LERS) но используем один клиент
Безымянный.jpg
Это не считая тестового сервера!!!

И если одна база обновлена а остальные нет, то мы не можем зайти (либо в одну, либо в другую)
Всё зависит от того какая версия клиента (если клиент и версия совпадает то войдёт, если нет то нет)

Решение:

  1. Либо делайте универсального клиента, что бы он не зависел от базы данных и обновлялся отдельно (при его обновлении не должны затрагиваться опросная часть, уровни доступа, FrameWork и т.п. (а только интерфейс)

  2. Сохраняйте предыдущие версии клиентов и для входа в старые версии баз подменяйте версию клиента.

На данный момент особенно с тестированием новшеств с вашей стороны испытываем проблемы с подключением.

  1. Можно вовремя обновлять все ваши серверы, чтобы у них у всех была одинаковая актуальная версия, крупные обновления мы выпускаем раз в 2-4 месяца.

Какое-либо универсальное решение потребует огромных трудозатрат. Мы сможем его реализовать только если кто-нибудь будет готов профинансировать разработку. По нашим оценкам это около 10 млн. рублей.

Обновлять то можно, но если выяснится что имеется недоработка какая либо, то проблема выскочит сразу на всех серверах (а их количество у нас постоянно растёт). А это очень критично, даже если обновление выходит раз в 2-4 месяца.

Пример: У нас была написана выгрузка, в обновлении изменили Framework и наша доработка стала неработоспособна, программист у нас приходящий. Внести изменения в выгрузку мы не можем оперативно. Поэтому по одному серверу нам пришлось делать всё в ручную. Если бы мы обновили все сервера то мы просто напросто не успели бы к определённой дате (в нашем случае мы выгружаем 20 числа каждого месяца) И нам выставили бы неустойку. И это пример только когда всё в порядке, а иногда бывает что вносятся какие либо улучшения но с потерей существующего функционала (Был недавно случай приборы перенесли, т.е. в одном месте удалили в другом создали, но привязки то никто не перенёс и нам пришлось всё перепривязывать)

Я понимаю что универсальные решения требуют больших вложений, но может есть какое то менее затратное (не совсем универсальное, но удовлетворяющее и вас и нас) например просто не проверять версию базы, если разница 1-2 обновление (Хранить предыдущую версию тоже не сильно затратно, при обновлении спросить пользователя оставлять или нет предыдущую версию, и сохранить в папку отдельную. Хранить тоже не более 1-2 версий что бы размер не раздулся)