XRX (web application architecture)
सॉफ्टवेयर विकास में एक्स. आर. एक्स. एक वेब अनुप्रयोग वास्तुकला है जो एक्सफॉर्म्स, आर. ई. एस. टी. और एक्सक्वेरी पर आधारित है। एक्स. आर. एक्स. अनुप्रयोग वेब क्लाइंट और वेब सर्वर दोनों पर एक्स. एम. एल. प्रारूप में डेटा संग्रहीत करते हैं और डेटा प्रारूपों के बीच अनुवाद की आवश्यकता नहीं होती है। क्लाइंट और सर्वर सिस्टम के बीच डेटा परिवहन के लिए आवश्यक अनुवाद की न्यूनतम संख्या के कारण XRX को एक सरल और सुरुचिपूर्ण अनुप्रयोग वास्तुकला माना जाता है। एक्स. आर. एक्स. वास्तुकला को डब्ल्यू. 3सी मानकों (सी. एस. एस., एक्स. एच. टी. एम. एल. 2, एक्सपाथ, एक्स. एम. एल. स्कीमा) के साथ भी मजबूती से जोड़ा गया है ताकि यह सुनिश्चित किया जा सके कि भविष्य में एक्स. आर. एक्स. अनुप्रयोग मजबूत होंगे। क्योंकि एक्स. आर. एक्स. अनुप्रयोग क्लाइंट पर आधुनिक घोषणात्मक भाषाओं और सर्वर पर कार्यात्मक भाषाओं का लाभ उठाते हैं, वे गैर-डेवलपर्स को सशक्त बनाने के लिए डिज़ाइन किए गए हैं जो जावास्क्रिप्ट, जावा या. नेट जैसी पारंपरिक अनिवार्य भाषाओं से परिचित नहीं हैं। एक्स. आर. एक्स. एक्स. आर. एक्स. का अवलोकन एक शून्य अनुवाद अनुप्रयोग वास्तुकला है जो क्लाइंट वेब ब्राउज़र, अनुप्रयोग सर्वर और डेटाबेस सर्वर में डेटा को संग्रहीत करने के लिए एक्स. एम. एल. का उपयोग करता है। ऐसा इसलिए है क्योंकि इनमें से प्रत्येक परत एक ही संरचनात्मक डेटा मॉडल के रूप में एक्स. एम. एल. का उपयोग करती है कि एक्स. आर. एक्स. अनुप्रयोगों को वस्तु और संबंधपरक डेटा संरचनाओं दोनों से डेटा संरचनाओं का अनुवाद करने की आवश्यकता नहीं होती है। अनुवाद की आवश्यकता की कमी के कारण, एक्स. आर. एक्स. को एक स्वच्छ और सुरुचिपूर्ण डिजाइन माना जाता है। एक्स. आर. एक्स. वेब अनुप्रयोग संरचना विकासकर्ताओं को व्यावसायिक समस्या पर ध्यान केंद्रित करने की अनुमति देती है न कि अनुवाद समस्या पर। एक्स. आर. एक्स. सॉफ्टवेयर प्रौद्योगिकी में कई प्रगति से लाभान्वित होता हैः क्लाइंट आर्किटेक्चरल फीचर्स एक मॉडल-व्यू-कंट्रोलर (एम. वी. सी.) आर्किटेक्चर जो डेटा को इसकी प्रस्तुति और व्यावसायिक तर्क से अलग करता है। सभी सर्वर प्रस्तुतियों के लिए एक एकल तत्व (xf: प्रस्तुत करना)। यह अधिकांश ए. जे. ए. एक्स. अनुप्रयोगों में आवश्यक जावास्क्रिप्ट कोड को प्रतिस्थापित करता है। डब्ल्यू3सी मानकों के अनुरूप एक उन्नत इवेंट मॉडल (एक्सएमएल इवेंट्स) जो अनुप्रयोगों को विक्रेता-विशिष्ट और ब्राउज़र-विशिष्ट इवेंट हैंडलिंग से निपटने से मुक्त करता है। एक निर्भरता ग्राफ जिसका उपयोग ग्राहक नियंत्रकों की निर्भरता संरचना को संग्रहीत करने के लिए किया जाता है। यह डेवलपर को किसी एप्लिकेशन में डेटा बदलने पर मॉडल या दृश्यों को मैन्युअल रूप से अपडेट करने से मुक्त करता है। यह बहुत कम प्रयास के साथ क्लाइंट पर स्प्रेडशीट जैसे अनुप्रयोगों को बनाने की अनुमति देता है। एक घोषणात्मक प्रोग्रामिंग शैली जो अधिकांश क्लाइंट एक्सफॉर्म्स अनुप्रयोगों को लगभग 20 तत्वों के एक छोटे से सेट का उपयोग करके बनाने की अनुमति देती है। यह जावास्क्रिप्ट या अन्य प्रक्रियात्मक स्क्रिप्टिंग भाषाओं के ज्ञान के बिना समृद्ध ग्राहक अनुप्रयोगों को बनाने की अनुमति देता है। एक्सटेंसिबल बाइंडिंग्स लैंग्वेज का उपयोग करके नए यूजर इंटरफेस नियंत्रण बनाने के लिए एक आसान-से-विस्तारित प्रणाली। यह डेवलपर्स को W3C मानकों के साथ असंगतताओं के डर के बिना किसी भी समय नए नियंत्रण जोड़ने की अनुमति देता है। सर्वर वास्तुकला की विशेषताएँ कई देशी एक्स. एम. एल. डेटाबेस में अंतर्निहित आर. ई. एस. टी. इंटरफेस होते हैं जो प्रत्येक एक्स. क्वेरी को स्वाभाविक रूप से एक आर. ई. एस. टी. एफ. एल. वेब सेवा बनाते हैं। एक कार्यात्मक प्रोग्रामिंग मॉडल जो दुष्प्रभाव मुक्त प्रणालियों को बढ़ावा देता है जिन्हें डीबग करना आसान होता है और कई प्रोसेसरों पर चलाना आसान होता है। XQuery फ़ंक्शन और मॉड्यूल का उपयोग करके एक आसान-से-विस्तारित प्रणाली। क्लाइंट और सर्वर दोनों एक्सआरएक्स क्लाइंट और सर्वर घटक एक्सपैथ, एक्सएमएल स्कीमा और एक्सएमएल नेमस्पेस जैसे एक्सएमएल संबंधित मानकों की एक विस्तृत श्रृंखला का समर्थन करते हैं क्लाइंट और सर्वर के बीच डेटा के सभी हस्तांतरण के लिए डेटा का आदान-प्रदान करने के लिए आरईएसटी इंटरफेस का लगातार उपयोग जिसमें आपके प्रकार के डेटा की जाँच और कार्यों का सुझाव देना शामिल है एक्सपैथ और एक्सएमएल स्कीमा डेटा प्रकारों के उपयोग सहित डब्ल्यू3सी मानकों का सुसंगत एकीकरण क्लाइंट और सर्वर दोनों पर उपयोग किए जाने वाले कार्यों के मानक की एक बड़ी लाइब्रेरी एक्सआरएक्स के समग्र लाभ एक्सआरएक्स वास्तुकला के प्रमुख लाभों में से एक यह है कि यह जटिल डेटा संरचनाओं को संबंधात्मक संरचनाओं में "टुकड़े" करने की आवश्यकता से बचाता है और फिर एक रिकॉर्ड होने पर डेटा को संरचनाओं में फिर से पुनर्गठित करता है। एक्स. आर. एक्स. वेब अनुप्रयोग संरचना का एक अन्य लाभ यह है कि यह वस्तु-संबंध प्रतिबाधा बेमेल के आसपास की अधिकांश समस्याओं से बचाता है। एक अन्य लाभ यह है कि क्लाइंट डेवलपर को क्लाइंट पर जावास्क्रिप्ट सीखने की आवश्यकता नहीं है। पारंपरिक ऑब्जेक्ट/रिलेशनल वेब एप्लिकेशन आर्किटेक्चर के साथ तुलना 1990 के अंत में बनाए गए कई पारंपरिक वेब एप्लिकेशन आर्किटेक्चर मध्य ऑब्जेक्ट स्तरों और दृढ़ता परतों पर आधारित थे जो सारणीबद्ध डेटा धाराओं और रिलेशनल डेटाबेस सिस्टम का उपयोग करते थे। क्योंकि इनमें से प्रत्येक परत मॉडल को संग्रहीत करने के लिए अलग-अलग संरचनाओं का उपयोग करती थी, इसलिए परतों के बीच अनुवाद करने के लिए प्रणालियों को बहुत अधिक जटिलता की आवश्यकता होती थी। एक्स. आर. एक्स. का इतिहास बहु-स्तरीय प्रणालियों में शून्य-अनुवाद वास्तुकला का उपयोग करने के प्रारंभिक उदाहरणों का पता 1990 के दशक में वस्तु-उन्मुख डेटाबेस के उदय से लगाया जा सकता है। ओ. ओ. डी. बी. एम. एस. इतिहास देखें मार्क बिरबेक ने सुझाव दिया कि सितंबर 2006 में यू. के. एक्स. एम. एल. उपयोगकर्ता समूह के साथ एक बैठक में दोनों के बीच आर. ई. एस. टी. इंटरफेस के साथ एक्सफॉर्म्स, एक्सक्वेरी के संयोजन के कई फायदे थे। उनकी प्रस्तुति विशेष रूप से सुझाव देने वाले पहले लोगों में से एक थी कि तीन तकनीकों के संयोजनः आरईएसटी इंटरफेस के साथ एक्सफॉर्म्स और एक्सक्वेरी के आश्चर्यजनक रूप से लाभकारी प्रभाव होंगे। मार्क ने इस प्रक्रिया को "स्किमिंग" कहा लेकिन यह शब्द संक्रामक नहीं लगता था। ऑर्बियन के एरिक ब्रुचेज़ ने दिसंबर 2007 में बोस्टन पर एक्स. एम. एल. 2007 सम्मेलन में बात की। अपनी प्रस्तुति "एक्सफॉर्म्स एंड द एक्सिस्ट एक्स. एम. एल. डेटाबेसः ए परफेक्ट कपल" में, ब्रुचेज़ ने दिखाया कि कई लोग क्लाइंट पर एक्सफॉर्म्स और सर्वर पर एक्सक्वेरी के सहक्रियात्मक लाभों की खोज कर रहे थे। 14 दिसंबर, 2007 को डैन मैकक्रेरी द्वारा एक ब्लॉग पोस्टिंग द्वारा एक्सआरएक्स के लिए लेबल का सुझाव दिया गया था। इस लेख में डैन ने एक्सआरएक्स वास्तुकला के पीछे के विचारों के लिए एक संक्रामक मीम की आवश्यकता का सुझाव दिया था। एक्स. आर. एक्स. के सामान्यीकरण हालांकि एक्स. आर. एक्स. मूल रूप से क्लाइंट पर एक्सफॉर्म्स, एक इंटरफेस के रूप में आर. ई. एस. टी. और सर्वर पर एक्सक्वायरी के उपयोग को संदर्भित करने के लिए था, क्लाइंट और सर्वर पर एक्स. एम. एल. के सममित उपयोग के अन्य प्रस्तावकों ने किसी भी एक्स. एम. एल.-केंद्रित वेब क्लाइंट और किसी भी सर्वर को शामिल करने के लिए इस शब्द को सामान्यीकृत किया है जो एक्स. एम. एल. दस्तावेजों को संग्रहीत और पूछताछ कर सकता है। एक्स. आर. एक्स. के इस उपयोग को आम तौर पर "उथले एक्स. आर. एक्स". के रूप में जाना जाता है। ये सामान्यीकरण एक सरलीकृत शून्य-अनुवाद वास्तुकला से लाभान्वित होते हैं, लेकिन कई आरईएसटी इंटरफेस, सुसंगत डेटा चयन के लिए एक्सपाथ, क्लाइंट में घोषणात्मक प्रणाली और सर्वर पर कार्यात्मक भाषाओं (एक्सआरएक्स के प्रमुख पहलुओं में से एक) से लाभान्वित नहीं होते हैं। तीनों तकनीकों (एक्सफॉर्म्स, आरईएसटी और एक्सक्वेरी) के उपयोग को "डीप एक्सआरएक्स" के रूप में जाना जाता है। हालांकि एक्सआरएक्स वास्तुकला एक्सफॉर्म्स और एक्सक्वेरी पर केंद्रित है, यह अन्य तकनीकों के उपयोग को नहीं रोकता है जो एक्सएमएल को मूल रूप से हेरफेर करते हैं, जैसे कि एक्सएसएलटी, एक्सप्रोक और एक्सएसएल-एफओ। वेब एप्लीकेशन फ्रेमवर्क संदर्भ भी देखें अतिरिक्त संसाधन XRX: डैन मैकक्रेरी द्वारा सरल, सुरुचिपूर्ण, विघटनकारी XRX डेवलपर्स के लिए गूगल कोड रिपॉजिटरी XRX डेवलपर्स के लिए मेटाफोरिकल वेब और कर्ट कैगल द्वारा XRX प्रश्न जेनी टेनिसन द्वारा एक्सआरएक्स मैपिंग यूआरएलएस के साथ ऑर्बियन फॉर्म जेनी टेनिसन द्वारा एक्सआरएक्स परफॉर्मिंग अपडेट जेनी टेनिसन द्वारा एक्सआरएक्स लॉकिंग ग्रेन डिजाइन डैन मैकक्रेरी द्वारा एक्सआरएक्स विकिबुक एक्सआरएक्स विकिबुक पर एक्सिस्ट डेटाबेस का उपयोग करके सीआरयूडीएस एप्लिकेशन बनाने के लिए ट्यूटोरियल के साथ जेसन मोनबर्ग जेसी अलामा के ब्लॉग द्वारा द एजाइल स्टैक