Найти в Дзене
Oracle APEX

Oracle APEX. Сложное - просто

Оглавление

Контент Web сайта хранится в базе данных и повезло, если это Oracle Database. Повезло дважды, поскольку в состав Oracle Database входит Oracle Application Express (APEX). Oracle APEX - это полностью оснащенная фабрика для производства, публикации и сопровождения Web сайтов с опорой на базу данных.

Как это работает

Сначала создаются таблицы базы данных, в которых хранятся сущности и отношения между ними. Например, каталог товаров, журнал продаж. Этот этап ничем не отличается от классического производства Web объекта над базой данных. А дальше вступает в действие APEX, предлагающий готовые компоненты:

- Если нам на Web странице нужно дерево каталога товаров, мы выбираем готовый компонент Tree, пишем стандартный иерархический SQL запрос к таблице каталога - и дерево готово.

- Если нужен отчет о продажах, выбираем готовый компонент Classic Report, пишем запрос к таблице продаж - и отчет готов.

- Если нужен редактор каталога товаров, выбираем компонент Interactive Grid, пишем выбирающий запрос к таблице каталога, а всю автоматику по модификации данных система берет на себя.

И так для всего, что может понадобиться: списки, графики, поиски, выборы, загрузки/выгрузки, авторизация, сессии, логирование и т.д. и т.п.

Как это устроено

Собственный Web сервер, таблицы метаданных в базе и среда разработки/поддержки, сама являющаяся Web приложением:

Oracle Corporation
Oracle Corporation

Получив запрос клиента, Web сервер запрашивает у базы пользовательские данные и метаданные, описывающие устройство страницы, и динамически строит Web страницу, которую возвращает клиенту:

Вид страницы для пользователей (черная панель внизу - включен режим отладки)
Вид страницы для пользователей (черная панель внизу - включен режим отладки)

Эта же страница для разработчика представляется в виде конструктора:

Вид страницы в разработке
Вид страницы в разработке

Что это дает

Это дает экономию ресурсов, причем значительную.

Классический подход предполагает три слоя Web сайта:

  • Web сервер (например, Apache);
  • Web программы (например, PHP);
  • База данных (MySQL, PostgreSQL, MS SQL, Oracle DB)

Если в качестве базы данных выбрана Oracle DB, то два верхних слоя - и специалисты, их обслуживающие, - для большинства деловых задач становятся не нужны, а компонентная сборка ведется быстрее прямого кодирования.