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: |

I want a secure messaging app, should I use Telegram? Oh no. There’s a certain degree of myth-making around what exactly went on, so take everything that follows lightly. Telegram was originally launched as a side project by the Durov brothers, with Nikolai handling the coding and Pavel as CEO, while both were at VK. READ MORE Official government accounts have also spread fake fact checks. An official Twitter account for the Russia diplomatic mission in Geneva shared a fake debunking video claiming without evidence that "Western and Ukrainian media are creating thousands of fake news on Russia every day." The video, which has amassed almost 30,000 views, offered a "how-to" spot misinformation. Right now the digital security needs of Russians and Ukrainians are very different, and they lead to very different caveats about how to mitigate the risks associated with using Telegram. For Ukrainians in Ukraine, whose physical safety is at risk because they are in a war zone, digital security is probably not their highest priority. They may value access to news and communication with their loved ones over making sure that all of their communications are encrypted in such a manner that they are indecipherable to Telegram, its employees, or governments with court orders.
from us


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