انواع Gateway ها در BPMN
در مطلب قبل به بررسی انواع انواع Task ها پرداختیم. در این جلسه انواع Gateway ها در استاندارد BPMN2.0 رو بررسی خواهیم کرد.
به یک Task تنها یک ورودی، وارد میشود و تنها یک خروجی ، از آن خارج میگردد. در صورت وجود بیش از یک ورودی یا خروجی میتوان از Gateway استفاده نمود.
دروازه یا Gateway:
این Notation برای نمایش نقاط کنترلی و تصمیم گیری ها استفاده می شود.از این Notation هم به عنوان تفکیک کننده مسیر و هم در جهت ترکیب مسیرها استفاده می شود.
مشاهده این فیلم برابری میکند با چندین ماه مطالعه و تجربه کاری
دروازه های انحصاری یا Exclusive یا به اصطلاح XOR
این دروازه زمانی استفاده می شود که فقط و فقط یکی از مسیرهای بعد از آن قابل اجرا باشد بعنوان مثال هنگام تایید مرخصی فقط یکی از دو حالت رد و یا تایید قابل اجراست.پس این دروازه ورودی را که از فعالیتهای قبلتر تعریف شده را کنترل می کند و بر اساس آن مجوز یکی و فقط یکی از مسیرها را صادر می کند و جریان فرایند از آن مسیر ادامه می یابد.
در واقع فقط یک شاخه خروجی دارد. مثال زیر، گویای این موضوع است
این Gateway فقط یک شاخه ورودی و بیش از یک شاخه خروجی میتواند داشته باشد . شاخه های خروجی باید دارای شرط های مختلف باشند . در صورتیکه چند شاخه شرط یکسانی داشته باشند ، این Gateway درست عمل نخواهد کرد.
این دروازه رسماً، دروازۀ انحصاری داده محور (data-based gateway) نامیده شده است. این نام نسبت به دروازۀ XOR معمولاً شناخته شده تر است. «انحصاری» یعنی تنها یکی از جریانهای توالی خارجشده از آن، یا تنها یکی از ورودیها، در هر نمونه ای مجاز است. «داده محور» یعنی ورودیِ مجاز به واسطۀ ارزیابی داده های قبلی تعیین میشود.
دو روش جایگزین برای رسم دروازۀ XOR وجود دارد. یکی از آنها هیچ نمادی درون لوزی ندارد و دیگری یک نماد X درون خود دارد. هیچ تفاوت معنایی بین این دو وجود ندارد اما استاندارد تقاضا دارد که یک روش را انتخاب کرده و به همواره آن را به کار گیرید.
یک تفاوت اساسی بین یک دروازۀ BPMN و «جعبۀ تصمیم گیری» مشابه آن، در ترسم فلوچارت این است که یک دروازه عمل تصمیم گیری را انجام نمیدهد. یک دروازه تنها یک شرط داده را آزمایش مینماید. برای مثال یک دروازه نمیتواند عمل تأیید یا رد را انجام دهد. برای انجام این کار شما نیاز به یک فعالیت دارید. سپس یک دروازه بعد از آن فعالیت میتواند حالت پایانی فعالیت تصمیم گیری را آزمایش و مسیر جریان بعدی را بر اساس نتیجه تعیین کند.
دروازه موازی یا Parallel یا به اصطلاح AND
این دروازه مجوزی را بررسی نمی کند یعنی تمامی مسیرهای بعد از آن بطور موازی انجام می شود. دقت شود که موازی بودن به معنای همزمانی نمی باشد. بعنوان مثال اگر فرایند آشپزی را در نظر بگیریم همزمان می توان هم غذای اصلی و هم پیش غذا را تهیه کرد یعنی این دو فعالیت ذاتا دارای تقدم و تاخر نمی باشند.
نکته: این Gateway دو حالت زیر را داراست :
۱ – یک ورودی و چند خروجی
۲- چند ورودی و یک خروجی. این یک ادغام از نوع همگام سازی است زیرا قبل از فعالکردن جریان خروجی نیاز به رسیدن تمام جریانهای وارد شوندۀ خود دارد.
فعالیتها را بصورت همزمان ارسال می کند و در نهایت ، باید تمامی فعالیتها انجام شوند تا اجازه عبور دهد.
مثالی از این Gateway:
دروازه جامع یا Inclusive یا به اصطلاح OR
این دروازه حالتی مابین دو دروازه قبلی است. همانند دروازه انحصاری مجوز ورود را بررسی می کند اما برخلاف دروازه انحصاری احتمال مجوز بیش از یک مسیر وجود دارد. وتفاوت ان با دروازه موازی علاوه بر کنترل مجوز در این است که الزاما تمامی مسیرها مجاز نمی باشد بلکه بسته به بررسی و کنترل شرط است و احتمال دارد با هر بار اجرای فرایند یک یا چند تا از مسیرها قابل اجرا باشد.
مثال : اگر به مثال آشپزی بر گردیم امکان دارد بعد از دروازه ی جامع سه فعالیت به نامهای تهیه سالاد، تهیه سوپ، تهیه نوشیدنی وجود داشته باشد.بسته به تصمیم گیری که در فعالیت های قبلی گرفته می شود امکان دارد فقط یکی از سه فعالیت، یا دوتا از سه فعالیت و یا هر سه انها انجام شود.چون از ابتدا قطعیتی وجود ندارد و در هربار اجرای فرایند در مورد ان تصمیم گیری می شود پس از دروازه جامع استفاده می شود.
طبق مدل بالا ما می تونیم حالتهای زیر رو داشته باشیم:
- فقط سالاد سفارش بدیم
- فقط سوپ سفارش بدیم
- فقط نوشیدنی سفارش بدیم
- سالاد و سوپ سفارش دهیم
- سالاد و نوشیدنی سفارش بدیم
- سوپ و نوشیدنی سفارش بدیم
- سالاد و سوپ و نوشیدنی سفارش بدیم
درواز مبتنی بر رویداد یا Event-Based
یا این دروازه یک تفاوت اساس با تمامی دروازه ها دارد. در تمامی دروازه های قبلی کنترل و بررسی شرط و تصمیم گیری قبل از دروازه انجام می گیرد و براساس ان مسیر بعد از دروازه تعیین می شود اما در این دروازه بعد از دروازه، شرط براساس رویداد تعریف و براساس ان مسیر ادامه می یابد. پس این دروازه مبتنی بر داده های قبلی نیست بلکه براساس رویداد بعد ازخود مسیر فرایند انجام می شود.
نماد درون شکل دروازه یک رویداد میانی چندگانه است، و در هر خروجی این دروازه یک رویداد میانی گیرنده وجود دارد، به طور معمول یک رویداد پیام و یک رویداد زمان. (ممکن است که شما یک خروجی (gate) نیز برای یک فعالیت دریافت، بدون رویدادهای مرزی، پیوست کنید اما بهتر است فقط از یک رویداد استفاده کنید.)
یک دروازۀ رویداد همانند دروازۀ XOR عادی، یک انتخاب انحصاری را نشان میدهد – یعنی فقط یکی از خروجیها فعال میشود- اما انتخاب بر اساس یک شرط دادۀ فرآیند نیست. خروجی ای که فعال شده باشد، رویدادی است که اولاتفاق می افتد. یک دروازۀ رویداد ممکن است دو یا تعداد بیشتری خروجی داشته باشد، که هر کدام یک رویداد را نشان میدهند و این یک رقابت بین آنهاست.
در شکل بالا، این یک مسابقه بین پیام پاسخ و پایان یک مهلت تعیین شده است. اگر پیام پاسخ اطلاعات در مدت ۷ روز دریافت شود، خروجیِ رویداد پیام فعال میشود و نمونه با فعالیت پردازش درخواست ادامه مییابد. اگر پاسخ طی ۷ روز دریافت نشود، خروجی رویداد زمان فعال میشود و نمونه با حالت پایانی رد شده ادامه پیداد میکند.
دروازه پیچیده یا Complex:
این دروازه همانطور که از نامش پیداست وظیفه پیچیده تری را برعهده دارد و کاربرد اصلی ان در حالت ترکیبی است (برای دروازه های قبلی حالت تفکیکی بررسی شد) این دروازه در حالت ترکیبی یعنی وقتی که مسیر هایی به ان منتهی می شود براساس شروطی که برای ان تعیین می شود مشخص می کند که چه فعالیتهایی باهم اجازه خروج را دارند.
شرکت در دوره های آموزشی زیر میتواند شما را به یک متخصص مدیریت فرایند تبدیل نماید: