Архитектура – Oracle Application Express

Архитектура - Oracle Application Express

“Любой ребенок мечтает летать в облаках как Oracle” – все выше и выше и выше 🙂

Добрый день уважаемые читатели блога Oracle Application Express (Oracle APEX)! Сегодня мы кратко рассмотрим архитектуру APEXа, а точнее опишем взаимодействия между её процессами.

Oracle Application Express (APEX), как мы уже говорили, генерирует из данных, находящихся в БД Oracle, динамические страницы, при этом позволяет нам обрабатывать их в режиме реального времени. При создании приложений, написанных на APEXе, с генерированные метаданные, которые хранятся в таблицах БД Oracle, модифицируются. Во время работы программы, APEX считывает эти метаданные и подставляет их в программу, отображая в браузере.

Схема работы с метаданными Oracle Application Express

Схема работы с метаданными Oracle Application Express

Давайте представим, все выше сказанное  в виде многоэтажного дома,в котором живут сотни людей. Тогда работу Application Express, можно описать как взаимодействие “элементов” дома. Пусть структура APEX – «лифт», БД Oracle – “дом”, в котором много ячеек таких как двери и окна, а выход из дома на прогулку – “результат”.

Тем самым для выхода из дома на прогулку, нам необходимо воспользоваться лифтом (лифтов может быть много), который двигаясь между этажами, может взять ту или иную ячейку данных, связав с той или иной другой ячейкой данных, по своим назначенным правилам. После того как лифт загружен необходимыми данными, осуществятся выбор варианта предоставления – “выхода-вывода” – этих “ячеек” из дома, в том порядке в котором требуется пользователю, включая те процессы и условия, установленные в “правилах” эксплуатации лифта (правила аутентификация,  правила построения отчета, правила обработки запросов, события на ту или иную ячейку данных и т.п). По этому APEX представляет собой набор данных, структурированных в таблицах с большим количеством PL/SQL кода.

Во время своей работы Application Express:

выполняет аутентификацию и авторизацию;

осуществляет контроль выполнения приложений на разных уровнях запуска;

выполняет проверку состояния “качества” и обработку запросов;

управляет состояниями сессии;

генерирует и обрабатывает страницы.

Используя асинхронную архитектуру управления сессией, достигается минимизация ресурсов процессора. URL запросы, направляемые от браузера к Apex, представляются в подобном виде:

https://example.ru:8080/apex/f?p=101:11:7324304610507::::P11_ID:555

После их отправления нашим браузером, они перестраиваются в подходящий PL/SQL вызов, который анализируется Apex-ом. Результаты анализа возвращаются обратно в наш браузер, принимающий генерированную HTML страницу. Вследствие того, что управление сессией реализовывается в самой базе данных,  потребность в другом ПО для связи отпадает. При выводе каждой страницы появляется новая сессия базы данных, вследствие чего экономятся ресурсы сервера, так как ресурсы  применяются лишь во время запросов к Application Express, обработке страниц и их генерации.

mod_plsql в действии

mod_plsql в действии

Поскольку веб-браузер является ключевым элементом при взаимодействии Apexа и пользователя, то Oracle применяет HTTP Server (Apache), в котором содержится плагин mod_plsql. Этот плагин перенаправляет все запросы между элементами APEX в БД Oracle  в реальном времени, и использует запросы нашего браузера к находящимся в БД процедурам.

 
P.s. Если вам понравилась статья то вы можете просмотреть рекламму, а я хоть тогда с чем-то выпью кофе;-) Спс!

Обновил статью: Юрий

2 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.