ایتنا - طراحان معمولاً برای یادگیری BPMN از منابع ثانویه استفاده میکنند.
BPMN 2 جامعترین استاندارد مدلسازی فرآیند، همراه با نمادهای تعریف شده دقیق و یک متامدل رسمی اساسی است. طراحان معمولاً برای یادگیری BPMN از منابع ثانویه (به عنوان مثال کتابها، وبلاگها و مقالات) استفاده میکنند. این منابع آموزشی BPMN، ساده بوده و معمولاً جزئیات در آنها حذف میشوند.
در این مطلب (و دو مطلب آتی) ده حقیقت را در مورد BPMN بیان میکنیم که ممکن است از آنها آگاه نباشید و در واقع تلاش شده است تا برخی از جزئیات مورد نیاز در آن گنجانده شود.
۱- زمان اجرای یک وظیفه بستگی به نوع آن وظیفه دارد فکر میکنید که شروع یک وظیفه بلافاصله پس از به پایان رساندن اجرای وظیفه قبلی است؟ در حقیقت این طور نیست!
این امر به نوع وظیفه بستگی دارد، به واقع آنچه میان انواع وظایف متفاوت است، زمانی است که وظیفه اجرا شده و خاتمه مییابد. به طور کلی، یک فعالیت (به عنوان مثال یک وظیفه و یک زیر فرآیند) در صورتی آماده اجراست که تعداد منابع موردنیاز برای فعال کردن وظیفه در دسترس آن قرار گیرد.
یک فعالیت، پس از اعمال تغییراتی آماده انجام است؛ در واقع زمانی که دادههای ورودی موردنیاز در دسترس باشند، اجرا خواهد شد. در مورد وظایف خودکار (به عنوان مثال وظیفه service، وظیفه script و یا وظیفه ارسال نمودن) بایستی گفت که جهت اجرا منتظر فعالسازی هستند؛ در صورتی که در مورد وظایف انسانی (به عنوان مثال وظایف کاربر و یا وظایف دستی)، وظیفه به یک شخص و یا گروهی از افراد تخصیص می یابد.
به طور خلاصه، نمیتوانید مدت زمانی را که یک وظیفه انسانی به پایان خواهد رسید را پیشبینی کنید، چراکه این امر به عملکرد انسانی که درگیر آن است، بستگی دارد.
۲- بیشتر جریانهای پیام، اجباری و تنها برخی از آنها اختیاری هستند از یک جریان پیام برای نشاندادن جریان پیامها بین دو شرکتکننده که برای ارسال و دریافت آنها آماده هستند، استفاده میشود. تنها یک Pool از شرکتکنندگان، فعالیتها و عناصر رویداد میتوانند به جریانهای پیام متصل گردند.
در برخی از موارد، یک جریان پیام، نشاندهنده یک ارتباط اختیاری است، در صورتی که در موارد دیگر نشاندهنده ارتباط اجباری است. به عبارت بهتر، در مواردی که یک وظیفه انسانی همراه با یک جریان پیام خروجی وجود دارد، ارتباط اختیاری است (به عنوان مثال یک وظیفه انسانی ممکن است یک پیام ارسال کند) و از سوی دیگر، یک ارتباط اجباری با رویدادهای پیام/ارسال/دریافت وظایف تعریف میشود.
۳- چرا با دو رویداد آغازین اجباری، یک فرایند هرگز به پایان نخواهد رسید؟ فرض کنید می خواهید یک فرآیند را آغاز کنید (یک نمونه از یک فرآیند) و این در حالی است که دو رویداد آغازین رخ می دهد (مشابه تصویر زیر).
متاسفانه، این فرآیند هرگز به پایان نمیرسد و این امر از آنجایی ناشی می شود که وقوع هر یک از رویدادهای آغازین (رویداد اول یا رویداد دوم) نمونهای از یک فرآیند جدید را منجر می گردند؛ در نتیجه، هر نمونه از فرآیند در دروازه موازی گیر خواهد کرد. بهترین راهحل برای رفع این مشکل، استفاده از یک دروازه مبتنی بر رویداد موازی برای شروع یک فرآیند است.
در مطالب بعدی، باقی نکات و جزئیات مربوطه ارائه خواهد گشت.