वेब फ्रेमवर्क

From Vigyanwiki
Revision as of 14:37, 3 March 2023 by alpha>Artiverma

वेब फ्रेमवर्क या वेब अनुप्रयोग फ्रेमवर्क सॉफ्टवेयर आकृति है जिसे वेब सेवाओं, वेब संसाधनों एवं वेब एपीआई सहित वेब एप्लिकेशन के विकास का समर्थन करने के लिए डिज़ाइन किया गया है। वेब फ्रेमवर्क वर्ल्ड वाइड वेब पर वेब एप्लिकेशन बनाने एवं नियुक्त करने का मानक तरीका प्रदान करते हैं। वेब आकृति का उद्देश्य वेब विकास में की जाने वाली सामान्य गतिविधियों से जुड़े ओवरहेड को स्वचालित करना है। उदाहरण के लिए, कई वेब फ्रेमवर्क डेटाबेस एक्सेस, टेम्पलेट प्रोसेसर फ्रेमवर्क एवं सेशन (कंप्यूटर विज्ञान) प्रबंधन के लिए पुस्तकालय (अर्घ ्प्यूटिंग) प्रदान करते हैं, एवं वे प्रायः कोड के पुन: उपयोग को बढ़ावा देते हैं।[1] चुकीं वे प्रायः गतिशील वेब पेजो के विकास को लक्षित करते हैं, वे स्थिर वेब पेजो पर भी प्रस्तावित होते हैं।[2]

इतिहास

जैसा कि वर्ल्ड वाइड वेब का डिज़ाइन स्वाभाविक रूप से गतिशील नहीं था, प्राथमिक हाइपरटेक्स्ट में हाथ से कोडित एचटीएमएल टेक्स्ट फ़ाइलें सम्मलितथीं जो वेब सर्वर पर प्रकाशित हुई थीं। प्रकाशित पृष्ठों में कोई भी संशोधन पृष्ठों के लेखक द्वारा किए जाने की आवश्यकता है। 1993 में, कॉमन गेटवे इंटरफ़ेस (सीजीएल) मानक को वेब सर्वर के साथ बाहरी अनुप्रयोगों को इंटरफेस करने के लिए प्रस्तुत किया गया था, जिससे गतिशील वेब पेज प्रदान किया जा सके जो उपयोगकर्ता इनपुट को प्रतिबिंबित करता हो।[3] सीजीआई इंटरफ़ेस के मूल कार्यान्वयन का समान्यतः सर्वर लोड पर प्रतिकूल प्रभाव पड़ता है, क्योंकि प्रत्येक अनुरोध ने भिन्न प्रक्रिया (कंप्यूटिंग) प्रारम्भ की थी।[4] कार्यान्वयन सर्वर के संसाधनों में पदचिह्न को अर्घ करने एवं सामान्य प्रदर्शन को तीव्रता देने के लिए अन्य प्रधौगिकी ों के मध्य निरंतर प्रक्रियाओं का उपयोग करते हैं।

1995 में, सम्पूर्ण तरीके से एकीकृत सर्वर विकास वातावरण प्राथमिक बार उत्पन हुआ एवं नई वेब-विशिष्ट भाषाएं, जैसे कि ठंडा गलन, पीएचपी एवं सक्रिय सर्वर पेज प्रस्तुति की गई।

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

1990 के दशक के अंत में, परिपक्व, पूर्ण स्टैक फ्रेमवर्क दिखाई देने लगे, जो प्रायः वेब विकास के लिए उपयोगी कई पुस्तकालयों को वेब डेवलपर्स के उपयोग के लिए एकल संसक्त सॉफ़्टवेयर स्टैक में इकट्ठा करते थे। इसके उदाहरणों में एएसपी.नेट, जावा प्लेटफार्म, एंटरप्राइज एडिशन, वेबऑब्जेक्ट्स, वेब2पी, ओपनएसीएस, उत्प्रेरक(सॉफ़्टवेयर), मौजोलिशियस, रूबी ऑन रेल्स, लारवेलl, ग्रिल्स (फ्रेमवर्क) , डिजानगो (वेब ​​फ़्रेमवर्क), ज़ेंड फ्रेमवर्क, साइलस.जस, यी ,[5] केकेपीएचपी,[6] एवं सिम्फोनी सम्मलितहैं।

फ्रेमवर्क संरचना के प्रकार

अधिकांश वेब फ्रेमवर्क मॉडल-व्यू-कंट्रोलरवास्तु पैटर्न पर आधारित होते हैं।

मॉडल-व्यू-कंट्रोलर (एमवीसी)

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

पुश-आधारित बनाम पुल-आधारित

