انواع درگاه در بیزاجی آشنایی با Gateways
درگاهها (Gateways) بخشهایی از فرآيندهای كسب و كار هستند كه در آن مسير جريان فرآيند، مي تواند به دو يا چند مسير تقسيم شود. از درگاههای(Getaways) برای مدیریت جریان فرایند استفاده میکنیم.
با کلیک برروی هر مسیر خروجی از درگاه میتوان شرط ورود جریان به فعالیت را تعریف نموده و این شرطها را میتوان بر اساس فیلدها و متغیرهایی که در بخش DataModel تعریف میکنیم مشخص کنیم. برای تعین این شروط بر روی جریانهای خروجی به بخش Define Expressions در محیط Wizard بروید.
نرم افزار بیزاجی براساس دادهی وارد شده توسط کابر، مسیری را که شرط مقدار True برگرداند، برای ادامهی جریان فرایند انتخاب میکند. تنها برای درگاههای واجد شرایط ( که در ادامه ذکر می شود) باید شرایط عبور جریان روی خود درگاه تنظیم شود نه مسیرهای خروجی آن. انواع درگاهها در بیزاجی، عبارت اند از:
1) درگاه انحصاری (Exclusive Getaway)
این درگاه مبتنی بر داده بوده و میتواند n مسیر خروجی( n شرط) داشته باشد، ولی فقط و فقط یکی از مسیرهای آن قابل اجراست. بهتر است برای کشیدن بیش از سه مسیر خروجی از چند درگاه استفاده کنیم.
2) درگاه موازی (Parallel Getaway)
این دروازه مجوزی را بررسی نمیکند؛ یعنی تمام مسیرهای بعد از آن بهصورت موازی انجام میشود، بهعبارتدیگر این درگاه برخلاف درگاه انحصاری نیاز به تعیین شرط و تنظیم آن در فعالیت قبل ندارد. از این درگاه به دو صورت میتوان استفاده کرد:
1) یک ورودی و چند خروجی (واگرا):
در این حالت جریان فرایند بدون هیچ محدودیتی در کلیه مسیرهای خروجی جریان مییابد.
2) چند ورودی و یک خروجی (همگرا یا جمعکننده):
در این نوع از درگاه موازی قبل از فعالکردن جریان خروجی نیاز به رسیدن تمام جریانهای ورودی است. در مثال زیر مشاهده میکنید که اگر Getaway جمعکننده نباشد فعالیت G سه بار اجرا میشود. ما برای این که از این موضوع جلوگیری کنیم از یک درگاه همگرا استفاده می کنیم. درگاههای موازی همگرا برای ادامه کار خود منتظر میمانند تا جریان از سهشاخه وارد شود؛ ولی در حالتی که درگاه جمعکننده از نوع موازی باشد، تا هر سه فعالیت (B،C وD) انجام نشود جریان وارد فعالیت G نمیشود.
نکته: درصورتیکه دروازه واگرا موازی باشد درگاه جمعکننده نیز موازی خواهد بود.
3) درگاه جامع (Inclusive Getaway)
این درگاه همانند درگاه انحصاری شرط ورود را بررسی میکند؛ اما تفاوت اصلی آن با درگاه انحصاری آن است که میتواند در یک یا چند مسیر حرکت کند و تفاوت آن با درگاه موازی علاوه بر کنترل مجوز، در این است که الزاماً تمامی مسیرها مجاز نمیباشند و نیاز به بررسی و کنترل شرط دارد. احتمال دارد با هر بار اجرای فرایند یک یا چند مسیر قابلاجرا باشد. درواقع در این درگاه علاوه بر لزوم داشتن شرط برای هریک از مسیرها امکان اجرای یک یا چند شرط جود دارد.
در تصویر زیر اگر بهجای درگاه جامع از درگاه موازی استفاده میکردیم تنها یک حالت داشتیم ( یعنی هر سه مورد (A،B وC) باید همزمان انجام میشد)؛ ولی حالا ۶ حالت ممکن برای انتخاب مسیر وجود دارد برای مثال یکی از حالات این است که از مسیر A حرکت کند و شرط B و C را انجام دهد و به Task 1 برود.
4) درگاه رویداد (Event-Based Getaway)
در این درگاه جریان بدون تنظیم شرط روی شاخهها وارد همه شاخههای خروجی میشود و اگر یکی از شاخهها فعال شد، جریان فعال شده، کنترل فرایند را در دست گرفته و بقیة شاخهها (جریان مسیرها) غیرفعال شده و از بین میروند.
در فعالیت زیر داریم؛ اگر B را انتخاب و ارسال کنیم کار از کارتابلهای c وD خارج شده و به سمت پایان میرود. برای مثال فرض کنید در این فرایند کاربر می خواهد درخواست تسهیلات به بانک بدهد . جریان فرایند به سمت بانک شماره 1 می رود اگر بانک شماره 1 درخواست را پذیرفت، کار از کارتابل بانک 2 و 3 خارج میشود در غیر این صورت جریان به بانک شماره ی 2 می رود.
5) درگاه پیچیده (Complex Gateway)
تنها درگاهی که میتوان به آن کاربر اختصاص داد و بر روی آن فرم ایجاد کرد درگاه پیچیده است. لازم به ذکر است نمیتوان بر روی مسیرهای خروجی شرط قرارداد به دلیل اینکه کلیه فعالیتهای خروجی در فرم مربوط به درگاه پیچیده قابل انتخاب هستند. یک درگاه پیچیده به مدلساز اجازه میدهد تا شروط موردنیاز برای تعیین نحوة خروج توکنها را مشخص کند.