Система контроля и мониторинга актуальности версий ПО и каталогов
Система позволяет осуществлять обновление программных модулей и компонентов используемого программного обеспечения в автоматизированном режиме в больших вычислительных сетях.
Система является надстройкой над Mercurial SCM и состоит из трех частей:- Клиентская часть
- Серверная часть
- Администраторская часть.
Клиентская часть
Представляет собой сервис для ОС Windows, который устанавливается на клиентский компьютер в виде службы, периодически запрашивает сервер о наличии изменений и скачивает их на клиентский компьютер. Помимо этого он отправляет на сервер информацию о текущем состоянии обновления.Обновление всегда выполняется во временную директорию, и только после успешного завершения процесса производится обновление рабочей директории, которое занимает всего несколько секунд. Если же в процессе получения обновлений происходит какой-либо сбой, то через некоторое время сервис пробует повторить операцию загрузки. Это позволяет исключить возможность частичного обновления рабочей директории, что может привести к неработоспособности всего обновляемого ПО.
Кроме того, в процессе обновления сервис отменяет все изменения, сделанные пользователем в рабочей директории, что позволяет получить полное соответствие содержимого рабочей директории программы у пользователя и серверного эталона в случае, если обновление прошло успешно.
Серверная часть
Серверная часть разработанной системы представляет собой непосредственно набор репозиториев, в которых хранятся файлы и их модификаторы. Она имеет удобный web-интерфейс для администратора, в котором отображается список всех инсталляций. Для каждой из них указываются следующие основные параметры:- время первоначальной установки;
- время, прошедшее с момента последнего подключения пользовательского сервиса к серверу мониторинга;
- номера ревизий (версий), который находятся в данный момент на сервере, а также во временном и рабочем репозиториях пользователя.
При интеграции с программными модулями системы «БАЗИС» серверная часть может быть развёрнута на серверах компании «Базис-Центр» и предоставлена по принципу аренды программного обеспечения в облаке (SaaS).
Администраторская часть
Это графическая оболочка для системы Mercurial под названием «Tortoise HG». Она позволяет в удобном виде просматривать текущее состояние серверного репозитория, отслеживать все произведённые в нём изменения, производить их отмену, а так же вносить новые изменения, которые затем будут применены на компьютерах пользователей. Помимо этого у администратора есть возможность воспользоваться web-интерфейсом системы Mercurial, чтобы оперативно получать списки изменений. Отдельно следует отметить, что разработанный сервис обновлений не привязан к конкретной САПР и при соответствующей настройке может быть использован для любого ПО. Он также может применяться для обычной синхронизации файлов с сервером в том случае, если есть необходимость, чтобы рабочие директории на пользовательских компьютерах не имели различий с серверным репозиторием.
В некоторых случаях, после обновления может потребоваться выполнение определённых команд на компьютере пользователя для успешного завершения процесса. Для этого в системе предусмотрена возможность выполнения пост-установочных сценариев. Поскольку сервис работает в ОС Windows как системная служба и запускается с системными правами, для пользователя весь процесс будет прозрачен и не потребуется никаких дополнительных подтверждений, что очень удобно в условиях большой корпоративной сети.
Пример внедрения
Рассматриваемое программное обеспечение было успешно внедрено и эффективно используется в бизнес-процессах одного из ведущих российских производителей мебели – компании «Ангстрем» (г. Воронеж), работающей на отечественном рынке уже более 20 лет и имеющей огромную сеть мебельных салонов во всех регионах России.В настоящее время модуль приема заказов «БАЗИС-Салон» установлен более чем на 400 компьютерах, находящихся в мебельных салонах компании «Ангстрем». Актуальность его компонентов, включая пользовательские базы материалов и прайс-листы, контролируются с помощью описанного выше сервиса обновлений и мониторинга.