رویداد یا Event در زبان BPMN چیست؟
زمان تقریبی مطالعه: 2 دقیقه
تا به اینجای کار با دو دسته از علائم استاندارد زبان BPMN آشنا شده ایم. در این جلسه دسته دیگری از این علائم با عنوان “رویداد یا Event”ها را مورد مطالعه و بررسی قرار می دهیم.
در همه فرایندها رویدادهایی وجود دارند که محقق میشوند. رویدادها اتفاقاتی هستند که در یک نقطه زمانی اتفاق میافتند و اصلا در یک بازه زمانی محقق نمیشوند.
شرایط فرآیند هم که رویدادی در آن وجود دارد به دو دسته قبل از محققشدن رویداد و دقیقا بعد از محققشدن رویداد تقسیم میشود. رویدادها به شکل علایمی به شکل دایره میباشند و معمولا منتظر خبری میباشند تا محقق شوند یا پس از احقاق خبری را بین نودهای مشخص مخابره میکنند.
انواع رویدادها در زبان BPMN
رویدادها با توجه به ویژگی فوق به دو نوع رویدادهای دریافتگرا و رویدادهای پرتابی تقسیم میشوند. رویدادهای دریافتگرا منتظر میمانند تا اتفاقی رخ دهد و محقق شوند و رویدادهای پرتابی رویدادهایی هستند که به محض اینکه جریان فرآیند به آنها برسد، محقق شده و خبری را مخابره میکنند. رویدادهای دریافتگرا رویدادهای توخالی و رویدادهای پرتابی رویدادهای توپر میباشند. در دو نمونه رویداد دریافتگرا و پرتابی برای رویداد Message در شکل زیر نشان داده شده است.
بیشتر بدانید: ویدیو آموزش آنلاین مفاهیم مدلسازی و بکارگیری صحیح BPMN2.0
به عنوان مثال وقتی جریان فرآیند به رویداد دریافتگرا Message بالا میرسد، کار در این رویداد منتظر میماند تا این رویداد از یک فرآیند دیگر پیام دریافت کند تا محقق شود و کار بر روی جریان فرآیند ادامه یابد و اگر وقتی جریان فرآیند به یک رویداد پرتابی Message برسد، این رویداد محقق شده و پیامی را به فرآیند دیگر ارسال میکند و جریان بر روی این فرآیند ادامه پیدا میکند.
رویدادها همچنین به سه دسته رویدادهای آغازین، رویدادهای پایانی و رویدادهای میانی تقسیم میشوند که در ادامه بخش به تفصیل در رابطه با ویژگیهای آنها شرح داده خواهد شد.
سری مقالات آشنایی با علائم استاندارد BPMN:
- جلسه اول: آشنایی با BPMN
- جلسه دوم: آشنایی با علائم استاندارد زبان BPMN
- جلسه سوم: فعالیت یا Task در زبان BPMN چیست؟
- جلسه چهارم: شاخه یا Flow در زبان BPMN چیست؟
- جلسه پنجم: رویداد یا Event در زبان BPMN چیست؟
- جلسه ششم: رویداد یا Event – رویدادهای آغازین
- جلسه هفتم: رویداد یا Event – رویدادهای پایانی
- جلسه هشتم: رویداد یا Event – رویدادهای میانی
- جلسه نهم: درگاه های تصمیم گیری یا Gatewayها
- جلسه دهم: درگاه های تصمیم گیری – Inclusive Gateway
- جلسه یازدهم: درگاه های تصمیم گیری – Parallel Gateway
- جلسه دوازدهم: درگاه های تصمیم گیری – Event-Based Gateway
- جلسه سیزدهم: محدوده یا Pool در زبان BPMN چیست؟
- جلسه چهاردهم: بخش و فاز در فرآیندها چه مفهومی دارند؟
در صورتی که علاقه مند به دریافت این آموزش ها از طریق گوشی موبایل خود هستید میتوانید از طریق کانال تلگرام آکادمی BPM این آموزش ها را دنبال کنید.
سلام روز بخیر- من یه سوال در مورد تفاوت event و receive task هستم. متاسفانه از مرجعی نتونستم پیدا کنم. فرض کنید در یک سازمان بایستی منتظر ورود یک نامه از بیرون باشیم تا کار پرونده ای پیش برود. در اینصورت ورود نامه را باید بعنوان یک event طراحی کنیم یا اینکه بجای آن می توانیم از receive task استفاده کنیم که به محض رسیدن نامه ادامه آن انجام می شود؟
ممنون می شم اگه بصورت کلی تفاوت کاربرد این دو آیتم را در bpmn اشاره بفرمایید.
در پاسخ باید بگوییم، از نظر “رفتار” هیچ تفاوتی با یکدیگر ندارند. تنها تفاوت در “شکل” آنهاست.
اینکه چرا این نماد وجود دارد؟ به خاطر اینه که ما گاهی اوقات در وسط فرایند نیاز به یک عامل تحریک برای ادامه دادن کیسی از فرایند هستیم.
گاهی اوقات پیش میاد که مثلا اگه پس از گذشت زمان زیاد، پیغام عامل تحریک فرایند نیومد بیشتر از این منتظر نمانیم و از یک مسیر دیگه فرایند را پیش ببریم.
تنها راهی که داریم در این حالت استفاده از receive task هست. چون بر روی مرز یه event message که نمیتوانیم رویداد مرزی زمان یا boundary event را تعریف کنیم فقط روی یکی از انواع فعالیتهاست که میتوانیم قرار دهیم. پس در این حالت از receive task استفاده میکنیم .
✅در ضمن به یاد داشته باشید که هیچگاه یک فرآیند را نمیتوانیم با یک تسک شروع کنیم.یعنی حتما باید از یک event receive یا event send استفاده کنیم.
✅بر روی فعالیت میتواند یک event جای گیرد.