व्यवसाय नियम इंजन

From Vigyanwiki

व्यवसाय नियम इंजन एक सॉफ्टवेयर सिस्टम है जो रनटाइम उत्पादन वातावरण में एक या अधिक बिजनेस नियमों को निष्पादित करता है। नियम कानूनी विनियमन से आ सकते हैं ("किसी कर्मचारी को किसी भी कारण से या बिना किसी कारण के हटाया जा सकता है लेकिन किसी अवैध कारण से नहीं"),कंपनी की नीति ("सभी ग्राहक जो एक समय में $100 से अधिक खर्च करते हैं उन्हें 10% की छूट मिलेगी"), या अन्य स्रोत। एक व्यावसायिक नियम प्रणाली इन कंपनी नीतियों और अन्य परिचालन निर्णयों को एप्लिकेशन कोड से अलग से परिभाषित, परीक्षण, निष्पादित और बनाए रखने में सक्षम बनाती है।

नियम इंजन आमतौर पर नियमों, तथ्यों, प्राथमिकता (स्कोर), पारस्परिक बहिष्करण, पूर्व शर्त और अन्य कार्यों का समर्थन करते हैं।

नियम इंजन सॉफ़्टवेयर आमतौर पर व्यवसाय नियम प्रबंधन प्रणाली के एक घटक के रूप में प्रदान किया जाता है, जो अन्य कार्यों के साथ-साथ निम्न की क्षमता प्रदान करता है: सभी नियमों को पंजीकृत करें, परिभाषित करें, वर्गीकृत करें और प्रबंधित करें, नियमों की परिभाषाओं की निरंतरता को सत्यापित करें ("गोल्ड-लेवल ग्राहक ऑर्डर मात्रा> 10 होने पर मुफ्त शिपिंग के लिए पात्र हैं" और "सिल्वर-लेवल ग्राहकों के लिए अधिकतम ऑर्डर मात्रा = 15"), विभिन्न नियमों के बीच संबंधों को परिभाषित करें, और इनमें से कुछ नियमों को उन आईटी अनुप्रयोगों से जोड़ें जो प्रभावित हैं या एक या अधिक नियमों को लागू करने की आवश्यकता है।

आईटी उपयोग

किसी भी आईटी एप्लिकेशन में, एप्लिकेशन कोड के अन्य हिस्सों की तुलना में व्यावसायिक नियम अधिक बार बदल सकते हैं। नियम इंजन या अनुमान इंजन प्लग करने योग्य सॉफ़्टवेयर घटकों के रूप में कार्य करते हैं जो व्यावसायिक नियमों को निष्पादित करते हैं जिन्हें व्यावसायिक नियमों के दृष्टिकोण ने बाहरी रूप दिया है या एप्लिकेशन कोड से अलग किया है। यह बाह्यीकरण या अलगाव व्यवसायिक उपयोगकर्ताओं को आईटी हस्तक्षेप की आवश्यकता के बिना नियमों को संशोधित करने की अनुमति देता है। समग्र रूप से सिस्टम ऐसे बाहरी व्यावसायिक नियमों के साथ अधिक आसानी से अनुकूलनीय हो जाता है, लेकिन यह क्यूए और अन्य परीक्षण की सामान्य आवश्यकताओं को नहीं रोकता है।

इतिहास

कंप्यूटरवर्ल्ड के एक लेख में 1990 के दशक की शुरुआत में नियम इंजनों और पेगासिस्टम्स, फेयर आइजैक कॉर्प, आईएलओजी[1] और सेपियंस के ईमर्ज [2] जैसे उत्पादों का पता लगाया गया है।

डिज़ाइन रणनीतियाँ

