Workflow pattern
একটি ওয়ার্কফ্লো প্যাটার্ন হল সফ্টওয়্যার ইঞ্জিনিয়ারিং বা ব্যবসায়িক প্রক্রিয়া ইঞ্জিনিয়ারিংয়ের ক্ষেত্রে সংজ্ঞায়িত নকশা প্যাটার্নের একটি বিশেষ রূপ। ওয়ার্কফ্লো প্যাটার্নগুলি বিশেষত পুনরাবৃত্ত সমস্যা এবং বিশেষত ওয়ার্কফ্লো অ্যাপ্লিকেশনগুলির বিকাশের সাথে সম্পর্কিত প্রমাণিত সমাধান এবং আরও বিস্তৃতভাবে, প্রক্রিয়া-ভিত্তিক অ্যাপ্লিকেশনগুলিকে বোঝায়। কর্মপ্রবাহের ধারণার ধরণ হল অর্থনৈতিক উন্নয়নের ধারণা। এগুলির ব্যবহার রক্ষণাবেক্ষণ সহজতর করার এবং মডেলিংয়ের কাজ হ্রাস করার কৌশল অনুসরণ করা উচিত। ওয়ার্কফ্লো রিয়েল টাইমে সঞ্চালিত হয়। নিয়ন্ত্রণের প্রক্রিয়াগুলি অবশ্যই কাজের সাধারণ গতিকে সমর্থন করবে। নকশার নিদর্শনগুলিকে অবশ্যই কর্মপ্রবাহ বাস্তবায়নে বিলম্ব করতে হবে। সমষ্টিগত কর্মপ্রবাহের নিদর্শনগুলি সাধারণত শৃঙ্খল হিসাবে একত্রিত করা যেতে পারে এবং শুরু এবং সমাপ্তির শর্তগুলি স্পষ্টভাবে সংজ্ঞায়িত করা আবশ্যক। অ্যাপ্লিকেশন ওয়ার্কফ্লো প্যাটার্নগুলি বিভিন্ন প্রসঙ্গে প্রয়োগ করা যেতে পারে, তাই ভুল ব্যাখ্যা রোধ করার জন্য ব্যবহারের শর্তগুলি স্পষ্টভাবে সংজ্ঞায়িত এবং দেখানো আবশ্যক। ভ্যান ডার আলস্ট শ্রেণীবিভাগ ওয়ার্কফ্লো প্যাটার্নের একটি সুপরিচিত সংগ্রহ যা উইল ভ্যান ডার আলস্ট এট আল দ্বারা প্রস্তাবিত। (2003) তাদের গবেষণাপত্রে ওয়ার্কফ্লো প্যাটার্নস। 2000-02-এ প্রকাশিত পূর্ববর্তী সংস্করণগুলির সাথে। নিদর্শনগুলির এই সংগ্রহটি প্রক্রিয়া-ভিত্তিক প্রয়োগ বিকাশের একটি নির্দিষ্ট দিকের উপর দৃষ্টি নিবদ্ধ করে, যথা একটি কর্মপ্রবাহ/প্রক্রিয়ার ক্রিয়াকলাপগুলির মধ্যে নিয়ন্ত্রণ প্রবাহের নির্ভরতার বিবরণ। এই প্যাটার্নগুলি নিম্নলিখিত বিভাগগুলিতে বিভক্ত করা হয়েছেঃ মৌলিক নিয়ন্ত্রণ প্যাটার্ন ক্রম-সমান্তরাল বিভাজন ক্রমে দুই বা ততোধিক ক্রিয়াকলাপ সম্পাদন করুন-যে কোনও ক্রমে বা সমান্তরালে দুই বা ততোধিক ক্রিয়াকলাপ সম্পাদন করুন সিঙ্ক্রোনাইজ করুন-যে কোনও ক্রমে বা সমান্তরালে সম্পাদন করতে পারে এমন দুই বা ততোধিক ক্রিয়াকলাপকে সিঙ্ক্রোনাইজ করুন; পূর্ববর্তী সমস্ত ক্রিয়াকলাপ শেষ না হওয়া পর্যন্ত পরবর্তী ক্রিয়াকলাপগুলি কার্যকর করার সাথে এগিয়ে যাবেন না; বাধা সিঙ্ক্রোনাইজেশন হিসাবেও পরিচিত। এক্সক্লুসিভ চয়েস-তথ্যের উপর ভিত্তি করে উপলব্ধ অনেক বিকল্প থেকে একটি কার্যকর করার পথ বেছে নিন যা প্রক্রিয়াটি কার্যকর করার সময় একচেটিয়া পছন্দ সিম্পল মার্জে পৌঁছায়-এগিয়ে যাওয়ার আগে ক্রিয়াকলাপগুলির একটি সেট সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন; এটি ধরে নেওয়া হয় যে এই ক্রিয়াকলাপগুলির মধ্যে কেবল একটিই কার্যকর হবে; সাধারণত, এই ক্রিয়াকলাপগুলি একটি একচেটিয়া পছন্দ বা বিলম্বিত পছন্দ থেকে উদ্ভূত বিভিন্ন পথে রয়েছে (নীচে দেখুন) শেষ করুন-সংজ্ঞায়িত ইভেন্ট বা স্থিতি পরিবর্তনের উপর ক্রিয়াকলাপগুলি কার্যকর করা বন্ধ করুন উন্নত শাখা এবং সিঙ্ক্রোনাইজেশন প্যাটার্ন একাধিক পছন্দ-অনেকগুলি বিকল্প থেকে বেশ কয়েকটি কার্যকর করার পথ বেছে নিন শর্তসাপেক্ষ পছন্দ-বৈষম্যমূলক স্থিতির শর্ত অনুসারে অনেকগুলি কার্যকর করার পথ থেকে একটি কার্যকর করার পথ বেছে নিন সিঙ্ক্রোনাইজিং মার্জ-অনেকগুলি কার্যকর করার পথ একত্রিত করুন; যদি অনেকগুলি পথ নেওয়া হয় তবে সিঙ্ক্রোনাইজ করুন; একটি সহজ পথের জন্য একই কাজ করুন। বৈষম্যমূলক-এগিয়ে যাওয়ার আগে ক্রিয়াকলাপগুলির একটি সেট সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন; যদি অপেক্ষা করা বেশ কয়েকটি ক্রিয়াকলাপ কার্যকর করা হয়, তবে বৈষম্যকারী কেবল একবার গুলি চালায়। এন-আউট-অফ-এম যোগ দিন-বৈষম্যকারীর মতোই কিন্তু এখন একের চেয়ে বড় কোনও প্রাকৃতিক সংখ্যার জন্য একটি প্যারামিটার এন সেট করে এগিয়ে যাওয়ার আগে পূর্ববর্তী ক্রিয়াকলাপগুলির একাধিক সম্পূর্ণ না হওয়া পর্যন্ত অপেক্ষা করা সম্ভব। কাঠামোগত প্যাটার্ন নির্বিচারে চক্র-প্রক্রিয়া মডেলে যে ধরনের লুপ থাকতে পারে তার উপর কোনও কাঠামোগত বিধিনিষেধ আরোপ করবেন না। অন্তর্নিহিতভাবে শেষ করুন-প্রক্রিয়াটির একটি উদাহরণ শেষ করুন যদি সিঙ্ক্রোনাইজ না করে অন্য কিছু করা যায় একাধিক ইনস্ট্যান্স (এম. আই) এম. আই-একটি ক্রিয়াকলাপের অনেকগুলি উদাহরণ তৈরি করুন পরে এম. আই-কে একটি পূর্ববর্তী পরিচিত নকশা সময় জ্ঞানের সাথে সিঙ্ক্রোনাইজ না করে-একটি ক্রিয়াকলাপের অনেকগুলি উদাহরণ তৈরি করুন যখন নকশা সময়ে দৃষ্টান্তের সংখ্যা (সিঙ্ক্রোনাইজেশন সহ) এম. আই একটি পূর্ববর্তী পরিচিত রানটাইম জ্ঞানের সাথে জানা যায়-একটি ক্রিয়াকলাপের অনেকগুলি উদাহরণ তৈরি করুন যখন রানটাইমের সময় কোনও সময়ে বেশ কয়েকটি দৃষ্টান্ত নির্ধারণ করা যেতে পারে (যেমন ফর লুপে কিন্তু সমান্তরালে) এম. আই পূর্ববর্তী রানটাইম জ্ঞান ছাড়াই-একটি ক্রিয়াকলাপের অনেকগুলি উদাহরণ তৈরি করুন যখন বেশ কয়েকটি দৃষ্টান্ত নির্ধারণ করা যায় না (যেমন হুইল লুপে কিন্তু সমান্তরালে) রাষ্ট্র-ভিত্তিক প্যাটার্ন ডিফার্ড চয়েস কোন থ্রেডটি কার্যকর করা হবে তা এই মুহুর্তে উপলব্ধ তথ্যের উপর ভিত্তি করে নয় যে এক্সিকিউশনটি বিলম্বিত পছন্দটিতে পৌঁছেছে, বরং একটি ইভেন্ট দ্বারা নির্ধারিত হয় (যেমন। একটি অ্যাপ্লিকেশন ব্যবহারকারী ওয়ার্কলিস্ট থেকে একটি কাজ নির্বাচন করছে, অথবা প্রসেস এক্সিকিউশন ইঞ্জিন দ্বারা প্রাপ্ত একটি বার্তা)। ইন্টারলিভেড প্যারালাল রাউটিং-যে কোনও ক্রমে বেশ কয়েকটি ক্রিয়াকলাপ সম্পাদন করুন (যেমন। সম্পদের উপলব্ধতার উপর ভিত্তি করে), তবে এই ক্রিয়াকলাপগুলির কোনওটিই একযোগে সম্পাদন করবেন না। মাইলফলক-মাইলফলক পৌঁছানোর আগে যে কোনও সময় একটি নির্দিষ্ট ক্রিয়াকলাপের অনুমতি দিন, যার পরে ক্রিয়াকলাপটি আর কার্যকর করা যাবে না। বাতিলকরণের ধরণ ক্রিয়াকলাপ বাতিল করুন-একটি সক্রিয় ক্রিয়াকলাপ কার্যকর করা বন্ধ করুন কেস বাতিল করুন-একটি চলমান প্রক্রিয়া কার্যকর করা বন্ধ করুন অপেক্ষা বাতিল করুন-পূর্বের সমাপ্তি ইভেন্ট ছাড়াই একটি চলমান প্রক্রিয়া চালিয়ে যান উপরের কর্মপ্রবাহের নিদর্শনগুলি প্রক্রিয়া-ভিত্তিক অ্যাপ্লিকেশনগুলির বিকাশকে সমর্থনকারী বাণিজ্যিক পণ্যগুলির কার্যকারিতা মূল্যায়ন করতে ব্যবহৃত হয়েছে। বিপিইএল, বিপিএমএন, ইউএমএল ক্রিয়াকলাপ রেখাচিত্র, এক্সপিডিএল ইত্যাদি সহ বেশ কয়েকটি প্রস্তাবিত মান মূল্যায়নের জন্যও এগুলি ব্যবহার করা হয়েছে। এটি লক্ষ্য করা গেছে যে এই সমস্ত প্যাটার্নগুলি সমস্ত অ্যাপ্লিকেশন ডোমেনে প্রাসঙ্গিক নয়, তাই প্রদত্ত অ্যাপ্লিকেশনের জন্য একটি নির্দিষ্ট ভাষা বা সিস্টেম নির্বাচন করতে উপরের ওয়ার্কফ্লো প্যাটার্নগুলি ব্যবহার করার সময় অবশ্যই যত্ন নিতে হবে। ওয়ার্কফ্লো প্যাটার্নগুলি ওয়ার্কফ্লো ভাষা এবং ওয়াইএডব্লিউএল (এখনও আরেকটি ওয়ার্কফ্লো ভাষা) নামক ওপেন-সোর্স সিস্টেমের নকশায় প্রাথমিক প্রয়োজনীয়তা হিসাবেও ব্যবহৃত হয়েছে। উপরের ওয়ার্কফ্লো প্যাটার্নের বেশ কয়েকটি সম্প্রসারণের প্রস্তাব দেওয়া হয়েছে। বিশেষত, একই গবেষণা গোষ্ঠীগুলি যারা এই নিদর্শনগুলি তৈরি করেছে, তারা ওয়ার্কফ্লো ডেটা প্যাটার্ন, ওয়ার্কফ্লো রিসোর্স প্যাটার্ন, ওয়ার্কফ্লো এক্সসেপশন হ্যান্ডলিং প্যাটার্ন এবং পরিষেবা মিথস্ক্রিয়া প্যাটার্নের একটি সেটও প্রস্তাব করেছে। ওয়ার্কফ্লো প্যাটার্নের আরেকটি শ্রেণিবিন্যাস নিম্নরূপঃ স্বাধীন/পুলড যেখানে নির্ধারিত কাজের প্রতিটি উপাদান একে অপরের উপাদান থেকে স্বাধীনভাবে সম্পন্ন হয় এবং কোনও উপাদানের অন্য কোনও উপাদানের উপর নির্দিষ্ট নির্ভরতা থাকে না। একটি উদাহরণ হতে পারে যেখানে কর্মীরা একটি কাউন্টারে কাজ করছে-রাউল তার সারিতে জেমি তার সারিতে একজন গ্রাহককে পরিবেশন করার জন্য অপেক্ষা না করে তার সারিতে একজন গ্রাহককে পরিবেশন করতে পারে। ক্রমিক যেখানে নির্ধারিত কাজের প্রতিটি উপাদান পূর্ববর্তী উপাদানের উপর নির্ভরশীল। এই ক্ষেত্রে পূর্ববর্তী উপাদানটি পরবর্তী উপাদানগুলির মাধ্যমে কর্মপ্রবাহের অগ্রগতি নিয়ন্ত্রণ করে। একটি উদাহরণ হবে প্রোডাকশন লাইনে-ভেরোনিকা রেডিয়েটারটি না লাগানো পর্যন্ত বেটি মডেল টি ফোর্ডের সাথে রেডিয়েটার ক্যাপটি লাগাতে পারে না। আন্তঃনির্ভরশীল/নেটওয়ার্কযুক্ত যেখানে নির্ধারিত কাজের প্রতিটি উপাদান এক বা একাধিক অন্যান্য উপাদান সম্পন্ন হওয়ার উপর নির্ভরশীল। এই ক্ষেত্রে পূর্ববর্তী উপাদানগুলি পরবর্তী উপাদানগুলির মাধ্যমে কর্মপ্রবাহ নিয়ন্ত্রণ করে। একটি উদাহরণ হবে একটি প্রকল্প দল-সারাকে তার কাজটি সম্পাদন করার আগে কেভিন এবং জর্জের দ্বারা বেশ কয়েকটি কাজ সম্পন্ন হওয়ার জন্য অপেক্ষা করতে হবে। অন্যান্য দৃষ্টিভঙ্গি কর্মপ্রবাহের নিদর্শনগুলি নিয়ন্ত্রণ-প্রবাহের মধ্যে সীমাবদ্ধ নয়। অন্যান্য (ওয়ার্কফ্লো) প্যাটার্ন সংগ্রহের মধ্যে রয়েছেঃ রিসোর্স প্যাটার্ন, ডেটা প্যাটার্ন, ব্যতিক্রম প্যাটার্ন, পরিষেবা মিথস্ক্রিয়া প্যাটার্ন। সমান্তরালতা এবং পাইপলাইনিং নিদর্শন। এই নিদর্শন সংগ্রহগুলি বিভিন্ন ওয়ার্কফ্লো প্রক্রিয়াগুলির মূল্যায়নের জন্য ব্যবহার করা হয়েছে, উভয়ই বাণিজ্যিক (ওয়েবস্ফিয়ার, ওরাকল বিপিইএল, স্টাফওয়্যার, এসএপি ওয়ার্কফ্লো, উইন্ডোজ ওয়ার্কফ্লো ফাউন্ডেশন ইত্যাদি)। এবং ওপেন সোর্স। প্যাটার্ন প্রয়োগকারী ওয়ার্কফ্লো সিস্টেম টাভ্যাক্সি একটি ক্লাউড-ভিত্তিক ওয়ার্কফ্লো সিস্টেম যা গ্যালাক্সি এবং টাভার্নার মধ্যে আন্তঃব্যবহারযোগ্যতা সক্ষম করার জন্য একটি প্যাটার্ন-ভিত্তিক পদ্ধতি প্রয়োগ করে, বায়োইনফরম্যাটিক্স ডোমেনে জনপ্রিয় দুটি ওয়ার্কফ্লো ইঞ্জিন, ওয়াইএডব্লিউএল, এট অ্যানাদার ওয়ার্কফ্লো ল্যাঙ্গুয়েজ, ক্যামেলিয়ন (প্রোগ্রামিং ভাষা), কার্যকরী প্রোগ্রামিংয়ের জন্য ওয়ার্কফ্লো ভিত্তিক গ্রাফিকাল ভাষা। আরও পড়ুন মার্লন ডুমাস, উইল ভ্যান ডার আলস্ট এবং আর্থার এইচ. এম. টের হফস্টেড সংস্করণ। (2005)। প্রক্রিয়া-সচেতন তথ্য ব্যবস্থা। জন উইলি অ্যান্ড সন্স। । ভলকার ক্র্যামবার্গ (2006) আইবিএম ওয়েবস্ফিয়ার বিপিইএল-এর প্যাটার্ন-ভিত্তিক মূল্যায়নঃ ওয়ার্কফ্লো প্যাটার্নের উপর ভিত্তি করে আইবিএম-এর ওয়েবস্ফিয়ার ইন্টিগ্রেশন ডেভেলপারের মূল্যায়ন। বাহ্যিক লিঙ্ক ওয়ার্কফ্লো প্যাটার্ন বিপিএমএন 2 মূল 20টি ওয়ার্কফ্লো প্যাটার্নের উদাহরণ সফ্টওয়্যার ডিজাইন প্যাটার্ন ওয়ার্কফ্লো প্রযুক্তি