ओरेकल एप्लिकेशन एक्सप्रेस

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

पृष्ठभूमि
एपेक्स का आकांक्षा क्लाउड और मोबाइल एप्लिकेशन बनाने की प्रक्रिया को सरल बनाना है जो अन्य चीजों के अतिरिक्त डेटाबेस सर्वर के लिए फ्रंटएंड के रूप में काम करते हैं।

एपेक्स ओरेकल डेटाबेस की एक पूर्णतः समर्थित निःशुल्क सुविधा है और इसे ओरेकल डेटाबेस चलाने के लिए कहीं भी स्थापित किया जा सकता है। ऑटोनॉमस डेटाबेस क्लाउड सर्विसेज और स्टैंड-अलोन पूरी तरह से प्रबंधित एपेक्स एप्लिकेशन डेवलपमेंट सर्विस सहित विभिन्न सेवाओं में ओरेकल के क्लाउड पर एपेक्स की भी प्रस्तावित की जाती है।

रिलीज़
ओरेकल एपेक्स को किसी भी ओरेकल डेटाबेस पर संस्करण 9.2 या उच्चतर से स्थापित किया जा सकता है, और ओरेकल 11जी से शुरू करके यह डिफ़ॉल्ट रूप से डेटाबेस के साथ स्थापित किया जाता है। एपेक्स 4.0 और उच्चतर को ओरेकल 10.2.0.3 या उच्चतर डेटाबेस पर स्थापित किया जा सकता है। एपेक्स 5.0 और उच्चतर को ओरेकल डेटाबेस के सभी संस्करणों (एसई1, एसई, और ईई) पर स्थापित किया जा सकता है, 11.1.0.7 या उच्चतर को वैध ओरेकल डेटाबेस तकनीकी समर्थन समझौते के साथ; एपेक्स 18.1 से, न्यूनतम डेटाबेस संस्करण 11.2.0.4 है। इसका उपयोग ओरेकल डेटाबेस 11जी एक्सप्रेस संस्करण (एक्सई) के साथ भी किया जा सकता है, लेकिन यह ओरेकल टेक्नोलॉजी नेटवर्क चर्चा मंच के माध्यम से समर्थित है, न कि ओरेकल सपोर्ट सर्विसेज के माध्यम से।

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

ओरेकल द्वारा अपनी सहायता साइटों को विकसित करने के लिए एपेक्स का आंतरिक रूप से बड़े पैमाने पर उपयोग किया जाता है। आस्कटॉम नॉलेज बेस, ऑनलाइन स्टोर, डेव जिम और लाइवएसक्यूएल एपेक्स पर चलते हैं।

लाभ

 * पीएल/एसक्यूएल से परिचित डेटाबेस प्रशासक वेब एप्लिकेशन विकसित करने के लिए अपने कौशल सेट का उपयोग कर सकता है
 * पूर्व-निर्मित थीम का उपयोग करके मॉक-अप बनाना आसान है
 * परिनियोजित करना में आसान (अंतिम उपयोगकर्ता एपेक्स एप्लिकेशन तक पहुंचने के लिए एक यूआरएल खोलता है)
 * अनुमापकता (लैपटॉप, स्टैंड-अलोन सर्वर, या ओरेकल आरएसी इंस्टॉलेशन पर परिनियोजित की जा सकती है)
 * सर्वर-साइड प्रोसेसिंग और सत्यापन
 * समूह विकास के लिए मूलभूत समर्थन
 * ओरेकल द्वारा प्रदान की गई डेमो एप्लिकेशन की निःशुल्क होस्टिंग
 * एपेक्स एप्लिकेशन निःशुल्क ओरेकल एक्सप्रेस संस्करण (एक्सई) डेटाबेस पर चल सकते हैं
 * किसी एप्लिकेशन के व्यक्तिगत घटकों को एसक्यूएल का उपयोग करके पुनर्प्राप्त या पहचाना जा सकता है, जिससे अनुकूलित रिपोर्ट की सुविधा मिलती है
 * आसानी से एसक्यूए विकास/परीक्षण/उत्पादन मॉडल का पालन करता है (डीबी पासवर्ड को उजागर नहीं करते हुए)
 * समाधान का समर्थन करने वाले डीबी मॉडल पर ध्यान केंद्रित करने में सहायता करता है (जावा, .नेट या पीएचपी में कोडिंग के विपरीत - आपको केवल जावास्क्रिप्ट की आवश्यकता है)
 * आसानी से एप्लिकेशन सेट में एक मानकीकृत थीम का समर्थन करता है (और उस विषय को बदलना)
 * आसानी से स्थानीय डेटाबेस, दूरस्थ ओरेकल डेटाबेस, या किसी वेब सेवा जैसे विभिन्न डेटा स्रोतों के साथ एकीकृत हो जाता है
 * अर्ध-तकनीकी अंतिम उपयोगकर्ता अपने स्वयं के वेब पेज और रिपोर्ट बना सकते हैं

नुकसान

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

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

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

एपेक्स अनुप्रयोगों को प्रभावित करने वाली भेद्यता के मुख्य वर्ग हैं: एसक्यूएल इंजेक्शन, क्रॉस साइट स्क्रिप्टिंग  (एक्सएसएस), और एक्सेस कंट्रोल।

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

अन्य वेब एप्लिकेशन भाषाओं की तरह ही एपेक्स अनुप्रयोगों में क्रॉस-साइट स्क्रिप्टिंग कमजोरियाँ उत्पन्न होती हैं। ओरेकल उपयोगकर्ता डेटा से बचने के लिए htf.escape_sc फ़ंक्शन प्रदान करता है जो एक प्रस्तुत एचटीएमएल प्रतिक्रिया के भीतर प्रदर्शित होता है। एपेक्स जो रिपोर्ट तैयार करता है, वह रिपोर्ट कॉलम पर डिस्प्ले अस सेटिंग के माध्यम से XSS के खिलाफ सुरक्षा भी प्रदान करता है। मूल रूप से डिफ़ॉल्ट यह था कि रिपोर्ट कॉलम से बाहर निकले बिना बनाई जाती थी, हालांकि हाल के संस्करण अब कॉलम प्रकार को डिफ़ॉल्ट रूप से भागने के लिए सेट करते हैं। कॉलम परिभाषाओं को उन कॉलमों की जांच के लिए प्रोग्रामेटिक रूप से क्वेरी किया जा सकता है जो मान से बचते नहीं हैं।

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

एपेक्स 4.0 के बाद से, एप्लिकेशन बिल्डर इंटरफ़ेस सलाहकार उपयोगिता के माध्यम से सुरक्षा स्थिति का कुछ सीमित मूल्यांकन प्रदान करता है।

तृतीय-पक्ष लाइब्रेरी
डेवलपर्स तृतीय-पक्ष पुस्तकालयों का उपयोग करके अपने एपेक्स अनुप्रयोगों में सुधार और विस्तार कर सकते हैं जिनके साथ एपेक्स मानक आता है। उनमें से हैं jQuery मोबाइल (HTML5 आधारित यूजर इंटरफ़ेस), jQuery यूआई (वेब ​​के लिए यूजर इंटरफेस), AnyChart (जावास्क्रिप्ट/HTML5 चार्ट), सीकेएडिटर (वेब ​​टेक्स्ट एडिटर), और दूसरे। विशेषज्ञों मान लीजिए कि नवीनतम एपेक्स पैच को लागू करने का यह एक फायदा है कि एपेक्स के साथ आने वाली बाहरी लाइब्रेरीज़ भी अपडेट लेकर आती हैं। हालाँकि, कई लाइब्रेरीज़ एपेक्स पैच की तुलना में अधिक बार नए संस्करण लेकर आती हैं।

एपेक्स और ओरेकल डेटाबेस एक्सप्रेस संस्करण (एक्सई)
ओरेकल एपेक्स को ओरेकल डेटाबेस एक्सप्रेस संस्करण (XE) के अंदर चलाया जा सकता है, जो एक निःशुल्क प्रवेश-स्तर डेटाबेस है। हालाँकि XE पर चलते समय एपेक्स की कार्यक्षमता जानबूझकर सीमित नहीं की जाती है, डेटाबेस इंजन की सीमाएँ कुछ एपेक्स सुविधाओं को कार्य करने से रोक सकती हैं। इसके अतिरिक्त, ओरेकल XE में CPU, मेमोरी और डिस्क उपयोग की सीमाएँ हैं।

एपेक्स और ओरेकल स्वायत्त डेटाबेस
ओरेकल एपेक्स और ऑटोनॉमस डेटाबेस के साथ, सभी ओरेकल एपेक्स घटकों का कॉन्फ़िगरेशन, पैचिंग, मॉनिटरिंग और अपग्रेडिंग पूरी तरह से ओरेकल द्वारा प्रबंधित किया जाता है। इसलिए डेवलपर्स रखरखाव या मैन्युअल रखरखाव की किसी भी परेशानी के बिना एप्लिकेशन विकास और तैनाती पर ध्यान केंद्रित कर सकते हैं। फीचर कार्यक्षमता में ओरेकल एसक्यूएल डेवलपर वेब (डेटाबेस क्रियाएँ), ओरेकल REST डेटा सर्विसेज (ORDS), ओरेकल XML डीबी सुविधाएँ, स्थानिक और बहुत कुछ सम्मिलित हैं।

शीर्ष सेवा
ओरेकल एपेक्स एप्लिकेशन डेवलपमेंट, जिसे एपेक्स सर्विस के रूप में भी जाना जाता है, ओरेकल क्लाउड इंफ्रास्ट्रक्चर (OCI) में एक पूरी तरह से प्रबंधित कम-कोड एप्लिकेशन डेवलपमेंट और परिनियोजन प्लेटफ़ॉर्म है। इस सेवा के साथ, डेवलपर्स को एपेक्स और एक अंतर्निहित ओरेकल ऑटोनॉमस डेटाबेस मिलता है। इस सेवा में डेटाबेस क्रियाओं के लिए एसक्यूएल डेवलपर वेब (डेटाबेस क्रियाएँ) और ओरेकल REST डेटा सेवाएँ (ORDS) भी सम्मिलित हैं।

यह भी देखें

 * ओरेकल एसक्यूएल डेवलपर

ग्रन्थसूची




बाहरी संबंध

 * ओरेकल एपेक्स Documentation
 * ओरेकल एपेक्स Discussions
 * ओरेकल एपेक्स Ideas and Feature Requests
 * एपेक्स World - ओरेकल एप्लिकेशन एक्सप्रेस Community site
 * Sites built with ओरेकल एपेक्स
 * ओरेकल एपेक्स Plugins built by the developer community
 * एपेक्स GitHub repository contains starter apps and sample code
 * ओरेकल एप्लिकेशन एक्सप्रेस Translations created by the एपेक्स community
 * ओरेकल एप्लिकेशन एक्सप्रेस Translations created by the एपेक्स community