نرم افزار BPMS

رویدادهای رقابتی


   برای توضیح رویدادهای رقابتی یا Racing Event بهتر است ابتدا در مورد رویدادهای مرزی در زیر فرایندها صحبت شود که در مقاله ای جداگانه در مورد رویدادهای مرزی در زیر فرایندها به طور مفصل پرداختیم. اگر یک رویداد داخله گر مرزی در حین اجرای زیر فرایند اتفاق بیفتد می تواند یک زیر فرایند را لغو کند، از این رو حالت مسابقه ای بین دو رویداد به وجود می آید که هر دو می توانند اتفاق بیفتند و بسته به رخ دادن هر یک از آنها، فرایند رفتار متفاوتی را از خود را نشان می دهد که به این رویدادها، رویدادهای رقابتی گفته می شود. در این مقاله قصد داریم به طور مفصل به موضوع رویدادهای رقابتی یا Racing Event بپردازیم. پس با ما همراه باشید تا بیشتر شما خوانندگان گرامی را با رویدادهای رقابتی آشنا کنیم و نحوه استفاده از آنها را یاد بگیرد.

نرم افزار BPMS
رویدادهای رقابتی

رویدادهای رقابتی و درگاه مبتنی بر رویداد :

در شکل فوق مشاهده می کنید که پس از این که زیر فرایند شروع می شود، رویداد زمان سنج نیز شروع می شود و بعد از 7 روز لازم است که سفارش لغو می شود و متوجه می شوید که یک حالت مسابقه ای بین رویداد زمان سنج مرزی و رویداد پایانی زیر فرایند به وجود می آید. این دو رویداد می توانند در محدوده زمانی اتفاق بیفتند و اولین رویدادی که اتفاق بیفتد برنده می شود و سپس برای جریان فرایند تصمیم می گیرد. اگر رویداد زمان سنج برنده شود، در این صورت فعالیت سفارش لغو می شود و اگر رویداد پایانی برنده شود، در این صورت فرایند به صورت عادی به پایان می رسد. لازم به ذکر است که حالت های مسابقه ای بیشتری در مدل فرایند وجود دارد و همچنین یک درگاه مخصوص برای رویدادهای رقابتی وجود دارد که به آن درگاه مبتنی بر رویداد یا Event-based Gateway گفته می شود. در واقع درگاه مبتنی بر رویداد یا همان Event-based Gateway یک نمونه از رویدادهای رقابتی می باشد که BPMN امکان استفاده از این درگاه را برای طراحان مدل های فرایندهای کسب و کار فراهم کرده است که کار آن انتخاب اولین رویداد اتفاق افتاده از میان چندین رویدادهای رقابتی می باشد که استفاده از آن در مدل سازی فرایند بسیار مفید است. در شکل زیر می توانید نحوه استفاده از درگاه مبتنی بر رویداد را مشاهده کنید. تنظیم کننده های فعالیت (Activity Modifiers)

نرم افزار BPMS
رویدادهای رقابتی

درگاه مبتنی بر رویداد یا Event-based Gateway :

در رویدادهای رقابتی فقط می تواند به عنوان درگاه جداکننده استفاده می شود اما سایر درگاه ها می توانند هم به صورت جداکننده و هم به صورت ادغام کننده استفاده شوند. اما شاخه های مختلفی که از این درگاه ها جدا و خارج می شوند، می توانند بدون هیچ مشکلی با درگاه انحصاری XOR به یکدیگر ملحق شوند زیرا درگاه مبتنی بر رویداد دارای معناشناسی جداکننده انحصاری می باشد.
در شکل فوق یک مثال از دریافت پیشنهاد از تامین کننده 1 و 2 را مشاهده می کنید که فرد باید منتظر اولین پیشنهاد باشد تا یک پیام از سوی تامین کننده ای دریافت شود که هر کدام از آنها از رویدادهای رقابتی هستند زیرا دو رویداد در حالت مسابقه ای قرار می گیرند. بنابراین نحوه استفاده از درگاه مبتنی بر رویداد در رویدادهای رقابتی به این صورت می باشد که لازم است رویداد میانی از نوع پیام را دریافت کرد و همچنین می توان از یک وظیفه نوع دریافت استفاده کرد. به عبارتی در زمان استفاده از رویدادهای رقابتی، درگاه مبتنی بر رویداد باید با رویدادهای میانی یا وظیفه های دریافتی همراه باشد یعنی وقتی که درگاه شروع به کار می کند، تمام رویدادها را در فلش های خروجی فعال می کند و سایر رویدادها غیر فعال می شوند. البته لازم به ذکر است که نه فقط رویدادهای پیامی دریافتی بلکه رویدادهای زمان سنج نیز می توانند رخ دهند و امکان پذیر هستند.

