Work Flow Pattern - قسمت دوم

در مطلب "Work Flow Pattern - قسمت اول" در مورد تاریخچه پیدایش و کلیت موضوع، مطالبی ارائه گردید، در ادامه به تشریح جزئیات بیشتر در مورد Work Flow Pattern ها پرداخته می شود.

 

الگوهای داده گردش کار

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

 

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

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

1- Task Data (داده وظیفه)

2- Block Data (داده مسدود)

3- Scope Data (داده دامنه)

4- Multiple Instance Data (داده چند نمونه ای)

5- Case Data (داده موردی)

6- Folder Data (داده پوشه)

7- Workflow Data (داده گردش کار)

8- Environment Data (داده محیطی)

 

تعامل داده

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

 

تعامل داده داخلی 

9- Data Interaction – Task To Task (تعامل داده – وظیفه به وظیفه)

10- Data Interaction – Block Task To SubWorkflow Decomposition (تعامل داده – وظیفه مسدود به تجزیه زیر گردش کار)

11- Data Interaction –SubWorkflow Decomposition To Block Task (تعامل داده – تجزیه زیر گردش کار به وظیفه مسدود)

12- Data Interaction – To Multiple Instance Task (تعامل داده – به وظیفه چند نمونه ای)

13- Data Interaction – From Multiple Instance Task (تعامل داده – از وظیفه چند نمونه ای)

14- Data Interaction – Case to Case (تعامل داده – مورد به مورد)

 

تعامل داده خارجی

15- Data Interaction – Task To Environment – Push-Oriented (تعامل داده – وظیفه به محیط – مبتنی بر ارسال)

16- Data Interaction – Environment To Task – Pull-Oriented (تعامل داده – محیط به وظیفه – مبتنی بر دریافت)

17- Data Interaction – Environment To Task – Push-Oriented (تعامل داده – محیط به وظیفه – مبتنی بر ارسال)

18- Data Interaction – Task To Environment – Pull –Oriented (تعامل داده – وظیفه به محیط – مبتنی بر دریافت)

19- Data Interaction – Case To Environment – Push-Oriented (تعامل داده – مورد به محیط – مبتنی بر ارسال)

20- Data Interaction –Environment To Case – Pull-Oriented (تعامل داده – محیط به مورد – مبتنی بر دریافت)

21- Data Interaction –Environment To Case – Push-Oriented (تعامل داده – محیط به مورد – مبتنی بر ارسال)

22- Data Interaction – Case To Environment – Pull-Oriented (تعامل داده – مورد به محیط – مبتنی بر دریافت)

23- Data Interaction – Workflow To Environment – Push-Oriented (تعامل داده – گردش کار به محیط – مبتنی بر ارسال)

24- Data Interaction – Environment To Workflow – Pull-Oriented (تعامل داده – محیط به گردش کار – مبتنی بر دریافت)

25- Data Interaction – Environment To Workflow – Push-Oriented (تعامل داده – محیط به گردش کار – مبتنی بر ارسال)

26- Data Interaction – Workflow To Environment – Pull-Oriented (تعامل داده – گردش کار به محیط – مبتنی بر دریافت)

 

الگوهای انتقال داده

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

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

27- Data Transfer by Value – Incoming (انتقال داده با مقدار – ورودی)

28- Data Transfer by Value – Outgoing (انتقال داده با مقدار – خروجی)

29- Data Transfer – Copy In/ Copy Out (انتقال داده – کپی به/ کپی از)

30- Data Transfer by Reference – Unlocked (انتقال داده با مرجع – بدون قفل)

31- Data Transfer by Reference – With Lock (انتقال داده با مرجع – با قفل)

32- Data Transformation – Input (تبدیل داده – ورودی)

33- Data Transformation – Output (تبدیل داده – خروجی)

 

مسیریابی مبتنی بر داده

از آنجایی که در بخش بالا به بررسی مشخصه های المان های داده  از سایر دیدگاه های فرآیندی پرداخته است، (به عنوان مثال کنترل، منابع و ...)، الگوهای زیر روش های مختلف تعامل المان های داده با سایر دیدگاه ها و تأثیرگذاری بر کل عملیات نمونه فرآیند را در بر می گیرد.

34- Task Precondition – Data Existence (پیش شرط وظیفه – وجود داده)

35- Task Precondition – Data Value (پیش شرط وظیفه – مقدار داده)

36- Task Postcondition – Data Existence (پس شرط وظیفه – وجود داده)

