Telegram Group & Telegram Channel
Транзакции в BPMN,
или при чем здесь Том Круз?


А знаете ли вы, что такое транзакционные подпроцессы в нотации BPMN? 😱

Это, наверное, самый частый мой вопрос на собеседованиях аналитиков, где я выступаю интервьюером (ну после вопроса про регистры 1С, разумеется 😂).

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

Любите кино? 🍿

Смотрели "Грань будущего" с Томом Крузом? Я пересматривал раз 20, а еще и ранобэ "All you need is kill" читал и перечитывал.

Так вот, этот фильм - отличная метафора на транзакционный подпроцесс.

События фильма, если кто-то не смотрел (да как такое можно не смотреть 😫)

Кейдж - бывший пиарщик, которого сослали на фронт крошить инопланетян.

Во время штурма на инопланетяшек, по счастливому стечению обстоятельств, парень попал во временную петлю (глотнул кровушки инопланетной перед смертью и случилась магия).

Теперь, в случае смерти, главный герой перемещается во времени к моменту своего пробуждения в лагере перед штурмом.

Чтобы прервать цикл перерождений (и, мимоходом, спасти мир), он должен грохнуть Босса - "Альфу".

В какой-то момент случается так, что Кейдж теряет много крови и, подспудно, теряет возможность перерождаться. Но Босса он не завалил, а значит мир не спас - цель не достигнута.

Ну и теперь он. уже без возможности вернуться к сохранке, идет шмалять из дробаша по инопланетному Боссу 👾

А в финале...
Спойлеров не будет, смотрите фильм 🔫


А теперь пошли по теории BPMN и проведем аналогии с сюжетом.

▫️Транзакция - всегда подпроцесс (набор неких операций) внутри другого - головного процесса.

В фильме:
Жизнь Кейджа - это большой головной процесс.
События фильма - это подпроцесс-транзакция.

Транзакция имеет три варианта завершения:

1️⃣ Успешное завершение - когда все процессы внутри транзакции выполнены на 100% - без сучка, без задоринки. Результаты таких операций фиксируются и управление переходит к родительскому процессу.

В фильме:
Такого не было, но если бы Кейдж грохнул "Альфу" внутри транзакции - то это считалось бы успешным завершением транзакции, прожитый день бы сохранился и главгер жил бы дальше в своем родительском процессе.

2️⃣ Отмена - когда все выполненные внутри транзакции действия обнуляются (компенсируются) и управление переходит к родительскому процессу через отдельное прерывающее событие.

В фильме:
Смерть Кейджа внутри его дня сурка - это, по сути, и есть отмена транзакции. Всё, что он пережил - отменяется (как совершенные операции) и остается только в его памяти - прям как в протоколе исполнения процесса в camunda.

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

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

———
Вот и все особенности транзакции в BPMN, которые необходимо понимать и уметь объяснить "на пальцах" своим пользователям:
😶‍🌫️ исполняется вся или не исполняется вовсе;
😶‍🌫️отменяется с откатом всего, что выполнялось ранее (т.е. не исполняется);
😶‍🌫️ошибка не приводит к откату исполнения: нужно предусматривать такой откат отдельной задачей-компенсацией.

На этом всё.

Смотрите хорошее кино - даже если сегодня понедельник 🗿

———
P.S. Пост написал из любви к фильму "Грань будущего".

И вместе с тем, поскольку мне внезапно написали @systems_education - поучаствую-ка я в конкурсе "Продолжи мысль" от них в номинации "Ясное объяснение" и оставлю здесь хэштег #продолжи_мысль_SE

Вот теперь - всех благ 💞

#аналитику #проБА
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥10👍8



group-telegram.com/analitics_way/83
Create:
Last Update:

Транзакции в BPMN,
или при чем здесь Том Круз?


А знаете ли вы, что такое транзакционные подпроцессы в нотации BPMN? 😱

Это, наверное, самый частый мой вопрос на собеседованиях аналитиков, где я выступаю интервьюером (ну после вопроса про регистры 1С, разумеется 😂).

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

Любите кино? 🍿

Смотрели "Грань будущего" с Томом Крузом? Я пересматривал раз 20, а еще и ранобэ "All you need is kill" читал и перечитывал.