تفاوت بین درگاه مبتنی بر رویداد در رویدادهای رقابتی با درگاه جداکننده XOR

وقتی که درگاه شروع به کار می کند، تمام رویدادها را در فلش های خروجی فعال می کند و سایر رویدادها غیر فعال می شوند. بنابراین درگاه مبتنی بر رویداد مانند درگاه XOR عمل می کند با این تفاوت که در این جا درگاه جداکننده XOR مبتنی بر داده تصمیم نمی گیرد بلکه تصمیم مبتنی بر محیط می باشد و هر رویدادی که اول پیام می فرستد بر آن اساس تصمیم می گیرد که کدام شاخه را انتخاب می کند. از این رو انتخاب توسط خود فرایند صورت نمی گیرد و فرایند به رویدادهای اتفاق افتاده در محیط واکنش نشان می دهد که یک تفاوت اصلی بین درگاه جداکننده مبتنی بر داده و درگاه جداکننده مبتنی بر رویداد می باشد. در درگاه مبتنی بر داده، درگاه تصمیم می گیرد که چگونه فرایند مبتنی بر داده ادامه پیدا کند اما در درگاه مبتنی بر رویداد تصمیم توسط محیط گرفته می شود و بستگی به این رویداد دارد که کدام رویداد اول اتفاق می افتد.

  • نرم افزار BPMS

رویدادهای رقابتی (caption) : اگر در درگاه مبتنی بر رویداد، هیچ کدام از رویدادها اتفاق نیفتند و فرایند متوقف شود، برای جلوگیری از توقف فرایند باید از یک رویداد زمان سنج استفاده کرد. اگر هیچ کدام از فعالیت ها پیامی را نفرستادند طبق مدل فرایند فوق فرد باید تا ابد منتظر بماند اما با رویداد زمان سنج به عنوان مثال پس از 3 روز می توان دوباره فرایند را بررسی کرد و سپس می توان سفارش را لغو کرد و یا می توان از تامین کننده دیگری درخواست سفارش را کرد. سپس در چنین شرایط ایده بسیار مناسبی می باشد که از رویداد زمان سنج استفاده کرد.

همان طور که مشاهده می کنید در شکل فوق سه تا رویدادهای رقابتی وجود دارد. پس از فعال شدن درگاه مبتنی بر رویداد این سه رویدادهای رقابتی فعال می شوند که شامل فعال شدن رویداد زمان سنج نیز می باشد و در طول روز اول و دوم فعال می ماند و اگر پیامی دریافت شود فرایند به خوبی ادامه پیدا می کند که در غیر این صورت سفارش لغو می شود و فرایند خاتمه پیدا می کند.

امید است که مطالعه این مقاله تحت عنوان در مورد رویدادهای رقابتی یا Racing Event چه می دانید؟ در خصوص آشنایی با رویدادهای رقابتی یا همان رویدادهای مسابقه ای مفید واقع شود و مورد توجه شما خوانندگان گرامی قرار گیرد.

تنظیم کننده های فعالیت (Activity Modifiers)

فهرست کلی مقالات دوره

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *