BPEL - फॉल्ट हैंडलिंग का उपयोग करना

यह समझने के लिए कि फॉल्ट हैंडलिंग का उपयोग कैसे किया जाता है, हमें Oracle SOA सूट में एक सर्विस कंपोजिट की बुनियादी वास्तुकला को सीखना होगा।

  • Service components- बीपीईएल प्रोसेस, बिजनेस रूल, ह्यूमन टास्क, मध्यस्थ। इनका उपयोग SOA समग्र अनुप्रयोग के निर्माण के लिए किया जाता है।

  • Binding components - एक SOA समग्र और बाहरी दुनिया के बीच संबंध स्थापित करें।

  • Services - एसओए समग्र आवेदन के लिए एक प्रवेश बिंदु प्रदान करता है।

  • Binding - एसओएपी / एचटीटीपी, जेसीए अडैप्टर आदि जैसी सेवा से संवाद करने वाले प्रोटोकॉल को परिभाषित करता है।

  • WSDL - एक वेब सेवा की सेवा परिभाषा को परिभाषित करता है।

  • References - बाहरी सेवाओं को संदेश भेजने के लिए SOA समग्र अनुप्रयोग सक्षम करता है

  • Wires - सेवा घटकों के बीच कनेक्शन को सक्षम करता है।

दोष के प्रकार

आइए अब हम विभिन्न प्रकार के दोषों को देखते हैं।

व्यावसायिक दोष

तब होता है जब एप्लिकेशन THROW गतिविधि या एक चालान निष्पादित करता है, प्रतिक्रिया के रूप में गलती प्राप्त करता है। दोष का नाम BPEL प्रक्रिया सेवा घटक द्वारा निर्दिष्ट किया गया है। फ़ॉल्ट नाम और फ़ॉल्ट वैरिएबल का उपयोग करने वाला फ़ॉल्ट हैंडलर इस फ़ॉल्ट को पकड़ लेता है।

रनटाइम दोष

यह सिस्टम द्वारा फेंका गया है। ये दोष जुड़े हुए हैंRunTimeFaultMessage और में शामिल हैं

http://schemas.oracle.com/bpel/extensionnamespace

दोष से निपटने के तरीके

इस खंड में, हम दोष से निपटने के विभिन्न तरीकों के बारे में जानेंगे।

गतिविधि फेंको

गतिविधि को स्पष्ट रूप से फेक फेंको। कैच ब्लॉक इस गलती को पकड़ता है और इसी क्रिया को इसी तरह निष्पादित किया जाता है।

  • थ्रो एक्टिविटी का उपयोग करके, आप व्यावसायिक दोष और निर्मित दायरे में फेंक सकते हैं, आप इस दोष को पकड़ सकते हैं और कॉल करने वाले (उपभोक्ता) को कार्रवाई करने के लिए पुनर्निर्देशित कर सकते हैं।

  • उपर्युक्त दृष्टिकोण के बजाय, आप बनाए गए दायरे की कैच गतिविधि में पकड़े गए समान दोष को फेंक देते हैं। मुख्य दायरे में, आप कैटचेल गतिविधि का उपयोग करके इस दोष को पकड़ सकते हैं।

त्रुटि हैंडलर फ्रेमवर्क (EHF)

EHF में उपयोग की जाने वाली 2 मुख्य फाइलें हैं -

  • Fault-Policy.xml
  • Fault-Bindings.xml

जब भी BPEL प्रक्रिया में कोई त्रुटि होती है, EHF जाँच करेगा कि त्रुटि Fault-Bindings.xml फ़ाइलों में मौजूद है या नहीं। यदि ऐसा है, तो फाल्ट-पॉलिसी। Xml फ़ाइल में कार्रवाई की जाएगी। यदि कार्रवाई नहीं मिली, तो दोष फेंक दिया जाएगा और इसे पकड़ ब्लॉक में संभाला जाएगा।

फॉल्ट मैनेजमेंट फ्रेमवर्क (फॉल्ट-पॉलिसी.एक्सएमएल और फॉल्ट-बिंडिंग्स.एक्सएमएल) को एक एसओए कंपोजिट के अंदर रखा गया है।

फॉल्ट-हैंडलर्स जैसे कैच और कैटचेल सभी दोषों को पकड़ने के लिए BPEL के अंदर हैं, लेकिन fault policies will only be executed when an invoke activity fails.