
व्यापार प्रक्रिया मॉडल और नोटेशन (BPMN) कार्यप्रवाहों का वर्णन करने के लिए एक सार्वभौमिक भाषा के रूप में कार्य करता है। इस दृश्य मानक के भीतर, घटनाएँ प्रक्रिया को आगे बढ़ाने वाले ट्रिगर और परिणाम के रूप में कार्य करते हैं। इन घटनाओं के कार्य करने के तरीके के स्पष्ट ज्ञान के बिना, एक प्रक्रिया मॉडल अस्पष्ट या तकनीकी रूप से अक्रिय हो सकता है। इस गाइड में तीन मुख्य श्रेणियों का विश्लेषण किया गया है: स्टार्ट, इंटरमीडिएट और एंड घटनाएँ।
BPMN नोटेशन में घटनाओं को वृत्त के रूप में दर्शाया जाता है। उनके आंतरिक प्रतीक उनके विशिष्ट व्यवहार को निर्धारित करते हैं। वे प्रक्रिया गतिविधि के आरंभ, घटित होने या समाप्ति को चिह्नित करते हैं। इन्हें सही तरीके से बनाने से यह सुनिश्चित होता है कि तर्क एक कार्य से दूसरे कार्य तक तार्किक रूप से प्रवाहित हो।
🟢 स्टार्ट घटनाएँ: ट्रिगर बिंदु
एक स्टार्ट घटना प्रक्रिया को शुरू करती है। यह वह प्रवेश बिंदु है जहाँ कार्यप्रवाह के निष्पादन की शुरुआत होती है। दृश्य रूप से, एक स्टार्ट घटना एक पतली सीमा वाले वृत्त के रूप में होती है। स्टार्ट घटनाओं के विशिष्ट प्रकार होते हैं जो बताते हैं कि प्रक्रिया कैसे ट्रिगर की जाती है।
1. कोई भी स्टार्ट घटना
- प्रतीक:एक बड़े वृत्त के भीतर खाली वृत्त।
- व्यवहार: यह डिफ़ॉल्ट है। यह मैन्युअल हस्तक्षेप या बाहरी सिस्टम कॉल के लिए प्रतीक्षा करता है जिससे प्रक्रिया शुरू हो।
- उपयोग के मामले: उन प्रक्रियाओं के लिए आदर्श जो मांग के आधार पर शुरू होती हैं, जैसे कि एक उपयोगकर्ता द्वारा शुरू की गई ‘अनुमोदन के लिए अनुरोध’ प्रक्रिया।
2. संदेश स्टार्ट घटना
- प्रतीक:वृत्त के भीतर एनवेलप आइकन।
- व्यवहार: जब एक विशिष्ट संदेश प्राप्त होता है तो प्रक्रिया शुरू होती है। इसका अर्थ है कि एक असिंक्रोनस ट्रिगर है।
- उपयोग के मामले: एक ईमेल पुष्टि या एक API कॉलबैक को प्राप्त करना जो पूर्ति चक्र को शुरू करता है।
3. टाइमर स्टार्ट घटना
- प्रतीक:वृत्त के भीतर घड़ी का चेहरा आइकन।
- व्यवहार: प्रक्रिया एक विशिष्ट समय पर या नियमित योजना के आधार पर शुरू होती है।
- उपयोग के मामले: दैनिक रिपोर्ट जनरेशन, मासिक वेतन भुगतान चलाना या सिस्टम बैकअप।
4. सिग्नल स्टार्ट घटना
- प्रतीक: गोले के अंदर पीला बिजली का गिरना।
- व्यवहार: प्रक्रिया तब शुरू होती है जब कोई संकेत प्रसारित किया जाता है। इस संकेत को एक साथ कई प्रक्रियाएं प्राप्त कर सकती हैं।
- उपयोग के मामले: एक वैश्विक सिस्टम अलर्ट जो विभिन्न विभागों में रखरखाव कार्य प्रवाह को सक्रिय करता है।
5. त्रुटि शुरुआत घटना
- प्रतीक: गोले के अंदर एक उद्घोष चिह्न (आमतौर पर लाल)।
- व्यवहार: मानक प्रवाहों में शुरुआती घटना के रूप में दुर्लभ रूप से उपयोग किया जाता है, लेकिन तकनीकी रूप से संभव है यदि प्रक्रिया को शुरू होते ही एक विशिष्ट त्रुटि स्थिति से बचने के लिए डिज़ाइन किया गया हो।
यह महत्वपूर्ण है कि एक प्रक्रिया के ठीक एक ही शुरुआती घटना होनी चाहिए। एक से अधिक शुरुआती घटनाओं के होने से प्रवाह को शुरू करने वाली स्थिति के बारे में भ्रम हो सकता है।
🟡 मध्यवर्ती घटनाएं: घटना की घटना
मध्यवर्ती घटनाएं प्रक्रिया के क्रियान्वयन के दौरान होती हैं। वे शुरुआत और अंत घटनाओं के बीच स्थित होती हैं। ये घटनाएं या तो घटना को पकड़ सकती हैं (कुछ का इंतजार करती हैं) या घटना फेंक सकती हैं (कुछ भेजती हैं)। दृश्य रूप से, वे मोटी सीमा वाले गोले होते हैं।
1. मध्यवर्ती पकड़ने वाली घटनाएं
इन घटनाओं के कारण प्रक्रिया प्रवाह रुक जाता है जब तक कि एक विशिष्ट स्थिति पूरी नहीं हो जाती। जब स्थिति पूरी हो जाती है, तो प्रवाह जारी रहता है।
- संदेश पकड़: एक विशिष्ट संदेश के आने का इंतजार करता है। प्रक्रिया रुकी रहती है जब तक डेटा प्राप्त नहीं हो जाता।
- टाइमर पकड़: प्रक्रिया को एक निश्चित अवधि (उदाहरण के लिए, 3 दिन तक इंतजार करें) या एक निश्चित तारीख तक लंबित रखता है।
- त्रुटि पकड़: एक ऊपरी तरफ के कार्य द्वारा फेंकी गई एक विशिष्ट त्रुटि के आने का इंतजार करता है। यह अक्सर त्रुटि संभालने वाली उप-प्रक्रियाओं में उपयोग किया जाता है।
- सिग्नल पकड़: एक सिग्नल के प्रसारित होने का इंतजार करता है। संदेशों के विपरीत, सिग्नल प्रसारित किए जाते हैं, एक विशिष्ट प्राप्तकर्ता को नहीं भेजे जाते।
- लिंक पकड़: उसी प्रक्रिया के भीतर एक लिंक फेंक घटना से जुड़ता है। लंबे लूप या जटिल प्रवाहों के लिए उपयोगी।
- एस्केलेशन पकड़: एक एस्केलेशन के फेंके जाने का इंतजार करता है। यह प्रक्रिया एस्केलेशन के प्रबंधन के लिए विशिष्ट है।
2. मध्यवर्ती फेंकने वाली घटनाएं
इन घटनाओं के कारण प्रवाह उनके माध्यम से गुजरते ही तुरंत कार्रवाई को निष्पादित करती है। वे प्रवाह को रोकती नहीं हैं।
- संदेश फेंक: किसी अन्य भागीदार या प्रणाली को तुरंत संदेश भेजता है।
- सिग्नल फेंकना: उस विशिष्ट सिग्नल के लिए सुनने वाली सभी प्रक्रियाओं को सिग्नल प्रसारित करता है।
- उत्कर्ष फेंकना: प्रक्रिया तर्क में एक उत्कर्ष को सक्रिय करता है।
- लिंक फेंकना: आरेख के अन्य स्थानों में स्थित लिंक कैच इवेंट में नियंत्रण प्रवाह भेजता है।
3. मध्यवर्ती सीमा घटनाएँ
एक विशेष प्रकार की मध्यवर्ती घटना जो किसी कार्य या उप-प्रक्रिया की सीमा से जुड़ी होती है। यह मुख्य प्रवाह को तुरंत रोके बिना बाधाओं का प्रबंधन करने का एक तरीका प्रदान करती है।
- रद्द करने वाली सीमा: यदि घटना घटित होती है तो क्रियाकलाप को रद्द कर देता है।
- टाइमर सीमा: यदि कार्य बहुत लंबा हो जाता है (समय सीमा समाप्त), तो एक वैकल्पिक मार्ग को सक्रिय करता है।
- संदेश सीमा: कार्य को जारी रखने की अनुमति देता है और साथ ही संदेश के लिए सुनने लगता है।
- त्रुटि सीमा: जुड़े कार्य के क्रियान्वयन के दौरान फेंकी गई त्रुटि को पकड़ता है।
ग्रहण करने और फेंकने के बीच के अंतर को समझना बहुत महत्वपूर्ण है। ग्रहण करना प्रतीक्षा करता है; फेंकना कार्रवाई करता है। दोनों को गलती से मिलाने से प्रक्रियाएँ अनिश्चित काल तक रुक सकती हैं या पहले से ही चल सकती हैं।
🔴 अंत घटनाएँ: समाप्ति
अंत घटनाएँ किसी प्रक्रिया के सफल या असफल समाप्ति को दर्शाती हैं। वे क्रियान्वयन के अंतिम बिंदु को चिह्नित करती हैं। शुरुआत घटनाओं की तरह, वे गोलाकार होती हैं, लेकिन अक्सर अंतिमता को दर्शाने के लिए मोटी सीमा वाली होती हैं।
1. कोई अंत घटना नहीं
- प्रतीक: खाली गोला।
- व्यवहार: प्रक्रिया सिर्फ रुक जाती है। कोई डेटा बाहर नहीं भेजा जाता है, और कोई बाहरी सूचना नहीं भेजी जाती है।
- उपयोग के मामले: एक मानक कार्यप्रवाह जो अतिरिक्त बाहरी पुष्टि के बिना पूरा हो जाता है।
2. संदेश अंत घटना
- प्रतीक: लिफाफा प्रतीक।
- व्यवहार: प्रक्रिया के अंतिम चरण के रूप में एक संदेश भेजता है।
- उपयोग के मामले: ग्राहक को “आदेश पूरा” पुष्टिकरण ईमेल भेजना।
3. सिग्नल एंड इवेंट
- प्रतीक: पीला बिजली का बल्ब।
- व्यवहार: अन्य संबंधित प्रक्रियाओं को समाप्त करने या प्रणाली को सूचित करने के लिए एक संकेत प्रसारित करता है।
- उपयोग के मामले: एक विशिष्ट लेनदेन पूरा हो गया है, इसकी सूचना देना।
4. त्रुटि एंड इवेंट
- प्रतीक: उद्घोष चिह्न।
- व्यवहार: प्रक्रिया के त्रुटि स्थिति के कारण समाप्त होने का संकेत देता है।
- उपयोग के मामले: एक असफल लेनदेन को लॉग करना जिसे वापस नहीं लाया जा सकता है।
5. समाप्त करने वाला एंड इवेंट
- प्रतीक: मोटे वृत्त के साथ एक प्रतिक्रिया (X) या मोटी सीमा।
- व्यवहार: पूरी प्रक्रिया उद्देश्य को तुरंत रोकता है, सभी सक्रिय समानांतर पथों को रद्द करता है।
- उपयोग के मामले: आदेश के रद्द करने का मामला जहां सभी बाद के चरणों को तुरंत रद्द करना होगा।
📊 इवेंट तुलना सारणी
अंतरों को देखने के लिए नीचे दी गई तुलना को देखें।
| विशेषता | स्टार्ट इवेंट | मध्यवर्ती इवेंट | अंत घटना |
|---|---|---|---|
| आकृति | वृत्त (पतली सीमा) | वृत्त (मोटी सीमा) | वृत्त (मोटी सीमा) |
| संयोजन प्रवाह | केवल एक बाहरी प्रवाह | एक प्रवेशी, एक बाहरी | केवल एक प्रवेशी प्रवाह |
| प्रक्रिया गिनती | प्रत्येक प्रक्रिया के लिए ठीक एक | प्रत्येक प्रक्रिया के लिए शून्य या अधिक | प्रत्येक प्रक्रिया के लिए शून्य या अधिक |
| समय निर्धारण | प्रवाह की शुरुआत करता है | प्रवाह के दौरान होता है | प्रवाह को समाप्त करता है |
| मुख्य कार्य | ट्रिगर | प्रतीक्षा, भेजना या संभालना | पूरा करें या रद्द करें |
⚠️ उत्तम व्यवहार और सामान्य त्रुटियाँ
जब जटिल प्रक्रियाओं का मॉडलिंग करते हैं, तो मानकों का पालन अस्पष्टता को रोकता है। स्पष्टता और तकनीकी अखंडता बनाए रखने के लिए यहाँ मुख्य दिशानिर्देश हैं।
1. असंगत घटनाओं से बचें
सुनिश्चित करें कि प्रत्येक घटना प्रवाह से जुड़ी हो। एक प्रवाह के बिना आने वाली या निकलने वाली अनुक्रमिक प्रवाह वाली घटना अक्सर मॉडलिंग त्रुटि होती है। मध्यवर्ती घटनाओं को एक प्रवेशी और एक निकासी जुड़ाव होना चाहिए, जब तक कि वे किसी कार्य सीमा से जुड़ी न हों।
2. टाइमर प्रकारों में अंतर करें
टाइमर स्टार्ट घटनाओं को टाइमर मध्यवर्ती घटनाओं से गलती से न भ्रमित करें।
- टाइमर स्टार्ट: प्रक्रिया शुरू होती है कारण टाइमर के
- टाइमर मध्यवर्ती: प्रक्रिया रुक जाती है क्योंकि टाइमर के
3. त्रुटि प्रबंधन के लिए सीमा घटनाओं का उपयोग करें
त्रुटियों की जांच के लिए जटिल गेटवे बनाने के बजाय, त्रुटि सीमा घटनाओं को कार्यों से जोड़ें। इससे सफल मार्ग स्पष्ट रहता है और त्रुटि तर्क को दृश्य रूप से अलग किया जाता है।
4. नामकरण प्रणाली
अपनी घटनाओं को स्पष्ट रूप से लेबल करें। एक “संदेश प्राप्त करने वाला” को संदेश के नाम (उदाहरण के लिए, “भुगतान पुष्टि प्राप्त करें”) के साथ लेबल किया जाना चाहिए। इससे स्टेकहोल्डर्स को उस विशिष्ट बिंदु पर किस डेटा की आवश्यकता है, इसकी समझ आती है।
5. सिग्नल की जटिलता सीमित करें
जबकि सिग्नल शक्तिशाली हैं, उनका अत्यधिक उपयोग प्रक्रिया को ट्रैक करने में कठिनाई पैदा कर सकता है। सिग्नल वैश्विक होते हैं। यदि कोई सिग्नल फेंका जाता है, तो कई प्रक्रियाएं प्रतिक्रिया कर सकती हैं। इन निर्भरताओं को एक सहायक आरेख या विवरण में दर्ज करें।
6. क्रमिक प्रवाह दिशा
हमेशा सुनिश्चित करें कि प्रवाह शुरुआत से अंत तक जाए। मध्यवर्ती घटनाएं कभी भी लूप नहीं बनानी चाहिए, जब तक कि गेटवे के साथ स्पष्ट रूप से डिज़ाइन न किया गया हो। अनंत लूप घटना प्रबंधन में तर्क त्रुटि को दर्शाते हैं।
🛠 कार्यान्वयन पर विचार
एक आरेख को कार्यान्वित कोड में बदलने के लिए घटना अर्थशास्त्र पर विशेष ध्यान देने की आवश्यकता होती है।
- अवस्था प्रबंधन: मध्यवर्ती घटनाएं अक्सर इंजन को अवस्था बनाए रखने की आवश्यकता होती है (उदाहरण के लिए, संदेश के लिए प्रतीक्षा करना)। यदि बहुत सारी प्रक्रियाएं एक साथ प्रतीक्षा कर रही हों, तो इसका प्रदर्शन पर प्रभाव पड़ता है।
- असमान समय संबंधित व्यवहार: संदेश घटनाएं असमान समय संबंधित संचार को इंगित करती हैं। प्रणाली को संदेश भंडार और पुनर्प्रयास का प्रबंधन करना चाहिए।
- समय सीमा प्रबंधन: टाइमर घटनाओं को घड़ी में परिवर्तन या प्रणाली बंद होने के खिलाफ दृढ़ होना चाहिए। यदि प्रणाली 10 मिनट के लिए रीबूट हो जाती है, तो 1 घंटे के लिए सेट किया गया टाइमर विफल नहीं होना चाहिए।
- त्रुटि प्रसारण: यदि त्रुटि घटनाओं को स्थानीय रूप से हैंडल नहीं किया गया है, तो उन्हें हायरार्की में ऊपर की ओर प्रसारित करना चाहिए। सुनिश्चित करें कि सीमा शर्तों को सही तरीके से परिभाषित किया गया है।
🔍 विस्तृत घटना व्यवहार विश्लेषण
आइए एक वास्तविक दुनिया के परिदृश्य में विशिष्ट घटना बातचीत के बारीकियों का अध्ययन करें।
परिदृश्य: आदेश प्रसंस्करण
एक ग्राहक आदेश के प्रसंस्करण के लिए एक कार्यप्रवाह की कल्पना करें। इस परिदृश्य में तीनों घटना प्रकारों का उपयोग किया जाता है।
- शुरुआत: एक संदेश शुरुआत घटना ई-कॉमर्स प्लेटफॉर्म से “नया आर्डर” पेलोड प्राप्त करता है।
- मध्यवर्ती: स्टॉक जांच के बाद, एक मध्यवर्ती समय सीमा घटना भुगतान की पुष्टि के लिए 24 घंटे तक प्रतीक्षा करता है। यदि भुगतान प्राप्त नहीं होता है, तो एक मध्यवर्ती संदेश फेंकने वाली घटना एक याद दिलाने वाला संदेश भेजता है।
- अंत: जब भुगतान की पुष्टि कर ली जाती है, तो एक संदेश अंत घटना डिलीवरी विवरण गोदाम को भेजता है।
इस प्रवाह में, मध्यवर्ती समय सीमा घटना एक गेटकीपर के रूप में कार्य करती है। यदि समय सीमा समाप्त हो जाती है, तो प्रवाह वैकल्पिक पथ (याद दिलाने) पर जाता है। यदि संदेश समय सीमा समाप्त होने से पहले प्राप्त होता है, तो प्रवाह अंत घटना तक जारी रहता है।
एक साथ आने वाली घटनाओं का प्रबंधन
यदि कोई प्रक्रिया किसी संदेश की प्रतीक्षा कर रही है, लेकिन कोई त्रुटि हो जाती है, तो क्या होता है? इसी स्थिति में इवेंट सब-प्रक्रियाएं आती हैं। एक इवेंट सब-प्रक्रिया आपको एक अलग पथ को परिभाषित करने की अनुमति देती है जो किसी घटना द्वारा निर्देशित होती है, मुख्य प्रवाह से स्वतंत्र। अप्रत्याशित घटनाओं के समय स्थिरता बनाए रखने के लिए यह बहुत महत्वपूर्ण है।
- घटना सब-प्रक्रिया ट्रिगर: केवल मध्यवर्ती ग्रहण करने वाली घटना (त्रुटि, समय सीमा, संदेश, संकेत, तीव्रता) हो सकती है।
- निष्पादन: यह मुख्य प्रक्रिया के साथ समानांतर रूप से चलता है।
- परिसर: यह मुख्य प्रक्रिया के भीतर स्थित है, लेकिन इसका अपना आंतरिक प्रवाह है।
🔗 लिंक घटनाएं और कनेक्शन
लिंक घटनाएं मध्यवर्ती घटनाओं का एक विशिष्ट उपसमूह हैं, जिनका उपयोग आरेख में भौतिक रूप से दूर बने प्रवाहों को जोड़ने या जटिल लूपिंग तर्क को प्रबंधित करने के लिए किया जाता है।
- लिंक फेंकना: एक गंतव्य चिह्न के रूप में कार्य करता है।
- लिंक ग्रहण करना: एक स्रोत चिह्न के रूप में कार्य करता है।
हालांकि वे लाइनों के अतिरिक्त चौड़े बनाने की आवश्यकता को कम करते हैं, उनके अत्यधिक उपयोग से आरेख पढ़ने में कठिनाई हो सकती है। दृश्य प्रवाह को स्पष्ट रखने के लिए उनका संतुलित उपयोग करें।
📝 मुख्य बिंदुओं का सारांश
BPMN घटनाओं के तार्किक विवरण को समझना लचीले प्रक्रिया मॉडल बनाने के लिए आवश्यक है। शुरुआती घटनाएं प्रवेश बिंदु को परिभाषित करती हैं, मध्यवर्ती घटनाएं प्रवाह और अवरोधों को प्रबंधित करती हैं, और अंतिम घटनाएं निकास बिंदु को परिभाषित करती हैं।
- सांस्कृतिक स्थिरता: मानक आकृतियों का पालन करें। पतले और मोटे सीमाओं को बिना कारण न मिलाएं।
- स्पष्टता: अपनी घटनाओं के नाम क्रिया के आधार पर रखें, आकृति के आधार पर नहीं।
- तर्क: सुनिश्चित करें कि प्रत्येक पथ समाप्ति या वैध लूप तक जाता है।
- सत्यापन: सुनिश्चित करें कि प्रत्येक प्रक्रिया उदाहरण में प्रत्येक स्टार्ट और एंड घटना अद्वितीय है।
इन सिद्धांतों के अनुप्रयोग से, प्रक्रिया वास्तुकार ऐसे मॉडल बना सकते हैं जो केवल दृश्य रूप से स्पष्ट ही नहीं होते, बल्कि क्रियान्वयन इंजन के लिए तकनीकी रूप से भी ठोस होते हैं। प्रतीक्षा (कैचिंग) और क्रिया (थ्रोइंग) के बीच अंतर को समझना सबसे महत्वपूर्ण अवधारणा बनी रहती है।












