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

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

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

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

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

फायदे

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

नुकसान

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

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

सुरक्षा
एक आम ग़लतफ़हमी है कि APEX अनुप्रयोगों की अमूर्त प्रकृति के परिणामस्वरूप अपेक्षाकृत सुरक्षित उपयोगकर्ता वातावरण प्राप्त होता है। हालाँकि, APEX एप्लिकेशन, PHP, ASP.NET|ASP.net और Java (प्रोग्रामिंग भाषा) जैसी अधिक प्रत्यक्ष तकनीकों पर आधारित अन्य वेब अनुप्रयोगों की तरह ही एप्लिकेशन सुरक्षा खामियों से ग्रस्त हैं।

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

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

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

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

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

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

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

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

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

यह भी देखें

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

ग्रन्थसूची




बाहरी संबंध

 * Oracle APEX Documentation
 * Oracle APEX Discussions
 * Oracle APEX Ideas and Feature Requests
 * APEX World - Oracle Application Express Community site
 * Sites built with Oracle APEX
 * Oracle APEX Plugins built by the developer community
 * APEX GitHub repository contains starter apps and sample code
 * Oracle Application Express Translations created by the APEX community
 * Oracle Application Express Translations created by the APEX community