در ادامه مطالب مرتبط به آموزش BPMN به مرور Inclusive Gateway میپردازیم. در مطلب قبلی آموزش Exclusive Gateway همراه با مثال و ویدئو شرح دادیم.
(درگاه جامع) Inclusive Gateway: برای مدلسازی تصمیماتی در فرآیند به کار میرود که امکان تحقق بیش از یک نتیجه در بررسی شرط وجود داشته باشد.
نماد Inclusive Gateway
درگاه Inclusive مشابه درگاه Parallel جهت ایجاد مسیرهای موازی استفاده میشود. اما برخلاف درگاه موازی که همه مسیرهای پس از درگاه، بدون بررسی شرط فعال میشوند. در Inclusive Gateway بر اساس شرایط تعریف شده، توکن فرآیند میتواند از یک تا همه مسیرها خارج شود. این دروازه با عنوان دروازه “OR” نیز نامگذاری میشود و با نماد زیر نمایش داده میشود.
Inclusive Gateway در حالت واگرایی
Inclusive Gateway را میتوان به عنوان ترکیبی خاص از Exclusive Gateway و Parallel Gateway در نظر گرفت. همانند درگاه انحصاری (Exclusive) میتوان شرطهایی را برای تعیین مسیر فرآیند لحاظ کرد و همانند درگاه موازی (Parallel) میتواند بیش از یک مسیر پس از درگاه فعال باشد. یعنی زمانی که در یک فرآیند قرار میگیرد تمامی شرطها را چک میکند و بر اساس برقراری شروط میتواند یک و یا بیش از یک مسیر را انتخاب نماید. اگر هیچ یک از شرطها برقرار نبود، مسیر پیشفرض برای ادامه در نظر گرفته میشود.
Inclusive Gateway در حالت همگرایی
از درگاه جامع (Inclusive Gateway) در حالت همگرایی نیز استفاده میشود. منطق رفتاری آن مانند همگرایی در Parallel Gateway است. یعنی درگاه جامع در حالت همگرایی منتظر رسیدن تمام توکنهای فرآیند میماند که به درگاه منتهی میشوند، پس از رسیدن آخرین توکن، مسیر فرآیند ادامه مییابد.
هنگام استفاده از این دروازه باید بررسی شود که آیا حالتی ممکن است پیش بیاید که هیچ یک از شروط مسیرهای خروجی دروازه برقرار نباشد. در صورت برقرار نبودن شرط هیچ یک از مسیرهای خروجی، حالت بنبست در فرآیند رخ میدهد. برای جلوگیری از این بنبست در این دروازهها بهتر است فرآیند طوری طراحی شود که حداقل عبارت شرطی یکی از مسیرها True باشد.
بررسی یک مثال با استفاده Inclusive Gateway
برای بررسی بیشتر Inclusive Gateway یک مثال را بررسی میکنیم. فرآیند ساده شده هماهنگی سفر را در نظر بگیرید. فرآیند با ثبتنام در سایت مسافرتی آغاز میشود. در مرحله بعد خریدار رزرو هتل و پرواز را انجام میدهد و همچنین وسیله نقلیه برای رفتن رفت و آمد در شهر مبدأ اجاره میکند و سپس پرداخت را انجام میدهد. در نگاه اول این فرآیند میتواند به صورت زیر با استفاده از زبان مدلسازی BPMN طراحی شود.
اما در شرایط واقعی فعالیتهای مربوط به رزرو هتل، رزرو پرواز و اجاره ماشین میتوانند مستقل از هم به صورت موازی صورت بگیرند.
در صورتی که از Parallel Gateway برای طراحی این فرآیند استفاده شود فعالیتهای رزرو هتل، رزرو پرواز و اجاره وسیله نقلیه به صورت موازی قابل اجرا هستند، اما در این شرایط لازم است که هر سه فعالیت اجرا شود تا فرآیند ادامه پیدا کند. در صورتی که شخص اجرا کننده فرآیند قصد داشته باشد از بین سه فعالیت مورد اشاره تعدادی را فقط اجرا کند این طراحی مانع کار میشود.
به عنوان مثال فرد تصمیم بگیرد در شهر محل اقامت از وسایل حمل و نقل عمومی استفاده کند دیگر نیازی به اجاره وسیله نقلیه ندارد یا اگر قصد داشته باشد که با خودروی شخصی به شهر محل اقامت برود، دیگر نیازی به اجرای فعالیت اجاره خودرو و رزرو پرواز ندارد.
باید توجه داشت که استفاده از Exclusive gateway در این شرایط اشتباه است. اگر شما فرآیند را به صورت زیر ترسیم کنید، تنها مجوز اجرای یکی از فعالیتها را دادهاید.
در حالی که طبق سناریوهای مورد بحث این امکان وجود دارد که فرد دو یا حتی سه فعالیت را از بین فعالیتها بعد از gateway اجرا کند.
Inclusive Gateway در مثال فرآیند هماهنگی سفر
راهکار درست برای طراحی این فرآیند استفاده از درگاه جامع (Inclusive Gateway) است. در این شرایط بسته به شروط تنظیم شده این احتمال وجود دارد که یک، یا دو و یا حتی سه فعالیت پس از Gateway اجرا گردد.
البته طرح فوق هنوز یک مشکل منطقی دارد. اگر فرد قصد داشته باشد که فقط فعالیتها رزرو هتل و رزرو پرواز را انجام دهد. دو توکن مستقل به سراغ این فعالیتها میرود و فعالیت اجاره ماشین فعال نمیشود. در این نوع طراحی در صورتی که یکی از فعالیتهای دارای توکن به عنوان مثال فعالیت رزرو هتل انجام شود. فرآیند به سراغ فعالیت پرداخت میرود، بدون اینکه منتظر تکمیل فعالیت رزرو پرواز بماند.
با استفاده از Inclusive Gateway به صورت همگرا میتوان فعالیت را وادار کرد که منتظر تکمیل تمام توکنهای فعالی بعد از Inclusive Gateway واگرا بماند. بر اساس طراحی BPMN درگاه همگراه جامع از تعداد توکنهای فعال درگاه واگرا جامع خود آگاه است.
درخواست دموی نرم افزار BPMS دیدگاه
مطالب مرتبط با معرفی نمادهای BPMN:
نشانگر Loop در مدلسازی BPMN
آموزش Exclusive Gateway در BPMN
آموزش Gateway و Parallel Gateway در BPMN