अधिकांश एमवीसी आकृति आधारित संरचना का पालन करते हैं जिसे क्रिया-आधारित भी कहा जाता है। ये आकृति उन क्रियाओं का उपयोग करते हैं जो आवश्यक प्रसंस्करण करते हैं, एवं फिर परिणाम प्रस्तुत करने के लिए डेटा को व्यू लेयर पर धकेलते हैं।[7] डिजानगो (वेब ​​फ्रेमवर्क), रूबी ऑन रेल्स, सिम्फनी, स्प्रिंगएमवीसी, पट्टियां (आकृति ), साइलस.जेएस, कोडेल्गिनेटर[8] इस वास्तुकला के अच्छे उदाहरण हैं। इसका विकल्प पुल आधारित संरचना है, जिसे कभी-कभी घटक आधारित भी कहा जाता है। ये आकृति दृश्य परत से प्रारम्भ होते हैं, जो आवश्यकतानुसार कई नियंत्रकों से परिणाम प्राप्त सकते हैं। इस संरचना में, दृश्य के साथ कई नियंत्रकों को सम्मलित किया जा सकता है। लिफ्ट (वेब ​​फ्रेमवर्क), टेपेस्ट्री (प्रोग्रामिंग), जेबीएसएस सीम, जकार्ता सर्वर फेसेस एवं अपाचे विकेट पुल-आधारित संरचना के उदाहरण हैं। प्ले फ्रेमवर्क ,अपाचे स्ट्रटस, रिफे (आकृति) में पुश- एवं पुल आधारित एप्लिकेशन नियंत्रक कॉल दोनों के लिए समर्थन है।

त्रिस्तरीय संगठन

त्रिस्तरीय वास्तुकला में तीन-स्तरीय संगठन, अनुप्रयोगों को तीन भौतिक स्तरों के आसपास क्लाइंट, एप्लिकेशन एवं डेटाबेसरिफे संरचित किया जाता है।[9][10][11][12] डेटाबेस समान्यतः संबंधपरक डेटाबेस प्रबंधन प्रणाली होता है। एप्लिकेशन में व्याज्ञात तर्क सम्मलित है, सर्वर पर प्रस्तुत है एवं एचटीटीपी का उपयोग कर क्लाइंट के साथ संचार करता है।[13] वेब एप्लिकेशन पर क्लाइंट वेब ब्राउज़र है जो एप्लिकेशन लेयर द्वारा उत्पन्न एचटीएमएल को चलाता है।[14][15] इस शब्द को एमवीसी के साथ भ्रमित नहीं होना चाहिए, जहां, त्रिस्तरीय वास्तुकला के विपरीत, व्यावसायिक तर्क को नियंत्रक, मध्य परत से दूर रखने के लिए अच्छा अभ्यास माना जाता है।[16][17]


फ्रेमवर्क एप्लिकेशन

प्रोग्रामिंग भाषा के आधार पर इंटरनेट अनुप्रयोगों के निर्माण का समर्थन करने के लिए फ्रेमवर्क बनाए गए हैं, जिसमें ज़ेंड फ्रेमवर्क एवं रूबी ऑन रेल्स जैसे सामान्य प्रयोजन के उपकरण सम्मलित हैं, जो विशिष्ट भाषा की क्षमताओं को बढ़ाते हैं, मूल भाषा प्रोग्राम करने योग्य पैकेजों के समीप निर्मित होते हैं। विशिष्ट उपयोगकर्ता अनुप्रयोग, जैसे सामग्री प्रबंधन प्रणाली, कुछ मोबाइल विकास उपकरण एवं कुछ पोर्टल उपकरण हैं।[18]


सामान्य-उद्देश्य वाली वेबसाइट फ्रेमवर्क

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

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

सर्वर-साइड

क्लाइंट-साइड

उदाहरणों में बैकबोन , एंगुलर जेएस, एंगुलर (एप्लीकेशन प्लेटफॉर्म), एम्बर जेएस, React (जावास्क्रिप्ट लाइब्रेरी), जक्वेरी यूआई, स्वेल्टे, एवं वीयूई सम्मलित हैं।[20]


चर्चा मंच, विकी एवं वेबलॉग

  • विकीबेस

विशेषताएं

फ्रेमवर्क समान्यतः प्रोग्राम के नियंत्रण प्रवाह को सेट करते हैं एवं फ्रेमवर्क के उपयोगकर्ता को विभिन्न घटनाओं को उजागर करके उस प्रवाह में सम्मलित होने की अनुमति देते हैं।[21] नियंत्रण डिजाइन पैटर्न के इस व्युत्क्रम को आकृति के परिभाषित सिद्धांत के रूप में माना जाता है, एवं टीम के लिए सामान्य प्रवाह को प्रस्तावित करके कोड को लाभ पहुंचाता है जिसे कोई समान उपायों से अनुकूलित कर सकता है।[21]उदाहरण के लिए, कुछ लोकप्रिय माइक्रोफ़्रेमवर्क जैसे रूबी सिनात्रा (सॉफ़्टवेयर) (जो एक्सप्रेस.जेएस से प्रेरित है) एचटीटीपी अनुरोधों से पहले एवं बाद में मिडलवेयर हुक की अनुमति देता है। ये मिडलवेयर फ़ंक्शंस कुछ भी हो सकते हैं, एवं उपयोगकर्ता को लॉगिंग, प्रमाणीकरण एवं सत्र प्रबंधन एवं पुनर्निर्देशन को परिभाषित करने की अनुमति देते हैं।[22]


वेब टेम्पलेट सिस्टम

कैशिंग

बैंडविड्थ (कंप्यूटिंग) उपयोग, वेब सर्वर लोड (कंप्यूटिंग), एवं कथित विलंबता (इंजीनियरिंग) को अर्घ करने के लिए वेब कैश वर्ल्ड वाइड वेब इलेक्ट्रॉनिक दस्तावेज़ का वेब कैश है। एक वेब कैश इसके माध्यम से गुजरने वाले प्रपत्रों की प्रतियों को संग्रहीत करता है; यदि कुछ शर्तों को पूर्ण किया जाता है तो उसके पश्चात के अनुरोध कैश से संतुष्ट हो सकते हैं। कुछ एप्लिकेशन फ्रेमवर्क दस्तावेज़ों को कैशिंग करने एवं पृष्ठ की संयोजना के विभिन्न चरणों, जैसे डेटाबेस एक्सेस या टेम्प्लेट व्याख्या, को दरकिनार करने के लिए तंत्र प्रदान करते हैं।[citation needed]

सुरक्षा

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

डेटाबेस एक्सेस, मैपिंग एवं कॉन्फ़िगरेशन

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

वेब फ्रेमवर्क प्रदान करने वाली अन्य सुविधाओं में डेटाबेस लेनदेन [24] एवं आंकड़ों का विस्थापन[23]सम्मलित हैं|


यूआरएल मानचित्रण

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

यूआरएल मैपिंग सिस्टम जो रूट एवं हैंडल अनुरोधों के लिए पैटर्न मिलान या पुनर्लेखन का उपयोग करता है, यूआरएल को अधिक अनुकूल यूआरएल को छोटा करने की अनुमति देता है, साइट की सादगी को बढ़ाता है एवं खोज इंजन द्वारा बेहतर अनुक्रमण की अनुमति देता है। उदाहरण के लिए, "/page.cgi?cat=science&topic=physics" से समाप्त होने वाले यूआरएल को केवल /page/science/physics में परवर्तित किया जा सकता है। यह यूआरएल को लोगों के लिए याद रखना, पढ़ना एवं लिखना सरल बनाता है, एवं साइट के संरचनात्मक लेआउट के विषय में उत्तम जानकारी के साथ खोज इंजन प्रदान करता है। ग्राफ़ ट्रैवर्सल दृष्टिकोण भी अनुकूल यूआरएल के निर्माण में परिणत होता है। छोटा यूआरएल जैसे /पेज/विज्ञान डिफ़ॉल्ट रूप से सम्मिलित होता है क्योंकि यह /पेज/विज्ञान/फिजिक्स के लंबे ट्रैवर्सल का छोटा रूप है।

अजाक्स

अजाक्स (प्रोग्रामिंग), अतुल्यकालिक I/O जावास्क्रिप्ट एवं एक्सएमएल के लिए आशुलिपि, वेब अनुप्रयोग बनाने के लिए वेब विकास प्रधौगिकी है। पर्दे के पीछे सर्वर के साथ अल्प मात्रा में डेटा का आदान-प्रदान करके वेब पेजों को अधिक प्रतिक्रियाशील बनाने का उद्देश्य है, जिससे उपयोगकर्ता द्वारा परिवर्तन का अनुरोध करने पर पुनः पूर्ण वेब पेज को फिर से लोड न करना पड़े। इसका उद्देश्य वेब पेज की अन्तरक्रियाशीलता, गति, रखरखाव एवं उपयोगिता को बढ़ाना है।[25] जावास्क्रिप्ट पुस्तकालय अजाक्स प्रोग्रामिंग की जटिलता के कारण, कई अजाक्स आकृति हैं जो विशेष रूप से अजाक्स समर्थन से होता हैं। कुछ अजाक्स आकृति को बड़े आकृति के हिस्से के रूप में भी एम्बेड किया गया है। उदाहरण के लिए, जक्वेरी जावा स्क्रिप्ट लाइब्रेरी रूबी ऑन रेल्स में सम्मलित है।

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

वेब सेवाएं

कुछ आकृति वेब सेवाएँ बनाने एवं प्रदान करने के लिए उपकरण प्रदान करते हैं। ये उपयोगिताएँ वेब एप्लिकेशन के समान उपकरण प्रदान कर सकती हैं।[26]


वेब संसाधन

कई नए वेब 2.0 प्रतिनिधित्ववादी स्थिति में स्थानांतरण फ्रेमवर्क अब संसाधन विवरण आकृति (आरडीएफ) की अवधारणाओं के आधार पर सेमांटिक वेब ऑन्कोलॉजी इंजीनियरिंग के प्रकार के संसाधनों के संग्रह के निर्माण के लिए संसाधन-उन्मुख संरचना (आरओए) नीव आकृति प्रदान कर रहे हैं।

यह भी देखें

संदर्भ

  1. Multiple (wiki). "Web application framework". Docforge. Archived from the original on 2015-07-23.
  2. "Top Open-Source Static Site Generators". StaticGen.
  3. "CGI: Common Gateway Interface". Archived from the original on 2009-04-09.
  4. "सीजीआई". www.ibm.com (in English). Retrieved 2021-05-07.
  5. "यह PHP फ्रेमवर्क".
  6. "केकेपीएचपी".
  7. Thomson, Kris (2003-10-29). "Clarification on MVC= Pull and MVC Push". Retrieved 2007-07-29.
  8. "स्ट्रट्स और जेएसएफ के बीच मूलभूत अंतर क्या हैं". Struts.apache.org. 2011-02-14. Retrieved 2013-06-14.
  9. Microsoft. "त्रिस्तरीय वितरण". Retrieved 2011-09-19.
  10. Oracle. "clustering_concepts_10en" (PDF). Retrieved 2011-09-19.
  11. Robert R. Perkoski. "वेब विकास का परिचय". Archived from the original on 2013-11-07.
  12. IBM. "तीन स्तरीय वातावरण में क्लाइंट एक्सेस एक्सप्रेस का उपयोग करना". Retrieved 2011-09-19.
  13. Oracle. "थ्री-टियर आर्किटेक्चर को समझना". Retrieved 2011-09-19.
  14. Microsoft. "Pragmatic Architecture: Layering". Retrieved 2011-09-19.
  15. Arokia. "3-Tier Web Architecture". Retrieved 2011-09-19.
  16. "ASP.NET MVC नियंत्रक सर्वोत्तम अभ्यास". Archived from the original on 2011-10-11. Retrieved 2011-09-19.
  17. Jamis Buck. "पतला नियंत्रक, मोटा मॉडल". Archived from the original on 2015-05-16.
  18. "वेब फ्रेमवर्क के साथ शुरुआत करना" (in English). Wired Magazine. Retrieved 2018-04-02.
  19. KLIMUSHYN, Mel (6 April 2015). "Web Application Architecture – Client-Side vs. Server-Side". Atomic Spin. Retrieved 2016-03-06.
  20. "एंगुलरजेएस बनाम बैकबोन.जेएस बनाम एम्बर.जेएस". www.airpair.com (in English). Retrieved 2016-06-04.
  21. 21.0 21.1 Fowler, Martin. "bliki: InversionOfControl". martinfowler.com. Retrieved 2016-03-06.
  22. Xue, Qiang. "Capital One Engineering – Philosophies that Shaped Successful Frameworks". www.capitalone.io. Retrieved 2016-03-06.
  23. 23.0 23.1 23.2 "सक्रिय रिकॉर्ड मूल बातें". Ruby on Rails. Retrieved March 20, 2021. Object Relational Mapping, commonly referred to as its abbreviation ORM, is a technique that connects the rich objects of an application to tables in a relational database management system...Active Record automatically creates methods to allow an application to read and manipulate data stored within its tables.
  24. "सक्रिय रिकॉर्ड लेनदेन". Ruby on Rails. Retrieved March 20, 2021.
  25. "अजाक्स क्या है". www.dlsweb.rmit.edu.au. Retrieved 2021-05-07.
  26. Maximilien, E.M. (December 19, 2006). "Web Services on Rails: Using Ruby and Rails for Web Services Development and Mashups". IEEE Xplore. Chicago. doi:10.1109/ICWS.2006.139. ISBN 0-7695-2669-1.