Workflow pattern
ورک فلو پیٹرن ڈیزائن پیٹرن کی ایک خاص شکل ہے جیسا کہ سافٹ ویئر انجینئرنگ یا بزنس پروسیس انجینئرنگ کے شعبے میں بیان کیا گیا ہے۔ ورک فلو پیٹرن خاص طور پر بار بار آنے والے مسائل اور خاص طور پر ورک فلو ایپلی کیشنز کی ترقی سے متعلق ثابت شدہ حل، اور زیادہ وسیع پیمانے پر، عمل پر مبنی ایپلی کیشنز کا حوالہ دیتے ہیں۔ تصور ورک فلو پیٹرن اقتصادی ترقی کے تصورات ہیں۔ ان کے استعمال کو دیکھ بھال کو آسان بنانے اور ماڈلنگ کے کام کو کم کرنے کی حکمت عملیوں پر عمل کرنا چاہیے۔ ورک فلو حقیقی وقت میں انجام دیا جاتا ہے۔ کنٹرول کے طریقہ کار کو کام کی عام رفتار کی حمایت کرنی چاہیے۔ ڈیزائن کے نمونوں کو ورک فلو کے نفاذ میں تاخیر کرنی چاہیے۔ مجموعی ورک فلو کے نمونوں کو عام طور پر زنجیروں کے طور پر جمع کیا جا سکتا ہے اور شروع کرنے اور ختم کرنے کی شرائط کو واضح طور پر بیان کیا جانا چاہیے۔ ایپلیکیشن ورک فلو پیٹرن کو مختلف سیاق و سباق میں لاگو کیا جا سکتا ہے، اس لیے غلط تشریح کو روکنے کے لیے استعمال کے لیے شرائط کو واضح طور پر بیان اور دکھایا جانا چاہیے۔ وان ڈیر آلسٹ کی درجہ بندی ورک فلو پیٹرن کا ایک معروف مجموعہ ہے جو ول وین ڈیر آلسٹ اور دیگر نے تجویز کیا ہے۔ (2003) اپنے مقالے ورک فلو پیٹرنز میں۔ 2000-02 میں شائع ہونے والے پہلے ورژن کے ساتھ۔ نمونوں کا یہ مجموعہ عمل پر مبنی ایپلی کیشن ڈویلپمنٹ کے ایک مخصوص پہلو پر مرکوز ہے، یعنی ورک فلو/عمل میں سرگرمیوں کے درمیان کنٹرول فلو انحصار کی تفصیل۔ ان نمونوں کو درج ذیل زمروں میں تقسیم کیا گیا ہے: بنیادی کنٹرول پیٹرن ترتیب-دو یا زیادہ سرگرمیوں کو ترتیب متوازی تقسیم میں انجام دیں-دو یا زیادہ سرگرمیوں کو کسی بھی ترتیب میں یا متوازی مطابقت پذیری میں انجام دیں-دو یا زیادہ سرگرمیوں کو ہم آہنگ کریں جو کسی بھی ترتیب میں یا متوازی طور پر انجام دے سکتی ہیں۔ بعد کی سرگرمیوں کے نفاذ کے ساتھ اس وقت تک آگے نہ بڑھیں جب تک کہ پچھلی تمام سرگرمیاں مکمل نہ ہو جائیں ؛ جسے رکاوٹ ہم آہنگی بھی کہا جاتا ہے۔ خصوصی انتخاب-اعداد و شمار کی بنیاد پر بہت سے متبادلات میں سے ایک عمل درآمد کا راستہ منتخب کریں جو اس وقت دستیاب ہوتا ہے جب عمل کا نفاذ خصوصی انتخاب تک پہنچ جاتا ہے سادہ انضمام-آگے بڑھنے سے پہلے سرگرمیوں کے ایک سیٹ میں سے ایک کے مکمل ہونے کا انتظار کریں۔ یہ فرض کیا جاتا ہے کہ ان سرگرمیوں میں سے صرف ایک پر عمل درآمد کیا جائے گا۔ عام طور پر، یہ سرگرمیاں ایک خصوصی انتخاب یا موخر انتخاب سے پیدا ہونے والے مختلف راستوں پر ہوتی ہیں (نیچے دیکھیں) ختم کریں-طے شدہ واقعہ یا حیثیت کی تبدیلی پر سرگرمیوں کو انجام دینا ختم کریں۔ اعلی درجے کی برانچنگ اور مطابقت پذیری پیٹرن متعدد انتخاب-بہت سے متبادلات سے متعدد عمل درآمد کے راستے منتخب کریں مشروط انتخاب-امتیازی حیثیت کے حالات کے مطابق بہت سے متبادلات میں سے ایک عمل درآمد کا راستہ منتخب کریں مطابقت پذیری انضمام-بہت سے عمل درآمد کے راستوں کو ضم کریں۔ اگر بہت سے راستے لیے جاتے ہیں تو ہم آہنگ کریں۔ امتیازی سلوک کرنے والا-آگے بڑھنے سے پہلے سرگرمیوں کے ایک سیٹ کے مکمل ہونے کا انتظار کریں ؛ اگر انتظار کی جانے والی کئی سرگرمیوں کو انجام دیا جاتا ہے، تو امتیازی سلوک کرنے والا صرف ایک بار فائر کرتا ہے۔ N-out-of-M شامل ہوں-امتیازی سلوک کرنے والے کی طرح لیکن اب یہ ممکن ہے کہ ایک پیرامیٹر N کو ایک سے زیادہ قدرتی نمبر پر ترتیب دے کر آگے بڑھنے سے پہلے پچھلی سرگرمیوں میں سے ایک سے زیادہ مکمل ہونے تک انتظار کیا جائے۔ ساختی نمونے صوابدیدی سائیکل-عمل کے ماڈل میں موجود لوپس کی اقسام پر کوئی ساختی پابندیاں عائد نہ کریں۔ واضح طور پر ختم کریں-اگر مطابقت پذیر کیے بغیر عمل کی ایک مثال کو ختم کریں-ایک سے زیادہ واقعات (ایم آئی) ایم آئی-ایک سرگرمی کی بہت سی مثالیں پیدا کریں انہیں بعد میں ایم آئی کے ساتھ مطابقت پذیر کیے بغیر ایم آئی پہلے سے معلوم ڈیزائن ٹائم علم کے ساتھ-ایک سرگرمی کی بہت سی مثالیں پیدا کریں جب مثالوں کی تعداد ڈیزائن کے وقت (ہم آہنگی کے ساتھ) ایم آئی کو پہلے سے معلوم رن ٹائم علم کے ساتھ معلوم ہو-ایک سرگرمی کی بہت سی مثالیں پیدا کریں جب رن ٹائم کے دوران کسی مقام پر متعدد مثالوں کا تعین کیا جا سکتا ہے (جیسا کہ ایف او آر لوپ میں لیکن متوازی طور پر) ایم آئی پیشگی رن ٹائم علم کے بغیر-ایک سرگرمی کی بہت سی مثالیں پیدا کریں جب متعدد مثالوں کا تعین نہیں کیا جا سکتا (جیسا کہ ڈبلیو ایچ آئی ایل لوپ میں لیکن متوازی طور پر) ریاست پر مبنی پیٹرن ڈیفرڈ چوائس جس تھریڈ پر عمل درآمد کیا جانا ہے اس کا انتخاب اس ڈیٹا پر مبنی نہیں ہے جو اس وقت دستیاب ہے جب عمل موخر انتخاب تک پہنچ گیا ہے، بلکہ اس کا تعین ایک واقعہ (جیسے۔ ایک ایپلیکیشن صارف جو ورک لسٹ میں سے کسی ٹاسک کا انتخاب کرتا ہے، یا پروسیس ایگزیکیوشن انجن کو موصول ہونے والا پیغام)۔ انٹرلییوڈ متوازی روٹنگ-کسی بھی ترتیب میں متعدد سرگرمیوں کو انجام دیں (جیسے۔ وسائل کی دستیابی کی بنیاد پر)، لیکن ان میں سے کسی بھی سرگرمی کو بیک وقت انجام نہ دیں۔ سنگ میل-سنگ میل تک پہنچنے سے پہلے کسی بھی وقت کسی خاص سرگرمی کی اجازت دیں، جس کے بعد سرگرمی کو مزید انجام نہیں دیا جا سکتا۔ منسوخی کے نمونے سرگرمی منسوخ کریں-فعال سرگرمی پر عمل درآمد کو روکیں کیس منسوخ کریں-چل رہے عمل پر عمل درآمد کو روکیں انتظار منسوخ کریں-پیشگی تکمیل کے واقعہ کے بغیر چل رہے عمل پر عمل جاری رکھیں مذکورہ ورک فلو پیٹرن کو عمل پر مبنی ایپلی کیشنز کی ترقی میں معاون تجارتی مصنوعات کی فعالیت کا اندازہ کرنے کے لیے استعمال کیا گیا ہے۔ ان کا استعمال متعدد مجوزہ معیارات کا جائزہ لینے کے لیے بھی کیا گیا ہے، جن میں بی پی ای ایل، بی پی ایم این، یو ایم ایل ایکٹیویٹی ڈائیگرام، ایکس پی ڈی ایل وغیرہ شامل ہیں۔ یہ نوٹ کیا گیا ہے کہ یہ تمام نمونے تمام ایپلی کیشن ڈومینز میں متعلقہ نہیں ہیں، لہذا کسی دی گئی ایپلی کیشن کے لیے کسی خاص زبان یا نظام کو منتخب کرنے کے لیے مندرجہ بالا ورک فلو پیٹرن کا استعمال کرتے وقت احتیاط برتنی چاہیے۔ ورک فلو کے نمونوں کو ورک فلو زبان اور اوپن سورس سسٹم کے ڈیزائن میں ابتدائی ضروریات کے طور پر بھی استعمال کیا گیا ہے جسے YAWL (ابھی تک ایک اور ورک فلو زبان) کہا جاتا ہے۔ ورک فلو پیٹرن کے مذکورہ بالا سیٹ میں کئی توسیعات تجویز کی گئی ہیں۔ خاص طور پر، وہی تحقیقی گروپ جنہوں نے یہ نمونے تیار کیے ہیں، انہوں نے ورک فلو ڈیٹا پیٹرن، ورک فلو ریسورس پیٹرن، ورک فلو ایکسپشن ہینڈلنگ پیٹرن، اور سروس انٹرایکشن پیٹرن کا ایک مجموعہ بھی تجویز کیا ہے۔ ایک اور درجہ بندی ورک فلو پیٹرن کی ایک اور درجہ بندی درج ذیل ہے: آزاد/پولڈ جہاں شیڈول شدہ کام کا ہر جزو ایک دوسرے جزو سے آزاد ہو کر مکمل ہوتا ہے اور کسی بھی جزو کا کسی دوسرے جزو پر مخصوص انحصار نہیں ہوتا ہے۔ ایک مثال یہ ہوگی کہ جہاں عملہ کاؤنٹر پر خدمت کر رہا ہو-راؤل جیمی کے قطار میں کسی گاہک کی خدمت کرنے کا انتظار کیے بغیر اپنی قطار میں کسی گاہک کی خدمت کر سکتا ہے۔ ترتیب جہاں شیڈول شدہ کام کا ہر جزو پچھلے جزو پر منحصر ہے۔ اس صورت میں پچھلا جزو بعد کے اجزاء کے ذریعے ورک فلو کی ترقی کو کنٹرول کرتا ہے۔ ایک مثال پروڈکشن لائن پر ہوگی-بیٹی ریڈی ایٹر کی ٹوپی کو ماڈل ٹی فورڈ پر اس وقت تک نہیں لگا سکتی جب تک کہ ویرونیکا ریڈی ایٹر کو اپنی جگہ پر نہ رکھ دے۔ باہم منحصر/نیٹ ورکڈ جہاں طے شدہ کام کا ہر جزو مکمل ہونے والے ایک یا متعدد دیگر اجزاء پر منحصر ہے۔ اس صورت میں پچھلے اجزاء بعد کے اجزاء کے ذریعے ورک فلو کو کنٹرول کرتے ہیں۔ ایک مثال ایک پروجیکٹ ٹیم ہوگی-سارہ کو اپنے کام کو انجام دینے سے پہلے کیون اور جارج کے ذریعے مکمل کیے جانے والے کئی کاموں کا انتظار کرنا ہوگا۔ دیگر تناظر ورک فلو کے نمونے کنٹرول فلو تک محدود نہیں ہیں۔ دیگر (ورک فلو) نمونوں کے مجموعوں میں شامل ہیں: وسائل کے نمونے، ڈیٹا کے نمونے، مستثنی نمونے، سروس کے تعامل کے نمونے۔ متوازی اور پائپ لائننگ پیٹرن۔ ان نمونوں کے مجموعوں کو مختلف قسم کے ورک فلو کے عمل کا جائزہ لینے کے لیے استعمال کیا گیا ہے، دونوں تجارتی (ویب سپیئر، اوریکل بی پی ای ایل، اسٹاف ویئر، ایس اے پی ورک فلو، ونڈوز ورک فلو فاؤنڈیشن وغیرہ)۔ اور اوپن سورس۔ نمونوں کو نافذ کرنے والے ورک فلو سسٹم ٹاویکسی کلاؤڈ پر مبنی ورک فلو سسٹم ہے جو کہکشاں اور ٹاورنا کے درمیان باہمی تعاون کو فعال کرنے کے لیے ایک نمونے پر مبنی نقطہ نظر کو نافذ کرتا ہے، بائیو انفارمیٹکس ڈومین میں مقبول دو ورک فلو انجن، وائی اے ڈبلیو ایل، ابھی تک ایک اور ورک فلو زبان، کیمیلین (پروگرامنگ زبان)، فنکشنل پروگرامنگ کے لیے ورک فلو پر مبنی گرافیکل زبان۔ مزید پڑھنے والے حوالہ جات مارلن ڈوماس، ول وین ڈیر آلسٹ اور آرتھر ایچ ایم۔ ٹیر ہوفسٹیڈ ایڈ۔ (2005)۔ عمل سے آگاہ معلومات کے نظام۔ جان ولی اینڈ سنز۔ ۔ والکر کرمبرگ (2006) آئی بی ایم ویب سپیئر بی پی ای ایل کی پیٹرن پر مبنی تشخیص: ورک فلو پیٹرن پر مبنی آئی بی ایم کے ویب سپیئر انٹیگریشن ڈویلپر کی تشخیص۔ بیرونی روابط ورک فلو پیٹرن بی پی ایم این 2 اصل 20 ورک فلو پیٹرن سافٹ ویئر ڈیزائن پیٹرن ورک فلو ٹیکنالوجی کی مثالیں