معرفی الگوهای "Cancel Case" و "Cancel Task" در BPMN

معرفی الگوهای “Cancel Case” و “Cancel Task” در BPMN

گاهی اوقات در برخی قسمت‌های فرآیندها نیاز داریم امکان لغو کل درخواست را فراهم کنیم. در این صورت می‌توان از الگوی Cancel Case که در شکل شماره ۱ دیده می‌شود استفاده کرد.

الگوی BPMN

شکل ۱

در شکل فوق همانطور که ملاحظه می‌کنید پس از انجام فعالیت Report Incident بصورت موازی هم امکان انجام فعالیت Analyze a Resolve Incident و هم انتخاب گزینه لغو درخواست برای کاربر وجود دارد.

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

حال فرض کنید می‌خواهید درخواستی را که صادر شده است لغو کنید بطوری که پس از اینکه رویداد لغو درخواست را انتخاب کردید دیگر نمی‌توانید این درخواست را ادامه دهید. یعنی بصورت موازی با انجام کار مانند شکل شماره ۱ امکان لغو وجود ندارد، بلکه در این حالت قبل از انجام کار باید تصمیم بگیرید که کار را انتخاب می‌نمایید یا آن را لغو می‌کنید. با استفاده از الگوی Cancel Task که در شکل شماره ۲ مشاهده می‌نمایید می‌توانید این امکان را داشته باشید. همانطور که ملاحظه می‌کنید در این الگو از Event-Based Gateway استفاده شده است. بنابراین هنگامی که درخواست به این نقطه از فرآیند می‌رسد سیستم از شما می‌خواهد یکی از دو یا چند راه موجود را انتخاب کنید. زمانی که یکی ازمسیرها را انتخاب کنید دیگر انتخاب‌ها را نخواهید داشت.

الگوی BPMN

شکل۲

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

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

Got Something To Say: