Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXVII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 13 мая 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Курий В.Я. АДАПТАЦИЯ СИСТЕМ НА БАЗЕ ALFRESCO ACTIVITI К КАДРОВЫМ ПЕРЕСТАНОВКАМ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXVII междунар. студ. науч.-практ. конф. № 5(76). URL: https://sibac.info/archive/technic/5(76).pdf (дата обращения: 29.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

АДАПТАЦИЯ СИСТЕМ НА БАЗЕ ALFRESCO ACTIVITI К КАДРОВЫМ ПЕРЕСТАНОВКАМ

Курий Владимир Ярославович

студент 2 курса магистратуры, кафедра информационных систем, Университет ИТМО,

РФ, г. Санкт-Петербург

Термины и определения:

Alfresco Activiti – фреймворк на языке Java с открытым исходным кодом, способный исполнять описанные нотацией BPMN бизнес-процессы. [1]

BPMN – система условных обозначений для графического моделирования бизнес-процессов. Такая система облегчает понимание процессов внутри организаций. [2]

Задача (Task) – элемент фреймворка Alfresco Activiti, представляющий собой некоторое действие, выполняемое системой (выполнение Java-кода или скрипта) или пользователем.

Процесс (Process Instance) – элемент фреймворка Alfresco Activiti, представляющий собой набор действий, связанных между собой потоками и ветвлениями, а также связанные с этим процессом переменные. Набор действий, потоки и ветвления описываются диаграммой в нотации BPMN.

Фреймворк – программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. [3]

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

Отсутствие адаптации к таким изменениям в системах на базе Alfresco Activiti может приводить к блокировке или неправильной работе активных процессов.

В данной статье будет рассмотрен процесс адаптации системы на базе фреймворка Alfresco Activiti к кадровым перестановкам. Адаптация будет производиться на примере системы на базе Alfresco Activiti 6.0 с собственным управлением учетными записями (не использующее Identity сервис фреймворка).

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

- Пользователь может быть инициатором (владельцем) процесса;

- Пользователь может быть назначен на связанную с процессом задачу.

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

- Некоторые виды задач, например UserTask, при которой система будет ожидать выполнения действия пользователем;

- События, например, TimerCatchEvent, при котором система будет ожидать наступления определенной даты.

При синхронизации с внешней системой (например, LDAP), за один раз может примениться множество изменений в организационной структуре, и, как следствие, будут затронуты множество пользователей и связанных с ними процессов. В такой ситуации необходимо применять изменения к процессам корректно и в полном объеме, а также избегать модификации одних и тех же процессов.

В текущей работе данная задача решается путем ведения лога изменений. На рисунке 1 наглядно продемонстрирована архитектура данных для данного решения. К уже имеющимся таблицам добавляются следующие:

- change_log_details, содержащая данные по каждому конкретному изменению, например, добавление пользователя в группу;

- change_log, позволяющая объединять изменения в группы в рамках одной синхронизации;

- change_log_type, содержащая список используемых типов изменений;

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

 

Рисунок 1. Архитектура данных истории изменений

 

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

Для применения изменений необходимо программным путем завершить текущее событие или задачу. Для события, например, таймера, это делается путем вызова метода trigger сервиса RuntimeService. Для задачи это делается путем вызова метода completeTask сервиса TaskService. Чтобы избежать повторного назначения пользователей, до этого уже завершивших свои задачи, можно сохранить их список в переменных текущего процесса, а затем учитывать его при дальнейшем назначении пользователей на задачу. Для корректной работы такого подхода необходимо также удалять искусственно завершенные задачи путем метода deleteHistoricTaskInstance сервиса HistoryService.

 

Рисунок 2. Пример изменений в бизнес-процессах

 

Выводы

В процессе данной работы была изучена официальная документация по фреймворку Alfreco Activiti и спроектировано решение по адаптации системы на базе данного фреймворка к кадровым перестановкам, затрагивающим активные на данный момент процессы.

Спроектированное решение позволяет системе динамически перестраивать процессы, что позволит избегать их застоя и ошибочного выполнения и будет полезным в организациях с частыми кадровыми перестановками.

 

Список литературы:

  1. Wikipedia [Электронный ресурс]. URL: https://en.wikipedia.org/wiki/Activiti_(software) (дата обращения: 25.04.2019).
  2. BPMN Specifications [Электронный ресурс]. URL: http://www.bpmn.org/ (дата обращения: 25.04.2019).
  3. Wikipedia [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Фреймворк (дата обращения: 25.04.2019).
  4. Open Source Business Automation. Activiti [Электронный ресурс]. URL: https://www.activiti.org/ (дата обращения: 25.04.2019).
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий