Oracle Application Express
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() | |
Разработчик(и) | Корпорация Oracle |
---|---|
Стабильная версия | 24.1 / 17 июня 2024 г. |
Операционная система | Windows , Linux , Oracle Solaris, HP-UX, IBM AIX [1] |
Лицензия | Техническая сетевая лицензия Oracle ( собственная [2] ) |
Веб-сайт | вершина |
Oracle APEX (также известный как APEX) — это корпоративная платформа разработки приложений с низким кодом от корпорации Oracle . APEX используется для разработки и развертывания облачных , мобильных и настольных приложений . Платформа представляет собой интегрированную веб-среду разработки (IDE) с рядом функций, включая мастера, макеты с возможностью перетаскивания и редакторы свойств, упрощающие процесс создания приложений и страниц.

Фон
[ редактировать ]В настоящее время APEX является полностью поддерживаемой бесплатной функцией базы данных Oracle и может быть установлен везде, где работает база данных Oracle . APEX также предлагается в облаке Oracle в рамках различных сервисов, включая облачные службы автономных баз данных и автономную полностью управляемую службу разработки приложений APEX. [3]
С момента своего создания в 2000 году название Oracle APEX претерпело множество изменений, в том числе:
- Потоки [4]
- Платформа Oracle [5]
- Проект Марвел
- HTML-база данных [6]
- Application Express (APEX), также известный как Oracle APEX [7]
APEX был создан Майком Хичва, разработчиком Oracle, после того, как разработка его предыдущего проекта WebDB начала отклоняться от его первоначального видения. Хотя APEX имеет некоторые общие функции с Web DB, он был разработан с нуля, и пути обновления с Web DB до APEX не существует. Когда ему было поручено создать внутренний веб-календарь, Хичва заручился помощью Джоэла Каллмана и начал разработку проекта под названием Flows. Хичва и Каллман совместно разработали веб-календарь и Flows, добавляя в Flows функции, необходимые для разработки календаря. Ранние сборки Flow не имели внешнего интерфейса, поэтому все изменения в приложении приходилось вносить в SQL*Plus посредством вставок, обновлений и удалений. [8]
APEX широко используется внутри компании Oracle для разработки своих сайтов поддержки. [ нужна ссылка ] База знаний AskTom, интернет-магазин, Dev Gym и livesql работают на APEX. [ нужна ссылка ]
В версии 5.2 нумерация была изменена на 18.1, обозначающая год и квартал выпуска. Это изменение связано с новой номенклатурой нумерации Oracle. Последняя версия Oracle APEX — 24.1 — была выпущена 17 июня 2024 года. [9]
Среда с низким кодом
[ редактировать ]Хотя APEX в той или иной форме существует с 2004 года, в последнее время он [ когда? ] был включен в новую категорию платформ разработки приложений под названием low-code . Эти среды с низким уровнем кода берут свое начало от языков программирования 4GL и инструментов быстрой разработки приложений (RAD). [10] Поскольку APEX изначально позиционировался как инструмент RAD, такое развитие является логичным. APEX позволяет создавать веб-приложения без кода . Когда требования более сложны, APEX позволяет расширять объекты Low-Code посредством декларативной структуры. Эта платформа позволяет разработчику определять собственную логику, бизнес-правила и пользовательские интерфейсы. Разработчик может сделать это путем включения SQL , PL/ SQL , HTML , JavaScript или CSS , а также плагинов APEX. APEX позволяет разработчикам перейти от отсутствия кода к сокращению кода и увеличению количества кода. [11] [12]
Безопасность
[ редактировать ]Существует распространенное заблуждение [ нечеткий ] что абстрактная природа приложений APEX приводит к созданию относительно безопасной пользовательской среды. Однако приложения APEX страдают от тех же недостатков безопасности, что и другие веб-приложения, основанные на более прямых технологиях, таких как PHP, ASP.net и Java .
Основными классами уязвимостей, затрагивающих приложения APEX, являются: SQL-инъекция , межсайтовый скриптинг (XSS) и контроль доступа.
Приложения APEX по своей сути используют конструкции PL/SQL в качестве базового серверного языка. Помимо доступа к данным через блоки PL/SQL, приложение APEX будет использовать PL/SQL для реализации авторизации и условного отображения элементов веб-страницы. Это означает, что обычно приложения APEX страдают от внедрения SQL, когда эти блоки PL/SQL неправильно проверяют и обрабатывают вредоносный ввод пользователя. Oracle реализовала специальный тип переменных для APEX, называемый переменными подстановки (с синтаксисом «&NAME.»), и они небезопасны и приводят к внедрению SQL. Если внедрение происходит внутри блока PL/SQL, злоумышленник может внедрить произвольное количество запросов или операторов для выполнения. Экранирование специальных символов и использование переменных связывания — правильный способ написания кода, исключающий внедрение XSS и SQL.
Уязвимости межсайтового сценария возникают в приложениях APEX, как и в других языках веб-приложений. Oracle предоставляет функцию htf.escape_sc() для экранирования пользовательских данных, отображаемых в отображаемом ответе HTML. Отчеты, создаваемые APEX, также обеспечивают защиту от XSS с помощью параметра «Отображать как» в столбцах отчета. Первоначально по умолчанию отчеты создавались без экранирования столбцов, хотя в последних версиях теперь по умолчанию для типа столбца установлено экранирование. Определения столбцов можно запрашивать программно, чтобы проверить наличие столбцов, которые не экранируют значение.
Чтобы контролировать доступ к ресурсам в приложении APEX, разработчик может назначить схемы авторизации ресурсам (например, страницам и элементам). Их необходимо применять последовательно, чтобы обеспечить должную защиту ресурсов. Типичным примером применения несогласованного управления доступом является ситуация, когда для элемента «Кнопка» установлена схема авторизации , но не связанный с ней процесс , который выполняется при нажатии кнопки. Злоумышленник может выполнить этот процесс (через JavaScript), не требуя доступности реальной кнопки.
Начиная с APEX 4.0, интерфейс Application Builder обеспечивает некоторую ограниченную оценку состояния безопасности с помощью утилиты Advisor.
Сторонние библиотеки
[ редактировать ]Разработчики могут улучшать и расширять свои приложения APEX, используя сторонние библиотеки. Среди них jQuery Mobile (пользовательский интерфейс на основе HTML5), [13] JQuery UI (пользовательский интерфейс для Интернета), [14] AnyChart (диаграммы JavaScript/HTML5), [15] CKEditor (текстовый веб-редактор) [16] и другие. Эксперты [ ВОЗ? ] говорят, что преимуществом применения последних патчей APEX является то, что внешние библиотеки, поставляемые с APEX, также содержат обновления. [ нужны разъяснения ] Однако многие библиотеки выходят с новыми версиями чаще, чем патчи APEX. [17] [18]
APEX и Oracle Database Express Edition (XE)
[ редактировать ]Oracle APEX можно запускать внутри Oracle Database Express Edition (XE), бесплатной базы данных начального уровня. Хотя функциональность APEX не ограничивается намеренно при работе в XE, ограничения ядра базы данных могут помешать работе некоторых функций APEX. Кроме того, Oracle XE имеет ограничения на использование ЦП, памяти и диска. [19]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Oracle Application Express — Загрузки» . Оракул . Проверено 10 декабря 2015 г.
- ^ «Документация Oracle Application Express» . Справочный центр Oracle.
- ^ «Oracle Application Express (APEX): обзор» (PDF) . Корпорация Оракл .
- ^ «Добро пожаловать в Flows для APEX» . apex-flowsforapex . Проверено 24 сентября 2021 г.
- ^ «Внедрение облачного сервиса платформы Oracle API» . Пакет . Проверено 24 сентября 2021 г.
- ^ «1 Что такое база данных Oracle HTML?» . docs.oracle.com . Проверено 24 сентября 2021 г.
- ^ «Apex Developer | Limestone Digital» . Сайт Limestonedigital.com . 3 сентября 2021 г. . Проверено 24 сентября 2021 г.
- ^ «Майкл Хичва» . Апресс .
Майкл Хичва — первоначальный разработчик и архитектор Oracle Application Express (APEX), также известного как HTML DB. Майкл создал APEX как 100% переработанный ранее созданный им инструмент разработки приложений на базе браузера под названием Oracle WebDB. Ему оказали неоценимую техническую помощь и руководство Том Кайт, а также Джоэл Каллман в качестве соразработчика. Майкл и Джоэл возглавляют разработку APEX с 1999 года.
- ^ «Загрузки Oracle APEX» . oracle.com . Проверено 20 марта 2024 г.
- ^ Барановский, Артем (21 февраля 2023 г.). «Что такое процесс разработки программного обеспечения ERP: руководство по улучшению предприятия» . Середина . Проверено 12 марта 2023 г.
- ^ Каллман, Джоэл. «От низкого кода к высокому контролю» . Проверено 27 ноября 2017 г.
- ^ «Маленький код с Oracle Application Express» . apex.oracle.com . Проверено 27 ноября 2017 г.
- ^ «Создание мобильного веб-приложения с использованием Oracle Application Express 5.0» . Оракул.
- ^ «Руководство пользователя Application Express Application Builder» . Оракул.
- ^ «Oracle APEX: использование продуктов AnyChart с Oracle Application Express (APEX)» . AnyChart.
- ^ «Oracle выбирает FCKeditor для Application Express» . CKEditor.com.
- ^ «Полезности — в APEX 4.2.2 включены библиотеки» . Блог Дмитрия Гиелиса. 8 мая 2013 года . Проверено 10 декабря 2015 г.
- ^ «Первый взгляд на APEX 5» . Массовый оракул. 17 марта 2014 года . Проверено 10 декабря 2015 г.
- ^ «Ограничения экспресс-издания» . Корпорация Оракл . Проверено 22 мая 2013 г.
Библиография
[ редактировать ]- Бекманн, Ральф (1 октября 2013 г.), Oracle Application Express на практике: разработка веб-приложений на основе баз данных с помощью APEX (1-е изд.), Carl Hanser Verlag , стр. 416, ISBN 978-3446438965
- Чимолини, Патрик (12 сентября 2011 г.), Agile Oracle Application Express (1-е изд.), Apress , стр. 200, ISBN 978-1-4302-3759-4
- Маттамал, Радж; Нильсен, Антон (28 июля 2011 г.), Экспертные плагины Oracle Application Express: создание повторно используемых компонентов (1-е изд.), Apress , стр. 300, ISBN 978-1-4302-3503-3
- Фокс, Тим; Скотт, Джон; Спендолини, Скотт (29 июня 2011 г.), Pro Oracle Application Express 4 (2-е изд.), Apress , стр. 700, ISBN 978-1-4302-3494-4
- Зеху, Эдмунд (15 июня 2011 г.), Oracle Application Express 4 рецепта (1-е изд.), Apress , стр. 300, ISBN 978-1-4302-3506-4
- Ланкастер, Марк (28 мая 2011 г.), Oracle Application Express 4.0 с Ext JS (1-е изд.), Packt Publishing , стр. 392, ISBN 978-1-84968-106-3
- Ауст, Дитмар; Д'Суза, Мартин Гиффи; Голт, Дуг; Гиелис, Дмитрий; Хартман, Роэл; Хичва, Майкл; Кеннеди, Шэрон; Кубичек, Денес; Маттамал, Радж; МакГэн, Дэн; Миньо, Фрэнсис; Нильсен, Антон; Скотт, Джон (16 мая 2011 г.), Expert Oracle Application Express (1-е изд.), Apress , стр. 500, ISBN 978-1-4302-3512-5
- Голт, Дуг; Каннелл, Карен; Чимолини, Патрик; Д'Суза, Мартин Гиффи; Хилэр, Тимоти Ст. (31 марта 2011 г.), Начало Oracle Application Express 4 (1-е изд.), Apress , стр. 440, ISBN 978-1-84968-134-6
- ван Зост, М.; ван дер Плас, Марсель (14 декабря 2010 г.), Поваренная книга Oracle APEX 4.0 (1-е изд.), Packt Publishing , стр. 328, ISBN 978-1-4302-3147-9
- Геллер, Ари; Лайон, Мэтью (1 июня 2010 г.), Oracle Application Express 3.2 – The Essentials and More (1-е изд.), Packt Publishing , стр. 520, ISBN 978-1-84719-452-7
- ван ден Бос, Дау Питер (29 июля 2009 г.), Oracle Application Express Forms Converter (1-е изд.), Packt Publishing , стр. 172, ИСБН 978-1-84719-776-4
- Гринвальд, Рик (22 декабря 2008 г.), Начало работы с Oracle Application Express (1-е изд.), Wrox , стр. 384, ISBN 978-0-470-38837-2
- Скотт, Джон; Спендолини, Скотт (16 сентября 2008 г.), Pro Oracle Application Express (1-е изд.), Apress , стр. 700 , ISBN 978-1-59059-827-6