Кіріспе
Веб-базалық бағдарламалық қамтамасыз етуді әзірлеу ортасы
Oracle APEX (сонымен қатар APEX деп те аталады) – Oracle Corporation компаниясының кәсіптік деңгейдегі, азын кодты қолдану арқылы бағдарламалық қамтамасыз етуді әзірлеу платформасы. APEX бұлттық, мобильдік және десктоптық қолданбаларды әзірлеу және іске қосу үшін пайдаланылады. Платформа – веб-базалық интеграцияланған даму ортасы (IDE), құралдар жиынтығымен жабдықталған, оның ішінде бағдарламалар мен беттерді құру процесін жеңілдету үшін қадамдық нұсқаулар, сүйреп тастау арқылы макет құру және қасиеттерді өңдеу редакторы бар.
Төмен кодты орта
APEX 2004 жылдан бері түрлі форматта қолданылып келеді, бірақ жақында ғана «төмен кодты» (low code) қосымшаларды әзірлеу платформаларының жаңа санатына енгізілді. Мұндай төмен кодты орталардың бастауын 4GL бағдарламалау тілдері мен жылдам қолданбаларды құру (RAD) құралдарынан іздеуге болады. APEX бастапқыда RAD құралы ретінде таныстырылғандықтан, бұл дамудың логикалық қадамы. APEX код жазбастан-ақ веб-қосымшаларды құруға мүмкіндік береді. Егер талаптар күрделірек болса, APEX декларативтік құрылым арқылы төмен кодты объектілерді кеңейтуге мүмкіндік береді. Бұл құрылым әзірлеушіге арнайы логиканы, бизнес-ережелерді және пайдаланушы интерфейсін анықтауға көмектеседі. Мұны SQL, PL/SQL, HTML, JavaScript немесе CSS тілдерін, сондай-ақ APEX плагиндерін қосу арқылы іске асыруға болады. APEX бағдарламашыларға кодсыз, төмен кодты және одан да көп кодты қолдануға мүмкіндік береді.
Қауіпсіздік
APEX қосымшаларының абстракциялық табиғаты салыстырмалы түрде қауіпсіз пайдаланушы ортасын қамтамасыз етеді. Дегенмен, APEX қосымшалары PHP, ASP.net және Java сияқты тікелей технологияларға негізделген басқа веб-қосымшалар сияқты қосымшалардың қауіпсіздік кемшіліктерінің ұқсас түрлеріне ұшырайды. APEX қосымшаларына әсер ететін негізгі осалдықтар: SQL инъекциясы, Cross-Site Scripting (XSS) және Кіруді Бақылау. APEX қосымшалары негізінен PL/SQL құрылымдарын серверлік тіл ретінде пайдаланады. PL/SQL блоктары арқылы деректерге қол жеткізумен қатар, APEX қосымшасы PL/SQL-ді авторизацияны іске асыру және веб-бет элементтерін шартты түрде көрсету үшін де қолданады. Осының салдарынан, APEX қосымшалары әдетте PL/SQL блоктары пайдаланушының қауіпті кірісін дұрыс тексермеген және өңдемеген жағдайда SQL инъекциясына ұшырайды. Oracle, APEX үшін есімдік айнымалылар (Substitution Variables) деп аталатын (&NAME синтаксисімен) арнайы айнымалы типін енгізді, олар қауіпсіз емес және SQL инъекциясына әкелуі мүмкін. Егер инъекция PL/SQL блогының ішінде орын алса, шабуылшы кез келген сандағы сұрауларды немесе орындалуға тиіс операторларды енгізе алады. XSS және SQL инъекциясының алдын алу үшін арнайы таңбалардан қашу және байланыстырылған айнымалыларды пайдалану дұрыс кодтау тәсілі болып табылады. Cross-Site Scripting осалдықтары басқа веб-қосымша тілдеріндей APEX қосымшаларында да пайда болуы мүмкін. Oracle, көрсетілген HTML жауабында пайдаланылатын деректерді қауіпсіздендіру үшін htf.escape_sc функциясын ұсынады. APEX жасаған есептердегі XSS-тен қорғау, есеп бағандарының «Display As» параметрі арқылы қамтамасыз етіледі. Алғашқыда есептер бағандардан қашусыз жасалған, бірақ соңғы нұсқалары баған түрін әдепкі бойынша қашуға орнатады. Баған анықтамаларын бағдарламалық түрде сұрау арқылы мәні қашпаған бағандарды тексеруге болады. APEX қосымшасындағы ресурстарға кіруді бақылау үшін әзірлеуші ресурстарға (беттер мен элементтер сияқты) авторизация схемаларын тағайындай алады. Ресурстарды тиісінше қорғау үшін бұл схемалар үнемі дұрыс қолданылуы керек. Кіруді бақылаудың дұрыс емес қолданылуының әдеттегі мысалы – батырма элементі үшін авторизация схемасы орнатылған, бірақ батырманы басып орындалатын байланысты процесс үшін орнатылмаған. Зардап шегуші пайдаланушы нақты батырмаға кіруді қажет етпей, JavaScript арқылы процесті орындай алады. APEX 4.0 нұсқасынан бастап Application Builder интерфейсі кеңесші құрал арқылы қауіпсіздік деңгейін бағалауға мүмкіндік береді.
Үшінші тарап кітапханалары
Әзірлеушілер үшінші тарап кітапханаларын пайдаланып APEX қолданбаларын жақсарта және кеңейте алады. Олардың ішінде jQuery Mobile (HTML5 негізіндегі пайдаланушы интерфейсі), JQuery UI (веб-пайдаланушы интерфейсі), AnyChart (JavaScript/HTML5 диаграммалары), CKEditor (веб-мәтін редакторы) және тағы да басқалары бар. Сарапшылардың пікірінше, APEX-тің соңғы жаңартуларын қолданудың бір артықшылығы – APEX-пен бірге келетін сыртқы кітапханалар да жаңартылады. Дегенмен, көптеген кітапханалар APEX жаңартуларынан гөрі жиірек жаңа нұсқаларын шығарады.
APEX және Oracle Database Express Edition (XE) (Оракулдың деректер қорының жедел нұсқасы)
Oracle APEX Oracle Database Express Edition (XE) ішінде, тегін бастауыш деңгейдегі дерекқорында жұмыс істеуі мүмкін. XE-де APEX функционалдығы қасақана шектелмесе де, дерекқоры қозғалтқышының шектеулері кейбір APEX мүмкіндіктерінің жұмыс істеуіне бөгет болуы мүмкін. Сонымен қатар, Oracle XE процессор, жад және дискіні пайдалануға қатысты шектеулерге ие.