कई संगठनों के नियम प्रयास उन पहलुओं को जोड़ते हैं जिन्हें आम तौर पर वर्कफ़्लो डिज़ाइन के साथ पारंपरिक नियम डिज़ाइन माना जाता है। दोनों दृष्टिकोणों को अलग करने में विफलता के कारण व्यावसायिक नियमों और वर्कफ़्लो दोनों का पुन: उपयोग और नियंत्रण करने की क्षमता में समस्याएँ हो सकती हैं। इस दुविधा से बचने वाले डिज़ाइन दृष्टिकोण व्यवसाय नियमों और वर्कफ़्लो की भूमिका को इस प्रकार अलग करते हैं:[3]

  • व्यावसायिक नियम ज्ञान उत्पन्न करते हैं;
  • वर्कफ़्लो व्यावसायिक कार्य निष्पादित करते हैं

सीधे तौर पर, इसका मतलब यह है कि एक व्यावसायिक नियम ऐसे काम कर सकता है जैसे यह पता लगाना कि कोई व्यावसायिक स्थिति उत्पन्न हो गई है और एक वसायिक घटना (आमतौर पर एक मैसेजिंग इंफ्रास्ट्रक्चर के माध्यम से की जाती है) को बढ़ा सकता है या उच्च स्तरीय व्यावसायिक ज्ञान बना सकता है (उदाहरण के लिए, संगठनात्मक, उत्पाद की श्रृंखला का मूल्यांकन करना), और विनियामक-आधारित नियम इस बात से संबंधित हैं कि कोई ऋण हामीदारी मानदंडों को पूरा करता है या नहीं)। दूसरी ओर, एक वर्कफ़्लो किसी ऐसी घटना पर प्रतिक्रिया देगा जो गतिविधियों की एक श्रृंखला शुरू करके किसी रूटिंग पॉइंट के ओवरलोडिंग जैसे कुछ संकेत देती है।

यह अलगाव महत्वपूर्ण है क्योंकि एक ही व्यावसायिक निर्णय (बंधक अंडरराइटिंग मानदंडों को पूरा करता है) या व्यावसायिक घटना (राउटर अतिभारित है) पर कई अलग-अलग वर्कफ़्लो द्वारा प्रतिक्रिया की जा सकती है। नियम-संचालित ज्ञान सृजन के जवाब में किए गए कार्य को नियम में शामिल करने से किसी संगठन में व्यावसायिक नियमों का पुन: उपयोग करने की क्षमता बहुत कम हो जाती है क्योंकि यह उन्हें कार्य-प्रवाह विशिष्ट बनाता है।

एक ऐसा आर्किटेक्चर बनाने के लिए जो व्यावसायिक नियम इंजन को नियोजित करता है, बीपीएम (बिजनेस प्रोसेस मैनेजमेंट) और बीआरएम के बीच एकीकरण स्थापित करना आवश्यक है (बिजनेस रूल्स मैनेजमेंट) प्लेटफ़ॉर्म जो घटनाओं पर प्रतिक्रिया देने या व्यावसायिक नियमों द्वारा परिभाषित व्यावसायिक निर्णयों की जांच करने वाली प्रक्रियाओं पर आधारित है। बाज़ार में कुछ उत्पाद हैं जो यह एकीकरण मूल रूप से प्रदान करते हैं। अन्य स्थितियों में इस प्रकार के अमूर्तन और एकीकरण को किसी विशेष परियोजना या संगठन के भीतर विकसित करना होगा।

अधिकांश जावा-आधारित नियम इंजन JSR-94 एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) मानक के आधार पर एक तकनीकी कॉल-स्तरीय इंटरफ़ेस प्रदान करते हैं, विभिन्न अनुप्रयोगों के साथ एकीकरण की अनुमति देने के लिए, और कई नियम इंजन डब्लूएसडीएल और एसओएपी जैसे वेब-आधारित मानकों के माध्यम से सेवा-उन्मुख एकीकरण की अनुमति देते हैं।

