FUT (инструмент обновления файлов)

FUT logo

Назначение инструмента FUT

Программа FUT (File Update Tool) была разработана для решения задачи обновления файловых компонентов интерактивных программных систем «точно вовремя». Она представляет собой один исполняемый файл, не зависящий от сторонних компонентов и выполняющийся на компьютерах рабочих мест под управлением операционной системы Windows.

Программа FUT выполняет следующие основные операции.

  1. Загружает заранее подготовленные датированные архивы с обновлениями (наподобие updММДДx.zip) с файлового или HTTP-сервера в локальное хранилище.
  2. Распаковывает и устанавливает в строгом хроно-лексикографическом порядке те из них, которые соответствуют текущей дате и не были установлены ранее (например, если рабочее место какое-то время не функционировало).
  3. Ведёт журнал установки обновлений в указанном файле или отправляет на HTTP-сервер.
  4. При успешном завершении установки обновлений может запускать исполняемый файл обновлённой программной системы.

Программа FUT предоставляет следующие дополнительные возможности.

Особенности инструмента FUT

Настройки программы FUT хранятся в текстовом конфигурационном файле, структура которого напоминает INI-файлы Windows. Путь к конфигурационному файлу должен быть указан в командной строке запуска FUT. Если на рабочей станции установлено несколько программных систем, требующих обновлений, то для каждой такой системы должен быть подготовлен отдельный конфигурационный файл с указаниями на её местоположение, сервер обновлений и другими параметрами.

При запуске программа FUT проверяет отсутствие других выполняющихся экземпляров, использующих указанный конфигурационный файл. Так предотвращается одновременная установка обновлений несколькими конкурирующими процессами. В то же время, допускается одновременное обновление нескольких независимых программных систем.

Для определения целевой даты установки обновления программа FUT использует фрагмент ММДД в имени файла с обновлением (формат имени файла описывается в конфигурационном файле). В момент запуска программа полагает, что остаток текущего и следующие три месяца относятся к будущему, и планирует установку обновлений из попадающих в этот диапазон файлов. Предшествующие девять месяцев программа FUT считает прошлым и использует относящиеся к этому диапазону файлы для установки пропущенных обновлений. Какие именно обновления были пропущены программа FUT определяет по имени файла последнего установленного обновления. Это имя хранится и постоянно обновляется в файле состояния программы FUT (путь к нему указывается в конфигурационном файле).

Важно организовать периодическую чистку сервера обновлений от файлов с обновлениями, которые уже были установлены. Если файл с установленным обновлением останется на сервере больше девяти месяцев, то при очередном запуске программы FUT он попадёт в поле её зрения как обновление, подлежащее установке, а по достижении даты ММДД будет обработан повторно.

Предпосылка разработки инструмента FUT

В информационных системах средних и крупных организаций наряду с программным обеспечением общего назначения используются специализированные программные решения для автоматизации конкретных бизнес-задач. Это могут быть как продукты известных ИТ-производителей — IBM, SAP, 1С или СофтКлуб, так и собственные разработки.

Особенностью специализированных программных решений является острая необходимость поддержания их в актуальном состоянии. Устаревшими версиями текстового процессора и электронных таблиц можно пользоваться длительное время без заметных негативных последствий. Мала вероятность серьёзного ущерба и в случае несвоевременной установки обновлений операционной системы. Совсем иная ситуация возникает, если кассовая программа печатает устаревшие формы платёжных документов, экономическая производит расчёты по устаревшей методике, а банковская игнорирует новые требования регулятора.

Программное обеспечение общего назначения может обновляться в удобное время, например в один из обеденных или технологических перерывов. Специализированное программное обеспечение зачастую должно обновляться «точно вовремя», как правило по завершении одного операционного дня и до начала следующего. Преждевременная установка обновления может привести к неправильному функционированию точно так же, как и установка с опозданием. Если новый порядок вступает в силу с 1-го числа месяца, которое выпадает на воскресенье, ИТ-подразделение должно обеспечить установку обновления либо в воскресенье до начала работы, либо в субботу после её завершения.

Программное обеспечение общего назначения, как правило, имеет встроенное средство проверки его актуальности и поддержания в рабочем состоянии. Специализированное программное обеспечение сопровождается таким средством не всегда. Поэтому необходимые мероприятия выполняются ответственными лицами либо вручную, либо с помощью простейших средств автоматизации на основе командных сценариев. В обоих случаях велик риск ошибок или неполного выполнения регламента, затруднён контроль результата из-за отсутствия структурированного журнала.

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