История изменений переменных процесса

Эта функция доступна только в редакции OpenBPM Control Enterprise начиная с версии 2.0.0.

На вкладке История → Переменные экземпляра процесса отображается только последнее значение каждой переменной. История изменений переменных показывает каждое изменение переменной: когда оно произошло, в какой активности, какое значение получила переменная и было ли это изменение созданием, обновлением или удалением переменной.

Функция помогает операторам и аналитикам:

  • выяснить, на каком шаге процесса переменная получила неожиданное значение;

  • увидеть, какие переменные изменила конкретная активность;

  • проследить весь жизненный цикл отдельной переменной прямо на BPMN-диаграмме;

  • выбрать активность, с которой нужно перезапустить процесс, перед модификацией экземпляра процесса.

Функция доступна в подробностях экземпляра процесса и поддерживает два способа анализа изменений:

  • по активности — выберите активность на диаграмме и посмотрите, какие переменные были в ней изменены;

  • по переменной — выберите переменную и посмотрите все её изменения на диаграмме.

Предварительные условия

  • Лицензия. Лицензия OpenBPM Control Enterprise должна включать функцию PROCESS_VARIABLE_HISTORY. Если функция не лицензирована, вкладка Журнал переменных и кнопка Показать изменения процессных переменных на диаграмме отображаются, но недоступны, а действие Изменения переменных не отображается в контекстном меню элемента диаграммы.

  • Уровень истории BPM-движка. Изменения переменных читаются из исторических данных (historic details), которые сохраняет BPM-движок. Движок записывает их, только если установлен уровень истории full, например, для OpenBPM Engine на Spring Boot:

    openbpm.bpm.history-level=full

    Подробнее см. Настройка истории. При более низком уровне истории журнал изменений будет пустым.

  • Права доступа. У пользователя должен быть доступ на чтение переменных процесса, например ресурсная роль Variables: read (variables-read). Для пользователей без этого права кнопка, вкладка и действия контекстного меню, связанные с изменениями переменных, скрыты. См. Управление доступом.

Журнал переменных

Чтобы просмотреть все изменения переменных экземпляра процесса одним списком:

  1. Перейдите в меню Экземпляры процессов и откройте нужный экземпляр процесса.

  2. Перейдите на вкладку История и выберите вкладку Журнал переменных. В заголовке вкладки отображается общее количество изменений, например Журнал переменных (7).

process variable history 4

Каждая строка соответствует одному изменению переменной:

Колонка Описание

Id

Идентификатор изменения. Нажмите на него, чтобы открыть детали изменения.

Экземпляр активности

Экземпляр активности, в котором было сделано изменение. Нажмите на идентификатор, чтобы открыть детали экземпляра активности.

Экземпляр переменной

Изменённый экземпляр переменной. Кнопка рядом с идентификатором показывает историю этой переменной на диаграмме.

Имя переменной

Имя переменной процесса.

Дата

Дата и время изменения.

Ревизия

Номер ревизии переменной, назначенный BPM-движком.

Тип переменной

Тип значения переменной, например String, Double, Object, File.

Значение

Значение переменной после изменения.

Тип изменения

Update или Delete. См. Определение типа изменения.

Просмотр изменений переменных по активности

Этот режим отвечает на вопрос: «Какие переменные были изменены на этом шаге?»

Включение режима

Воспользуйтесь одним из способов:

  • Нажмите кнопку Показать изменения процессных переменных (иконка { }) на панели инструментов диаграммы, а затем выберите на диаграмме завершённую или выполняющуюся активность. Активности, которые ещё не были пройдены, выбрать нельзя.

    process variable history 1
  • Нажмите правой кнопкой мыши на завершённую или выполняющуюся активность на диаграмме и выберите Изменения переменных в контекстном меню.

После включения режима над диаграммой отображается подсказка «Выберите активность для просмотра изменений переменных», а выбранная активность выделяется на диаграмме.

Чтобы выйти из режима, нажмите кнопку Скрыть изменения процессных переменных или закройте вкладку Изменения переменных.

Вкладка «Изменения переменных»

При выборе активности рядом с вкладками Состояние и История открывается закрываемая вкладка Изменения переменных. Вкладка содержит:

  • Активность — имя и идентификатор выбранной активности;

  • Дата начала — время начала выбранного экземпляра активности;

  • таблицу изменений переменных, сделанных в выбранной активности. Колонки таблицы совпадают с колонками журнала переменных.

process variable history 2

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

process variable history 3

Если выбранная активность выполнялась несколько раз (например, многоэкземплярная активность или цикл), слева дополнительно отображается дерево Экземпляры активности. Выберите экземпляр активности в дереве, чтобы увидеть изменения переменных, сделанные именно в этом выполнении.

Переменные, переданные при запуске процесса, привязаны к экземпляру процесса, а не к конкретному экземпляру активности. Они отображаются как изменения стартового события.

Просмотр истории отдельной переменной

Этот режим отвечает на вопрос: «Как менялась эта переменная в ходе выполнения процесса?»

История отображается для конкретного экземпляра переменной, а не для имени переменной. Например, у двух локальных переменных с одинаковым именем в разных выполнениях (executions) будут отдельные истории.

Открытие истории

  1. Откройте экземпляр процесса и перейдите на вкладку История.

  2. Выберите вкладку Переменные или Журнал переменных.

  3. В колонке Экземпляр переменной нажмите кнопку Показать изменения переменной на диаграмме рядом с идентификатором.

process variable history 5

Изменения на диаграмме

Над активностями, в которых изменялась переменная, отображаются метки:

  • если переменная изменялась в активности один раз, метка показывает порядковый номер изменения, например №1;

  • если переменная изменялась в активности несколько раз, метка показывает количество изменений.

Цвет метки зависит от типа изменения:

Цвет Тип изменения

Зелёный

Переменная создана (первое изменение экземпляра переменной).

Синий

Переменная обновлена.

Красный

Переменная удалена.

Карточки изменений

Под диаграммой, рядом с именем переменной, отображается список карточек. Каждая карточка соответствует одному изменению переменной и содержит:

  • порядковый номер изменения, окрашенный в соответствии с типом изменения;

  • идентификатор активности, в которой было сделано изменение;

  • значение переменной после изменения;

  • дату и время изменения;

  • кнопку Посмотреть детали, которая открывает детали изменения.

Используйте кнопки со стрелками для прокрутки карточек, а кнопку закрытия рядом с именем переменной — чтобы скрыть историю.

Нажмите на карточку, чтобы выделить соответствующую активность на диаграмме.

Изменения, не привязанные к активности

Некоторые изменения не привязаны ни к одной активности, например переменные, изменённые через API. На таких карточках отображается Неизвестная активность с иконкой подсказки. При нажатии на такую карточку на диаграмме выбирается ближайшая активность, завершённая до момента изменения. Если такой активности нет, отображается уведомление «Завершённых активностей до этого изменения не найдено».

Контекстное меню элемента BPMN

Нажмите правой кнопкой мыши на любой элемент диаграммы экземпляра процесса, чтобы открыть его контекстное меню Детали активности. В меню отображаются:

  • тип элемента BPMN;

  • Id и имя элемента из BPMN XML, каждое с кнопкой копирования;

  • для выполненных элементов — раздел Экземпляр активности:

    • статус экземпляра активности (выполняется или завершена);

    • время начала и, для завершённых активностей, время окончания;

  • для многоэкземплярных активностей — раздел Экземпляры активности с количеством экземпляров вместо статуса и времени;

  • действие Изменения переменных для выполняющихся и завершённых активностей, которое показывает изменения переменных в активности.

BPM-движок не сохраняет исторический экземпляр активности для выполняющейся активности с инцидентом. Поэтому для таких активностей время начала не отображается.

Детали изменения

Дополнительная информация доступна в следующих диалогах:

  • Изменение переменной — открывается из колонки Id или кнопкой Посмотреть детали на карточке изменения. Показывает имя переменной, ревизию, тип переменной, тип изменения, дату и время, признак При запуске процесса, идентификаторы экземпляра активности и экземпляра переменной, а также полное значение с кнопкой Скопировать. Для файловых переменных файл можно скачать, для объектных переменных отображаются тип объекта и формат сериализации.

    process variable history 6
  • Экземпляр переменной — открывается из колонки Экземпляр переменной. Содержит вкладку Общая информация и вкладку Журнал изменений со всеми изменениями этого экземпляра переменной.

  • Экземпляр активности — открывается из колонки Экземпляр активности. Содержит вкладку с общей информацией и вкладку Изменения переменных со всеми изменениями переменных, сделанными в этом экземпляре активности.

Определение типа изменения

BPM-движок не хранит тип изменения переменной явно, поэтому OpenBPM Control вычисляет его:

  • Delete — значение переменной после изменения отсутствует (для файловых переменных — отсутствует имя файла);

  • Update — во всех остальных случаях.

Признак создания переменной не относится к отдельному изменению: он определяется по всей истории экземпляра переменной. Поэтому в таблицах и в диалоге Изменение переменной первое изменение отображается как Update, а на диаграмме и в карточках первое изменение экземпляра переменной отмечается как созданное (зелёная метка).

Для переменных типов Null, Bytes и несериализуемых объектов BPM-движок не предоставляет достаточно информации для определения удаления. Изменения таких переменных всегда отображаются как Update.

Работа с модификацией экземпляра процесса

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

История переменных помогает выбрать активность, с которой нужно перезапустить процесс. Если в одном из режимов истории переменных выбрана завершённая активность и вы переключаетесь в режим модификации, OpenBPM Control спросит, использовать ли выбранную активность в качестве целевой. Нажмите Да, чтобы предварительно выбрать её как целевую активность модификации.