image Итак, в первой части было рассмотрено, какие бывают бизнес-процессы по степени их устойчивости к изменениям, технические концепции для реализации конкретного типа БП, а также пример логики добавления/удаления таска из адаптивной модели БП.
В этой части статьи собираюсь подробней описать, чем же adaptive BPM (aBPM) отличаются от normative BPM (nBPM) и от Adaptive Case Management (ACM), затем представить архитектуру получившейся aBPM системы.



На рисунке 1 хорошо виден переход от явно структурированных БП (nBPM) к неявно структурированным БП, проще говоря к ACM.


image


Нельзя сказать, что nBPM — это прошлый век, а за ACM — будущее автоматизации процесс менеджмента.


Для одних БП в одном контексте более применим один подход, а для других БП в другом контексте применим другой подход моделирования.


Примером может служить самый изъезженный БП "заявка на отпуск". Есть возможность реализовать этот процесс с помощью ACM, или же с помощью обычного TreeSet.


Это можно сравнить с забиванием гвоздя в доску. Годится взять молоток и забить гвоздь, а возможно взять и установку для забивания строительных свай, потом произвести расчёты по силе, амплитуде, углу удара и этой установкой забить гвоздь. Результат тот же — гвоздь забит, но насколько было сложное решение (включая проектировку и изготовление такой установки для свай) для решения простой задачи. А для забивания свай молоток совсем не подходит.


Важно понимать, какой инструмент и в каком контексте применять к задачам.


nBPM — хорошо подходит к чётко структурированным и коротким по длительности исполнения БП в пределах одного предприятия, например тот же БП "заявка на отпуск".


ACM — хорошо решают задачи с неявно структурированными БП, например в медицине и в страховании, когда каждая инстанция процесса может быть индивидуально смоделирована согласно возникшей ситуации. Несколько примеров применения АСМ описал maxstroy.


aBPM — на мой взгляд, нечто среднее, компромисс между чёткой структурой nBPM и сложным ACM. Хорошо применим в случаях непредвиденных изменений модели БП длинных по времени исполнения экземпляров процессов.


Типичный пример из финансовой отрасли "погашение кредита" (длительность исполнения БП до 30 лет) — в момент старта модель БП находится в актуальном состоянии и все запускаемые экземпляры процесса одинаковые. Однако в течении 30 лет возникают новые требования к модели процесса (например, изменения в законодательстве), и необходимые изменения применяются уже к запущенным экземплярам процесса "на лету", то есть без прерывания выполнения данного экземпляра. Все новые экземпляры процесса уже содержат в себе эти изменения, происходит так называемая эволюция БП.


По воле случая я наиболее часто имел дело с aBPM, о которой и пойдёт дальнейшее повествование.


Архитектура aBPM представляет собой "надстройку" над любым обычным BPM Engine.


image


Архитектура не зависит от производителя, что дает ещё одну возможность управления миграциями БП с одного BPM Engine на другой (например, как произошло с JBoss BPM, когда Red Hat отказался от поддержки и дальнейшей разработки этого BPM "движка").


BPM-Adapter — инкапсулирует функционал общения с каждым типом BPM Engine; в данном примере будет взят только один тип BPM Engine — это open souce Camunda BPM (fork от Activiti BPM), но в принципе возможны любые комбинации.


PCS — является ядром системы, которое и управляет всеми процессами в BPM Engine. Например, при вызове функции запуска экземпляра процесса, PCS берёт на себя управление версиями моделей БП и решает, какую версию на каком BPM Engine запускать.


В следующей части расскажу о моделировании aBPM прoцессов.


Забегая наперёд, хочется отметить основную идею моделирования aBPM:


Модель aBPM состоит из двух подтипов процессов:


— предметные бизнес-процессы
— технические бизнес-процессы


Предметные бизнес-процессы собираются из технических БП, из которых в свою очередь строится модель бизнес логики данного БП. В предметных БП разрешено только частичное использование элементов стандарта BPMN 2.0.


Технические бизнес-процессы вмещают полный функционал стандарта BPMN 2.0.


Спасибо за внимание, добавляйте в закладки и до следующей части статьи!

Поделиться с друзьями
-->

Комментарии (8)


  1. janson
    17.12.2016 23:09

    Смотрю на картинку для привлечения внимания, на заголовок статьи и сразу мысль: «Чего тут автоматизировать, если оно уже не работает?»


  1. Mimus_spb
    18.12.2016 10:47
    +2

    Что вы хотите донести вашей теорией с академической (в плохом смысле слова) подачей?
    Из-за таких статей люди и бросают разбираться в бизнес-процессах.
    Пожалуйста, не пишите больше на хабр.


    1. asushko
      18.12.2016 11:31

      Отлично, с удовольствием разберусь с Вашими бизнес процессами!


      1. Tiulkin
        19.12.2016 23:26

        1. Не пишите, пожалуйста, "вашими" с заглавной — сильно выдаёт продажника невысокого уровня.
        2. Приведите, пожалуйста, пару примеров. Например, стандартный процесс закупки в розничной сети.


        1. asushko
          20.12.2016 17:06

          Это и есть задача следующей части статьи — описать особенности моделирования aBPM.
          Если предоставите модель процесса будет вам пример.


  1. acidcherry
    20.12.2016 09:49

    мне не дает покоя картинка с шестеренками и человечками, которую можно истолковать по-разному:

    1. если у человечков одинаковая сила, и они двигают шестеренки — ничего не заработает, застопорится сразу же. наверное, отсылка к теории, что в команде должны быть разные роли.

    2. если у человечков разная сила, начнется бой за выживание «у кого самые сильные ноги», но тоже работать будет криво, по целому ряду причин. конкурентная корпоративная культура и ее несовершенства.

    3. но если наоборот, шестеренки крутятся, а человечкам надо за ними поспевать, то их (человечков) потери составят через одного, либо 2, либо 3, а зависимости от направления движения. и тут ничего не зависит от силы человечков, только от везения, в каком направлении крутится твоя шестеренка. и если не в том — его перемалывают жернова бизнес-процессов. работа больших корпораций, где «механизмы» не пекутся о «винтиках», и незаменимых людей не бывает.

    Было бы любопытно услышать, какой смысл вложил автор публикации :)


    1. asushko
      20.12.2016 10:04

      Картинка связана с понятием «Автоматизация». Основная задача которой "освобождение человека от участия в процессах получения, преобразования, передачи и использования энергии, материалов, изделий или информации, либо существенного уменьшения степени этого участия или трудоёмкости выполняемых операций".

      Шестеренки символ автоматизированного процесса, человечков каждый видит в своём контексте.


      1. acidcherry
        20.12.2016 12:23

        И как копипаст с википедии должен объяснить мне, почему вы выбрали заведомо нерабочий механизм как символ автоматизации? :)