37- Task Postcondition – Data Value (پس شرط وظیفه – مقدار داده)

38- Event-based Task Trigger (راه اندازی وظیفه مبتنی بر رخداد)

39- Data-based Task Trigger (راه اندازی مبتنی بر داده)

40 Data-based Routing (مسیریابی مبتنی بر داده)

 

الگوهای ایجاد

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

 

الگوهای ایجاد به قرار زیر تعریف شده اند:

1- Direct Distribution (توزیع مستقیم)

2- Role-Based Distribution (توزیع مبتنی بر نقش)

3- Deferred Distribution (توزیع با تاخیر) 

4- Authorization (اختیار)

5- Separation of Duties (جداسازی وظایف)

6- Case Handling (کنترل مورد)

7- Retain Familiar (حفظ آشنایی)

8- Capability-Based Distribution (توزیع براساس توانایی)

9- History-Based Distribution (توزیع براساس تاریخچه)

10- Organizational Distribution (توزیع سازمانی)

11- Automatic Execution (اجرای خودکار)

 

الگوی فشار

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

 

با توجه به شکل فوق، موارد زیر قابل ذکر هستند:

S: offer_s مربوط می شود به آیتم کاری که به یک منبع پیشنهاد داده می شود.

S: offer_m مربوط می شود به آیتم کاری که به چند منبع پیشنهاد داده می شود.

S: allocate مربوط می شود به آیتم کاری که به طور مستقیم به یک منبع اختصاص داده شده است و این کار به محض این که ایجاد شده است، انجام می گیرد.

9 نوع از الگوی فشار شناسایی شده است که به سه دسته تقسیم می شود:

دسته اول: روش واقعی توزیع کار را مشخص می کند -چه سیستم های جریان کاری آیتم کاری را به یک منبع یا چند منبع پیشنهاد بدهند چه به صورت مستقیم به یک منبع دسترسی داده شود. این  دسته از الگوها در شکل با کمان پررنگ نمایش داده شده اند و به قرار زیر می باشند:

1- Distribution by Offer - Single Resource  (توزیع با پیشنهاد - تک منبع)

2- Distribution by Offer - Multiple Resources  (توزیع با پیشنهاد - چند منبع)

3- Distribution by Allocation - Single Resource  (توزیع با اختصاص – تک منبع)

 

دسته دوم: وضعیتی که در آن منبع مشخصی  برای برعهده گرفتن یک آیتم کاری در نظر گرفته می شود و با وجود آن که  تعداد زیادی از منابع ممکن شناسایی شده و وجود داشته باشند. این الگو ها به راههای جایگزین زمانی که گذرهای S:offer_s  و S:allocate  می تواند رخ دهد، مربوط می شوند. الگوهای این دسته عبارتند از:

4- Random Allocation  (الگوی تخصیص تصادفی)

5- Round Robin Allocation  (الگوی تخصیص راند روبین)

6- Shortest Queue  (الگوی صف کوتاه)

 

ودر نهایت دسته آخر زمان بندی توزیع فرایندها را تعریف می کند. بخصوص  روابط بین دسترس پذیری یک آیتم کاری برای پیشنهاد یا اختصاص به منابع و زمانی که در آن اجرا شروع می شود. سه امکان وجود دارد: اول این که به آیتم های کاری قبل از این که شروع شده باشند منابع اختصاص داده شده باشد یا پیشنهاد شده باشد. ، دوم بعد از این که شروع شد و حالت سوم این که هر دو رخداد می توانند همزمان رخ دهند. این الگو ها در در شکل در گذرهای S:offer_s, S:offer_m و S:allocate  با توجه به آمادگی آیتم کاری برای انجام شدن اتفاق می افتد.این الگو ها عبارتند از:

7- Early Distribution  (توزیع اولیه)

8- Distribution on Enablement  (توزیع بر اساس توانمندی)

9- Late Distribution (توزیع با تاخیر)


منبع: Workflow-Patterns

Bizagi - Detailed Workflow Patterns Description

ترجمه و گردآوری: پانیذ فرزین - آرمین کریمی


 

درباره رایورز

شرکت مهندسی نرم‌افزار رایورز در اوایل سال 1368 توسط جمعی‌از فعالین حرفه نرم‌افزار تأسیس گردید...

بیشتر بدانید

ارتباط با ما

  • تهران، خيابان ولی عصر، نرسيده به توانير، خيابان احتشام، شماره 5
  • 89326000

  • BPMS@rayvarz.com

خبرنامه پایگاه دانش BPM