Workflow pattern
वर्कफ़्लो पैटर्न डिज़ाइन पैटर्न का एक विशेष रूप है जैसा कि सॉफ्टवेयर इंजीनियरिंग या व्यवसाय प्रक्रिया इंजीनियरिंग के क्षेत्र में परिभाषित किया गया है। कार्यप्रवाह पैटर्न विशेष रूप से कार्यप्रवाह अनुप्रयोगों के विकास से संबंधित आवर्ती समस्याओं और सिद्ध समाधानों को संदर्भित करता है, और अधिक व्यापक रूप से, प्रक्रिया-उन्मुख अनुप्रयोगों को संदर्भित करता है। अवधारणा कार्यप्रवाह प्रतिरूप किफायती विकास की अवधारणाएँ हैं। उनके उपयोग को रखरखाव को सरल बनाने और मॉडलिंग कार्य को कम करने की रणनीतियों का पालन करना चाहिए। कार्यप्रवाह वास्तविक समय में किया जाता है। नियंत्रण के तंत्र को काम की विशिष्ट गति का समर्थन करना चाहिए। डिजाइन पैटर्न को कार्यप्रवाह के निष्पादन में देरी करनी चाहिए। एकत्रीकरण कार्यप्रवाह पैटर्न को आमतौर पर श्रृंखलाओं के रूप में एकत्रित किया जा सकता है और शुरू करने और समाप्त करने की शर्तों को स्पष्ट रूप से परिभाषित किया जाना चाहिए। अनुप्रयोग कार्यप्रवाह पैटर्न को विभिन्न संदर्भों में लागू किया जा सकता है, इसलिए उपयोग की शर्तों को स्पष्ट रूप से परिभाषित किया जाना चाहिए और गलत व्याख्या को रोकने के लिए दिखाया जाना चाहिए। वैन डेर आल्स्ट वर्गीकरण कार्यप्रवाह पैटर्न का एक प्रसिद्ध संग्रह है जिसे विल वैन डेर आल्स्ट एट अल द्वारा प्रस्तावित किया गया है। (2003) अपने पेपर वर्कफ़्लो पैटर्न में। 2000-02 में प्रकाशित पहले के संस्करणों के साथ। प्रतिरूपों का यह संग्रह प्रक्रिया-उन्मुख अनुप्रयोग विकास के एक विशिष्ट पहलू पर केंद्रित है, अर्थात् कार्यप्रवाह/प्रक्रिया में गतिविधियों के बीच नियंत्रण प्रवाह निर्भरता का विवरण। इन प्रतिमानों को निम्नलिखित श्रेणियों में विभाजित किया गया हैः बुनियादी नियंत्रण प्रतिमान क्रम-अनुक्रम समानांतर विभाजन में दो या दो से अधिक गतिविधियों को निष्पादित करें-किसी भी क्रम में या समानांतर रूप से दो या दो से अधिक गतिविधियों को निष्पादित करें-दो या दो से अधिक गतिविधियों को समक्रमित करें जो किसी भी क्रम में या समानांतर रूप से निष्पादित हो सकती हैं; बाद की गतिविधियों के निष्पादन के साथ तब तक आगे न बढ़ें जब तक कि सभी पूर्ववर्ती गतिविधियाँ पूरी न हो जाएं; जिसे बाधा समक्रमण के रूप में भी जाना जाता है। विशिष्ट विकल्प-उन आंकड़ों के आधार पर कई विकल्पों में से एक निष्पादन पथ चुनें जो तब उपलब्ध हो जब प्रक्रिया का निष्पादन विशिष्ट विकल्प तक पहुँच जाए-सरल विलय-आगे बढ़ने से पहले गतिविधियों के एक समूह में से एक को पूरा करने के लिए प्रतीक्षा करें; यह माना जाता है कि इनमें से केवल एक ही गतिविधि निष्पादित की जाएगी; आम तौर पर, ये गतिविधियाँ एक विशेष विकल्प या स्थगित विकल्प से उत्पन्न होने वाले अलग-अलग रास्तों पर होती हैं (नीचे देखें) समाप्त करें-परिभाषित घटना या स्थिति परिवर्तन पर गतिविधियों के निष्पादन को समाप्त करें उन्नत शाखा और समकालिकता पैटर्न एकाधिक विकल्प-कई विकल्पों से कई निष्पादन पथ चुनें सशर्त विकल्प-भेदभावपूर्ण स्थिति शर्तों के अनुसार कई विकल्पों में से एक निष्पादन पथ चुनें-कई निष्पादन पथों को समन्वित करें-कई निष्पादन पथों को मिलाएं; यदि कई मार्ग लिए जाते हैं तो समकालिक करें; एक सरल मार्ग के लिए ऐसा ही करें। भेदभावकर्ता-आगे बढ़ने से पहले गतिविधियों के एक समूह के पूरा होने की प्रतीक्षा करें; यदि प्रतीक्षा की जा रही कई गतिविधियों को निष्पादित किया जाता है, तो भेदभावकर्ता केवल एक बार गोली चलाता है। एन-आउट-ऑफ-एम ज्वाइन-डिस्क्रिमिनेटर के समान लेकिन अब एक से अधिक प्राकृतिक संख्या के लिए एक पैरामीटर एन निर्धारित करके आगे बढ़ने से पहले पिछली गतिविधियों में से एक से अधिक पूरा होने तक इंतजार करना संभव है। संरचनात्मक पैटर्न मनमाना चक्र-प्रक्रिया मॉडल में मौजूद लूप के प्रकारों पर कोई संरचनात्मक प्रतिबंध न लगाएं। अप्रत्यक्ष रूप से समाप्त करें-प्रक्रिया के एक उदाहरण को समाप्त करें यदि सिंक्रनाइज़ किए बिना और कुछ नहीं किया जा सकता है तो कई उदाहरण (एम. आई.) एम. आई.-एक गतिविधि के कई उदाहरण उत्पन्न करें बाद में एम. आई. को एक पूर्व ज्ञात डिज़ाइन समय ज्ञान के साथ सिंक्रनाइज़ किए बिना-एक गतिविधि के कई उदाहरण उत्पन्न करें जब उदाहरणों की संख्या को डिज़ाइन समय (सिंक्रनाइज़ेशन के साथ) एम. आई. को एक पूर्व ज्ञात रनटाइम ज्ञान के साथ जाना जाता है-एक गतिविधि के कई उदाहरण उत्पन्न करें जब रनटाइम के दौरान किसी बिंदु पर कई उदाहरण निर्धारित किए जा सकते हैं (जैसा कि एफ. ओ. आर. लूप में लेकिन समानांतर में) एम. आई. बिना पूर्व रनटाइम ज्ञान के-एक गतिविधि के कई उदाहरण उत्पन्न करें जब कई उदाहरण निर्धारित नहीं किए जा सकते हैं (जैसा कि डब्ल्यू. एच. आई. एल. ई. लूप में लेकिन समानांतर में) राज्य-आधारित पैटर्न आस्थगित विकल्प किस धागे को निष्पादित किया जाना है, यह उस डेटा पर आधारित नहीं है जो उस समय उपलब्ध है जब निष्पादन आस्थगित विकल्प तक पहुँच गया है, बल्कि एक घटना (जैसे। एक अनुप्रयोग उपयोगकर्ता कार्यसूची से किसी कार्य का चयन करता है, या प्रक्रिया निष्पादन इंजन द्वारा प्राप्त किया जा रहा संदेश)। इंटरलीव्ड पैरेलल रूटिंग-किसी भी क्रम में कई गतिविधियों को निष्पादित करें (जैसे। संसाधनों की उपलब्धता के आधार पर), लेकिन इनमें से किसी भी गतिविधि को एक साथ निष्पादित न करें। मील का पत्थर-मील के पत्थर तक पहुँचने से पहले किसी भी समय एक निश्चित गतिविधि की अनुमति दें, जिसके बाद गतिविधि को निष्पादित नहीं किया जा सकता है। रद्दीकरण पैटर्न गतिविधि रद्द करें-एक सक्षम गतिविधि के निष्पादन को रोकें मामला रद्द करें-एक चलने वाली प्रक्रिया के निष्पादन को रोकें प्रतीक्षा रद्द करें-पूर्व समापन घटना के बिना एक चलने वाली प्रक्रिया का निष्पादन जारी रखें उपरोक्त कार्यप्रवाह पैटर्न का उपयोग प्रक्रिया-उन्मुख अनुप्रयोगों के विकास का समर्थन करने वाले वाणिज्यिक उत्पादों की कार्यक्षमता का मूल्यांकन करने के लिए किया गया है। इनका उपयोग बी. पी. ई. एल., बी. पी. एम. एन., यू. एम. एल. गतिविधि आरेख, एक्स. पी. डी. एल. आदि सहित कई प्रस्तावित मानकों का मूल्यांकन करने के लिए भी किया गया है। यह ध्यान दिया गया है कि ये सभी प्रतिमान सभी अनुप्रयोग क्षेत्रों में प्रासंगिक नहीं हैं, इसलिए किसी दिए गए अनुप्रयोग के लिए किसी विशेष भाषा या प्रणाली का चयन करने के लिए उपरोक्त कार्यप्रवाह प्रतिमानों का उपयोग करते समय सावधानी बरतनी चाहिए। कार्यप्रवाह पैटर्न का उपयोग कार्यप्रवाह भाषा और YAWL (अभी तक एक और कार्यप्रवाह भाषा) नामक मुक्त-स्रोत प्रणाली के डिजाइन में प्रारंभिक आवश्यकताओं के रूप में भी किया गया है। वर्कफ़्लो पैटर्न के उपरोक्त सेट के लिए कई विस्तार प्रस्तावित किए गए हैं। विशेष रूप से, इन पैटर्न को विकसित करने वाले उन्हीं शोध समूहों ने कार्यप्रवाह डेटा पैटर्न, कार्यप्रवाह संसाधन पैटर्न, कार्यप्रवाह अपवाद प्रबंधन पैटर्न और सेवा बातचीत पैटर्न का एक सेट भी प्रस्तावित किया है। एक अन्य वर्गीकरण कार्यप्रवाह पैटर्न का एक अन्य वर्गीकरण निम्नलिखित हैः स्वतंत्र/पूल्ड जहां अनुसूचित कार्य का प्रत्येक घटक एक दूसरे के घटक से स्वतंत्र रूप से पूरा होता है और किसी भी घटक की किसी अन्य घटक पर विशिष्ट निर्भरता नहीं होती है। एक उदाहरण होगा जहां कर्मचारी एक काउंटर पर सेवा कर रहे हैं-राउल अपनी कतार में एक ग्राहक की सेवा करने के लिए जेमी की प्रतीक्षा किए बिना अपनी कतार में एक ग्राहक की सेवा कर सकता है। अनुक्रमिक जहाँ अनुसूचित कार्य का प्रत्येक घटक पूर्ववर्ती घटक पर निर्भर है। इस मामले में पूर्ववर्ती घटक बाद के घटकों के माध्यम से कार्यप्रवाह की प्रगति को नियंत्रित करता है। एक उदाहरण उत्पादन लाइन पर होगा-बेट्टी रेडिएटर कैप को मॉडल टी फोर्ड पर तब तक नहीं लगा सकती जब तक कि वेरोनिका रेडिएटर को जगह पर नहीं रख देती। अन्योन्याश्रित/नेटवर्क जहां अनुसूचित कार्य का प्रत्येक घटक एक या कई अन्य घटकों के पूरा होने पर निर्भर है। इस मामले में पूर्ववर्ती घटक बाद के घटकों के माध्यम से कार्यप्रवाह को नियंत्रित करते हैं। एक उदाहरण एक परियोजना दल होगा-सारा को अपने कार्य को पूरा करने से पहले केविन और जॉर्ज द्वारा कई कार्यों को पूरा करने के लिए इंतजार करना होगा। अन्य दृष्टिकोण कार्यप्रवाह पैटर्न नियंत्रण-प्रवाह तक सीमित नहीं हैं। अन्य (कार्यप्रवाह) पैटर्न संग्रहों में शामिल हैंः संसाधन पैटर्न, डेटा पैटर्न, अपवाद पैटर्न, सेवा बातचीत पैटर्न। समानांतरता और पाइपलाइनिंग पैटर्न। इन पैटर्न संग्रहों का उपयोग विभिन्न प्रकार की कार्यप्रवाह प्रक्रियाओं का मूल्यांकन करने के लिए किया गया है, दोनों वाणिज्यिक (वेबस्फेयर, ओरेकल बी. पी. ई. एल., स्टाफवेयर, एस. ए. पी. कार्यप्रवाह, विंडोज कार्यप्रवाह फाउंडेशन, आदि)। और खुला स्रोत। कार्यप्रवाह प्रणाली पैटर्नों को लागू करती है टैवैक्सी एक क्लाउड-आधारित कार्यप्रवाह प्रणाली है जो गैलेक्सी और टैवर्ना के बीच अंतर-संचालन को सक्षम करने के लिए एक पैटर्न-आधारित दृष्टिकोण को लागू करती है, जैव सूचना विज्ञान डोमेन में लोकप्रिय दो कार्यप्रवाह इंजन, YAWL, फिर भी एक और कार्यप्रवाह भाषा, कैमेलियन (प्रोग्रामिंग भाषा), कार्यात्मक प्रोग्रामिंग के लिए कार्यप्रवाह आधारित चित्रमय भाषा। आगे पढ़ने के लिए संदर्भ मार्लन डुमास, विल वैन डेर आल्स्ट और आर्थर एच. एम. टेर हॉफस्टेड एड। (2005)। प्रक्रिया-जागरूक सूचना प्रणालियाँ। जॉन विली एंड संस। .. वोल्कर क्रैम्बर्ग (2006) आई. बी. एम. वेबस्फेयर बी. पी. ई. एल. का पैटर्न-आधारित मूल्यांकनः कार्यप्रवाह पैटर्न पर आधारित आई. बी. एम. के वेबस्फेयर इंटीग्रेशन डेवलपर का मूल्यांकन। बाहरी लिंक कार्यप्रवाह पैटर्न बी. पी. एम. एन. 2 मूल 20 कार्यप्रवाह पैटर्न सॉफ्टवेयर डिजाइन पैटर्न कार्यप्रवाह प्रौद्योगिकी के उदाहरण