अधिकांश नियम इंजन एक डेटा एब्स्ट्रैक्शन विकसित करने की क्षमता प्रदान करते हैं जो उन व्यावसायिक संस्थाओं और रिश्तों का प्रतिनिधित्व करता है जिनके खिलाफ नियम लिखे जाने चाहिए। यह व्यवसाय इकाई मॉडल आम तौर पर XML, POJOs, फ्लैट फाइलों आदि सहित विभिन्न स्रोतों से तैयार किया जा सकता है। नियमों को लिखने के लिए कोई मानक भाषा नहीं है। कई इंजन जावा-जैसे सिंटैक्स का उपयोग करते हैं, जबकि कुछ कस्टम व्यवसाय-अनुकूल भाषाओं की परिभाषा की अनुमति देते हैं।

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

नियम इंजन के प्रकार

नियम इंजन कई प्रकार के होते हैं। ये प्रकार (आम तौर पर) इस बात में भिन्न होते हैं कि नियमों को निष्पादन के लिए कैसे निर्धारित किया जाता है।

व्यवसायों द्वारा उपयोग किए जाने वाले अधिकांश नियम इंजन आगे की चेनिंग हैं, जिन्हें आगे दो वर्गों में विभाजित किया जा सकता है:

  • प्रथम श्रेणी तथाकथित उत्पादन/अनुमान नियमों को संसाधित करती है। इस प्रकार के नियमों का उपयोग IF स्थिति THEN क्रिया प्रकार के व्यवहारों को दर्शाने के लिए किया जाता है। उदाहरण के लिए, ऐसा नियम इस प्रश्न का उत्तर दे सकता है: क्या इस ग्राहक को बंधक की अनुमति दी जानी चाहिए? फॉर्म के नियमों को क्रियान्वित करके यदि कुछ शर्त है तो ग्राहक-ए-बंधक की अनुमति दें।
  • दूसरे प्रकार का नियम इंजन तथाकथित प्रतिक्रिया/घटना स्थिति क्रिया नियमों को संसाधित करता है। प्रतिक्रियाशील नियम इंजन आने वाली घटनाओं का पता लगाते हैं और उन पर प्रतिक्रिया करते हैं और घटना पैटर्न को संसाधित करते हैं। उदाहरण के लिए, कुछ वस्तुओं के स्टॉक से बाहर होने पर प्रबंधक को सचेत करने के लिए एक प्रतिक्रियाशील नियम इंजन का उपयोग किया जा सकता है।

इन प्रकारों के बीच सबसे बड़ा अंतर यह है कि उत्पादन नियम इंजन तब निष्पादित होते हैं जब कोई उपयोगकर्ता या एप्लिकेशन उन्हें लागू करता है, आमतौर पर स्टेटलेस तरीके से। एक प्रतिक्रियाशील नियम इंजन घटनाएँ घटित होने पर स्वचालित रूप से प्रतिक्रिया करता है, आमतौर पर एक स्टेटफुल तरीके से। कई (और वास्तव में अधिकांश) लोकप्रिय वाणिज्यिक नियम इंजनों में उत्पादन और प्रतिक्रिया नियम दोनों क्षमताएं होती हैं, हालांकि वे एक वर्ग पर दूसरे पर जोर दे सकते हैं। उदाहरण के लिए, अधिकांश व्यावसायिक नियम इंजन मुख्य रूप से उत्पादन नियम इंजन होते हैं, जबकि जटिल घटना प्रसंस्करण नियम इंजन प्रतिक्रिया नियमों पर जोर देते हैं।

इसके अलावा, कुछ नियम इंजन पीछे की ओर जंजीर का समर्थन करते हैं। इस मामले में एक नियम इंजन किसी विशेष लक्ष्य के अनुरूप तथ्यों को हल करने का प्रयास करता है। इसे अक्सर लक्ष्य-प्रेरित कहा जाता है क्योंकि यह मौजूदा जानकारी के आधार पर यह निर्धारित करने का प्रयास करता है कि कुछ मौजूद है या नहीं।

