Архитектура – Oracle Application Express
- By Юрий
- 20 February, 2013
- 2 Comments
- Просмотров: 11318
Добрый день уважаемые читатели блога Oracle Application Express (Oracle APEX)! Сегодня мы кратко рассмотрим архитектуру APEXа, а точнее опишем взаимодействия между её процессами.
Oracle Application Express (APEX), как мы уже говорили, генерирует из данных, находящихся в БД Oracle, динамические страницы, при этом позволяет нам обрабатывать их в режиме реального времени. При создании приложений, написанных на APEXе, с генерированные метаданные, которые хранятся в таблицах БД Oracle, модифицируются. Во время работы программы, APEX считывает эти метаданные и подставляет их в программу, отображая в браузере.
Давайте представим, все выше сказанное в виде многоэтажного дома,в котором живут сотни людей. Тогда работу 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, обработке страниц и их генерации.
Поскольку веб-браузер является ключевым элементом при взаимодействии Apexа и пользователя, то Oracle применяет HTTP Server (Apache), в котором содержится плагин mod_plsql. Этот плагин перенаправляет все запросы между элементами APEX в БД Oracle в реальном времени, и использует запросы нашего браузера к находящимся в БД процедурам.
P.s. Если вам понравилась статья то вы можете просмотреть рекламму, а я хоть тогда с чем-то выпью кофе;-) Спс!
Обновил статью: Юрий
[…] SQL Workshop (Создание и управление объектами базы данных) […]
[…] – означает, что мы используем Oracle HTTP Server с mod_plsql. Возможно мы используем и Embedded PL / SQL Gateway, но это уже […]