راهنمای طراحی فرایند
هر نماد چه کاری انجام میدهد، چطور تنظیم میشود و کجا به کار میآید؟ ابزار مناسب را بشناسید و با اطمینان طراحی کنید.
از درخواست کارمند تا تصمیم مدیر
فرم درخواست ← کار کاربر با ارجاع به مدیر ← دروازه تصمیم ← ثبت نتیجه. در بررسی همزمان چند واحد، از دروازه موازی استفاده کنید.
خدمت منظم، با مشارکت مشتری
ثبت مشتری ← بررسی کارشناس ← اصلاح اطلاعات در کارتابل مشتری ← استعلام سرویس ← اعلام نتیجه. دسترسی و فرم هر مرحله جداگانه تعیین میشود.
شروع
Startنقطه ورود درخواست به فرایند.
چطور استفاده کنم؟
شروع ساده برای ثبت دستی؛ برای آغاز خودکار، پیام، زمان یا شرط و زمینه آغازکننده را تنظیم کنید. در چند شروع دستی، مسیر موردنظر انتخاب میشود.
پایان
Endپایان یک مسیر؛ پایان همه مسیرهای فعال، پرونده را تمام میکند.
چطور استفاده کنم؟
آخرین گام هر مسیر را به پایان وصل کنید. خاتمه، خطا، پیام و جبران رفتارهای متفاوتی دارند.
دریافت رویداد میانی
IntermediateCatchEventمکث تا رسیدن پیام، اعلان، زمان یا برقرار شدن شرط.
چطور استفاده کنم؟
مرجع مشترک رویداد و در صورت نیاز کلید همبستگی را تنظیم کنید. برای پاسخ مشتری، اجازه اقدام و فرم مجاز مشخص شود.
ارسال رویداد میانی
IntermediateThrowEventاعلام یک اتفاق و ادامه جریان.
چطور استفاده کنم؟
نوع و مرجع رویداد را مشخص کنید؛ داده پیام را صریحاً نگاشت کنید. برای پیوند، نام گیرنده باید یکسان باشد.
رویداد مرزی
BoundaryEventواکنش به اتفاقی در طول اجرای یک فعالیت.
چطور استفاده کنم؟
به فعالیت متصل کنید؛ حالت قطعکننده، فعالیت را لغو میکند و حالت غیرقطعکننده مسیر مستقلی میسازد. خطا و لغو باید قطعکننده باشند.
کار عمومی
Taskنمایش یک فعالیت بدون الزام به کارتابل یا اتصال سرویس.
چطور استفاده کنم؟
برای تفکیک مراحل غیرخودکار استفاده کنید؛ موتور از آن عبور میکند. برای انتظار پاسخ انسانی، کار کاربر را انتخاب کنید.
کار کاربر
UserTaskایجاد کار واقعی در کارتابل کارمند یا مشتری.
چطور استفاده کنم؟
هدف کار، نوع ارجاع، مسئول، فرم و تصمیمهای مجاز را تعیین کنید. مشتری بیرونی با نوع ارجاع مشتری مشخص میشود.
کار دستی
ManualTaskمستندسازی کاری که خارج از سامانه انجام میشود.
چطور استفاده کنم؟
موتور منتظر این عنصر نمیماند. اگر پایان کار باید در سامانه ثبت شود، یک کار کاربر پس از آن بگذارید.
کار سرویس
ServiceTaskاجرای خودکار یک اتصال یا سرویس پیکربندیشده.
چطور استفاده کنم؟
اتصال فعال، ورودیها، خروجی و سیاست خطا را مشخص کنید. اجرای بیرونی و نتیجه آن پایدار ذخیره میشوند؛ برای خطا یا مهلت، رویداد مرزی طراحی کنید.
کار اسکریپت
ScriptTaskمحاسبه و مقداردهی با زبان عبارت پروژه.
چطور استفاده کنم؟
از متغیرها و انتسابهای مجاز استفاده کنید. این عنصر اجرای دلخواه C# یا JavaScript نیست و به متغیرهای داخلی موتور دسترسی نوشتن ندارد.
ارسال پیام
SendTaskارسال داده به گیرنده همبسته یا شرکتکننده بیرونی.
چطور استفاده کنم؟
شناسه پیام، کلید همبستگی و نگاشت ورودی را تعیین کنید. برای استخر بیرونی، پیام خروجی از API دریافت و پس از پردازش تأیید میشود.
دریافت پیام
ReceiveTaskانتظار برای پیام با هویت و داده مشخص.
چطور استفاده کنم؟
مرجع پیام و همبستگی را با فرستنده یکسان بگذارید. این فعالیت میتواند رویداد مرزی داشته باشد؛ آغازکننده بودن فقط بدون ورودی عادی مجاز است.
قانون کسبوکار
BusinessRuleTaskانتخاب خروجی بر اساس جدول شرطها.
چطور استفاده کنم؟
شرط و خروجی هر ردیف را تعریف کنید و سیاست اولین تطابق یا همه تطابقها را انتخاب کنید؛ اتصال سرویس قانون نیز باید تنظیم شده باشد.
زیرفرایند
SubProcessگروهبندی چند گام در یک محدوده اجرایی.
چطور استفاده کنم؟
عناصر داخلی را با والد مشترک و شروع ساده طراحی کنید. برای انتقال داده به والد، نگاشت خروجی صریح لازم است.
فراخوانی فرایند
CallActivityاستفاده مجدد از فرایند منتشرشده یا کار سراسری.
چطور استفاده کنم؟
کلید یا شناسه مقصد و نگاشت داده را مشخص کنید. مدل فراخوانیشده برای همان اجرا ثابت میماند.
زیرفرایند موردی
AdHocSubProcessانجام مجموعه کارهایی با ترتیب منعطف.
چطور استفاده کنم؟
ترتیب موازی یا ترتیبی، شرط تکمیل و رفتار کارهای باقیمانده را تعیین کنید. شروع و پایان صریح داخل این محدوده قرار ندهید.
تراکنش فرایندی
Transactionمدیریت محدودهای با مسیر لغو و جبران.
چطور استفاده کنم؟
فعالیتهای قابل جبران و مسیر Cancel را طراحی کنید. این عنصر تراکنش توزیعشده دیتابیس یا برگشت خودکار سرویس بیرونی ایجاد نمیکند.
زیرفرایند رویدادی
EventSubProcessواکنش درون محدوده به رویداد مستقل از جریان عادی.
چطور استفاده کنم؟
به جریان ترتیبی وصل نکنید؛ یک شروع دارای رویداد داخل آن بسازید. قطعکنندگی شروع، سرنوشت مسیر اصلی را تعیین میکند.
دروازه انحصاری
ExclusiveGatewayانتخاب یک مسیر از میان گزینهها.
چطور استفاده کنم؟
شرط خروجیها و مسیر پیشفرض را مشخص کنید. اولین شرط برقرار انتخاب میشود؛ بدون مسیر معتبر، اجرا خطا میدهد.
دروازه موازی
ParallelGatewayشروع همزمان شاخهها یا انتظار برای تمام ورودیها.
چطور استفاده کنم؟
برای شاخهها شرط نگذارید. همگرایی موازی را جایی قرار دهید که همه شاخههای مورد انتظار واقعاً فعال شدهاند.
دروازه فراگیر
InclusiveGatewayفعال کردن یک یا چند شاخه دارای شرط برقرار.
چطور استفاده کنم؟
هر شرط مستقل است؛ در همگرایی، فقط شاخههای فعال انتظار داده میشوند. مسیر پیشفرض برای نبود تطابق مفید است.
دروازه پیچیده
ComplexGatewayکنترل همگرایی با شرط تعداد ورود.
چطور استفاده کنم؟
شرط فعال شدن را با متغیر arrivalCount تنظیم کنید و مسیر خروج را روشن طراحی کنید.
دروازه رویدادی
EventBasedGatewayانتخاب مسیر بر اساس وقوع رویداد.
چطور استفاده کنم؟
خروجی بدون شرط به دریافت پیام یا رویداد وصل شود. در حالت انحصاری اولین رویداد برنده است؛ حالت موازی فقط برای آغازکننده مجاز است.
استخر / شرکتکننده
Poolنمایش مرز یک طرف همکاری.
چطور استفاده کنم؟
برای استخر داخلی، شناسه فرایند را تنظیم کنید؛ برای طرف بیرونی بدون جزئیات، خالی بگذارید. بین طرفها جریان پیام رسم کنید.
مسیر مسئولیت
Laneتفکیک بصری مسئولیتها در یک فرایند.
چطور استفاده کنم؟
عضویت عنصر را از مسیر مسئولیت تنظیم کنید. مسیر به تنهایی مسئول کارتابل تعیین نمیکند؛ ارجاع کار نیز لازم است.
پیام
Messageنمایش محتوای ارتباط میان طرفها.
چطور استفاده کنم؟
مرجع پیام را در ارسال، دریافت و جریان پیام هماهنگ کنید. خود نماد پیام کار اجرایی نمیسازد.
گفتگو
Conversationنمای کلی ارتباط چند شرکتکننده.
چطور استفاده کنم؟
برای مستندسازی موضوع همکاری و اتصال به طرفها استفاده کنید؛ اجرای واقعی با ارسال و دریافت پیام طراحی میشود.
زیرگفتگو
SubConversationتقسیم یک موضوع ارتباطی به گفتگوهای کوچکتر.
چطور استفاده کنم؟
زیرگفتگوها را در والد مناسب قرار دهید. این محدوده جایگزین زیرفرایند اجرایی نیست.
فراخوانی گفتگو
CallConversationارجاع به تعریف مشترک یک همکاری.
چطور استفاده کنم؟
مرجع همکاری را مشخص کنید و برای تبادل اجرایی، پیامها را جداگانه طراحی کنید.
فعالیت تعامل طرفها
ChoreographyTaskنمایش یک تبادل پیام میان دو طرف.
چطور استفاده کنم؟
دو شرکتکننده، طرف آغازکننده و پیام آغاز را مشخص کنید؛ در صورت نیاز پیام پاسخ را نیز تنظیم کنید.
زیرتعامل
SubChoreographyگروهبندی چند تبادل در یک تعامل بزرگتر.
چطور استفاده کنم؟
طرفهای همکاری و فعالیتهای داخلی را مشخص کنید و محدوده داده را مانند زیرفرایند تنظیم کنید.
فراخوانی تعامل
CallChoreographyاستفاده مجدد از یک تعامل تعریفشده.
چطور استفاده کنم؟
مرجع تعامل یا فرایند مقصد، طرفها و نگاشت داده را مشخص کنید.
شیء داده
DataObjectنمایش دادهای که گامها مصرف یا تولید میکنند.
چطور استفاده کنم؟
متغیر متصل، مقدار اولیه و مجموعه بودن را مشخص کنید؛ ارتباط داده را به ورودی یا خروجی مناسب وصل کنید.
مخزن داده
DataStoreنمایش محل نگهداری اطلاعات.
چطور استفاده کنم؟
نام و متغیر داده را مشخص کنید. برای خواندن یا نوشتن واقعی یک سامانه بیرونی، اتصال سرویس نیاز است.
داده ورودی
DataInputمشخص کردن ورودی یک فعالیت یا فرایند.
چطور استفاده کنم؟
مالک داده و نام متغیر را تعیین کنید و از ارتباط ورودی یا نگاشت صریح استفاده کنید.
داده خروجی
DataOutputمشخص کردن نتیجه تولیدشده توسط فعالیت.
چطور استفاده کنم؟
مالک داده و متغیر مقصد را مشخص کنید؛ خروجی زیرفرایند بدون نگاشت به والد منتقل نمیشود.
توضیح متنی
TextAnnotationافزودن توضیح قابل خواندن به نمودار.
چطور استفاده کنم؟
با ارتباط توضیحی به عنصر وصل کنید. متن توضیح شرط یا دستور اجرایی محسوب نمیشود.
گروه
Groupگروهبندی بصری عناصر مرتبط.
چطور استفاده کنم؟
برای خوانایی نمودار استفاده کنید. برای محدوده اجرایی و کنترل داده، زیرفرایند بسازید.