एक अन्य प्रकार का नियम इंजन रीजनिंग रन के दौरान कई बार बैक- और फॉरवर्ड-चेनिंग के बीच स्वचालित रूप से स्विच करता है, उदाहरण के लिए। इंटरनेट बिजनेस लॉजिक सिस्टम, जिसे वेब पर खोजकर पाया जा सकता है।

नियम इंजन के चौथे वर्ग को नियतिवादी इंजन कहा जा सकता है। ये नियम इंजन फॉरवर्ड चेनिंग और बैकवर्ड चेनिंग दोनों को छोड़ सकते हैं, और इसके बजाय नीति का बेहतर वर्णन करने के लिए डोमेन-विशिष्ट भाषा दृष्टिकोण का उपयोग कर सकते हैं। इस दृष्टिकोण को लागू करना और बनाए रखना अक्सर आसान होता है, और आगे या पीछे की चेनिंग प्रणालियों पर प्रदर्शन लाभ प्रदान करता है।

ऐसी कुछ परिस्थितियाँ हैं जहाँ फजी लॉजिक आधारित अनुमान अधिक उपयुक्त हो सकता है, जहाँ नियम प्रसंस्करण में बूलियन नियमों के बजाय अनुमान का उपयोग किया जाता है। उदाहरणों में ग्राहक वर्गीकरण, गुम डेटा अनुमान, ग्राहक मूल्य गणना आदि शामिल हो सकते हैं। DARL भाषा[4] और संबंधित अनुमान इंजन और संपादक इस दृष्टिकोण का एक उदाहरण है।

अभिगम नियंत्रण/प्राधिकरण के लिए नियम इंजन

नियम इंजनों के लिए एक सामान्य उपयोग का मामला अनुप्रयोगों तक मानकीकृत पहुंच नियंत्रण है। OASIS (संगठन) XACML (एक्स्टेंसिबल एक्सेस कंट्रोल मार्कअप लैंग्वेज) नामक एक्सेस कंट्रोल के लिए समर्पित एक नियम इंजन आर्किटेक्चर और मानक को परिभाषित करता है। XACML नियम इंजन और व्यवसाय नियम इंजन के बीच एक महत्वपूर्ण अंतर यह तथ्य है कि XACML नियम इंजन स्टेटलेस है और किसी भी डेटा की स्थिति को नहीं बदल सकता है। XACML नियम इंजन, जिसे XACML#Terminology (PDP) कहा जाता है, एक बाइनरी हां/नहीं प्रश्न की अपेक्षा करता है जैसे। क्या ऐलिस दस्तावेज़ डी देख सकती है? और एक निर्णय लौटाता है उदा. अनुमति देना/अस्वीकार करना।

यह भी देखें

संदर्भ

  1. "Do you know where all of your company's business rules are?". Computerworld. IDG Enterprise (published 2005-05-23). 39 (21): 25. 23 May 2005. ISSN 0010-4841. Retrieved 2014-02-02. Rules engines have been around since the early 1990s when companies such as Pegasystems Inc. in Cambridge, Mass., Fair Isaac Corp. in Minneapolis and ILOG in Mountain View, Calif., sold them. They were typically used in rules-heavy industries such as finance and insurance. Over the past few years, however, many vendors have entered the market, and more companies are looking at rules engines as a way to gain greater flexibility in business operations.
  2. "eMerge नियम-आधारित सॉफ़्टवेयर विकास प्लेटफ़ॉर्म".
  3. Is Your Rules Engine Event-Driven? Retrieved from http://www.sapiens-tech.com/iDuneDownload.dll?GetFile?AppId=225&FileID=216581&Anchor=&ext=.pdf Archived 2018-09-30 at the Wayback Machine.
  4. "DARL भाषा". Archived from the original on 2018-09-01. Retrieved 2018-09-01.


ग्रन्थसूची


बाहरी संबंध