Так вот, этот фильм - отличная метафора на транзакционный подпроцесс.

События фильма, если кто-то не смотрел (да как такое можно не смотреть 😫)

Кейдж - бывший пиарщик, которого сослали на фронт крошить инопланетян.

Во время штурма на инопланетяшек, по счастливому стечению обстоятельств, парень попал во временную петлю (глотнул кровушки инопланетной перед смертью и случилась магия).

Теперь, в случае смерти, главный герой перемещается во времени к моменту своего пробуждения в лагере перед штурмом.

Чтобы прервать цикл перерождений (и, мимоходом, спасти мир), он должен грохнуть Босса - "Альфу".

В какой-то момент случается так, что Кейдж теряет много крови и, подспудно, теряет возможность перерождаться. Но Босса он не завалил, а значит мир не спас - цель не достигнута.

Ну и теперь он. уже без возможности вернуться к сохранке, идет шмалять из дробаша по инопланетному Боссу 👾

А в финале...
Спойлеров не будет, смотрите фильм 🔫


А теперь пошли по теории BPMN и проведем аналогии с сюжетом.

▫️Транзакция - всегда подпроцесс (набор неких операций) внутри другого - головного процесса.

В фильме:
Жизнь Кейджа - это большой головной процесс.
События фильма - это подпроцесс-транзакция.

Транзакция имеет три варианта завершения:

1️⃣ Успешное завершение - когда все процессы внутри транзакции выполнены на 100% - без сучка, без задоринки. Результаты таких операций фиксируются и управление переходит к родительскому процессу.

В фильме:
Такого не было, но если бы Кейдж грохнул "Альфу" внутри транзакции - то это считалось бы успешным завершением транзакции, прожитый день бы сохранился и главгер жил бы дальше в своем родительском процессе.

2️⃣ Отмена - когда все выполненные внутри транзакции действия обнуляются (компенсируются) и управление переходит к родительскому процессу через отдельное прерывающее событие.

В фильме:
Смерть Кейджа внутри его дня сурка - это, по сути, и есть отмена транзакции. Всё, что он пережил - отменяется (как совершенные операции) и остается только в его памяти - прям как в протоколе исполнения процесса в camunda.

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

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

———
Вот и все особенности транзакции в BPMN, которые необходимо понимать и уметь объяснить "на пальцах" своим пользователям:
😶‍🌫️ исполняется вся или не исполняется вовсе;
😶‍🌫️отменяется с откатом всего, что выполнялось ранее (т.е. не исполняется);
😶‍🌫️ошибка не приводит к откату исполнения: нужно предусматривать такой откат отдельной задачей-компенсацией.

На этом всё.

Смотрите хорошее кино - даже если сегодня понедельник 🗿

———
P.S. Пост написал из любви к фильму "Грань будущего".

И вместе с тем, поскольку мне внезапно написали @systems_education - поучаствую-ка я в конкурсе "Продолжи мысль" от них в номинации "Ясное объяснение" и оставлю здесь хэштег #продолжи_мысль_SE

Вот теперь - всех благ 💞

#аналитику #проБА

BY Путь Аналитика | Данилов Роман




Share with your friend now:
group-telegram.com/analitics_way/83

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Ukrainian forces have since put up a strong resistance to the Russian troops amid the war that has left hundreds of Ukrainian civilians, including children, dead, according to the United Nations. Ukrainian and international officials have accused Russia of targeting civilian populations with shelling and bombardments. Ukrainian President Volodymyr Zelensky said in a video message on Tuesday that Ukrainian forces "destroy the invaders wherever we can." The account, "War on Fakes," was created on February 24, the same day Russian President Vladimir Putin announced a "special military operation" and troops began invading Ukraine. The page is rife with disinformation, according to The Atlantic Council's Digital Forensic Research Lab, which studies digital extremism and published a report examining the channel. Some privacy experts say Telegram is not secure enough In addition, Telegram now supports the use of third-party streaming tools like OBS Studio and XSplit to broadcast live video, allowing users to add overlays and multi-screen layouts for a more professional look.
from us


Telegram Путь Аналитика | Данилов Роман
FROM American