Создание простого приложения часть 2 – Общее

Добрый день уважаемые читатели блога Oracle Application Express (Oracle APEX)!

Мы продолжаем цикл статей по созданию мини портала, используемого для хранения данных. Сегодня мы рассмотрим авторизацию и аутентификацию пользователя в нашем приложении. Создадим обработчик ошибок и обработчик логов для автоматизированных пользователей.

В предыдущей части мы уже научились создавать простое приложения.

Для начала войдем в нашу среду разработки, с указанием , именем и паролем. Для этого перейдем на страницу авторизации Apex и заполним все необходимые поля как и в предыдущей части по “Создание простого приложения”

Страницы приложения

Страницы приложения

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

  • Home – страница с  пользовательскими данными отображаемыми после авторизации пользователя.
  • Login – страница аутентификации Apex, обычно она идет под 101 номером.

Давайте подробнее разберемся со страницей - Login. Для этого нажимаем на имя страницы в перечни страниц.

Структура страницы в виде дерева

Структура страницы в виде дерева

Не пугайтесь, если у вас страница отображается не так как в моем случае, для этого воспользуйтесь переключателем, чтобы показать данные в виде списка, например так:

Структура страницы в виде списка

Структура страницы в виде списка

И так, давайте рассмотрим структуру этой страницы. Как мы видим в левой и правой части  управления страницей расположены деревья Page Rendering и Page Processing. Что они обозначают?

При создании приложения в Application Builder, мы связываем наши страницы с помощью вкладок, кнопок или гиперссылок. Каждая страница может иметь и кнопки и элементы и может включать даже логику приложения. По этому Application Express разграничивает страницу на “отрисовку” и “обработчик”.

Как известно Application Express динамически преобразуют и обрабатывает страницы на основе данных, хранящихся в таблицах баз данных Oracle. При любом запуске приложения, Application Express зависит от двух процессов:

  1. Show Page - это процесс “отрисовки” страницы (Page Rendering). Он собирает все атрибуты страницы (в том числе регионы, кнопки и другие элементы) в понятном виде для  HTML страницы.
  2. Accept Page – выполняет обработку страницы (Page Processing). Он выполняет любые вычисления, проверки, процессы и ветвления, которые указаны для этой страницы.

При запросе страницы через URL, отрабатывает Show Page. Когда на странице мы нажимаем на какую-либо кнопку или совершаем действие при котором идет перезагрузка страницы, тогда Application Express запускает Accept Page и выполняет обработку в течение которой она сохраняет переданные значения в сессии кэш, а затем выполняет любые вычисления, проверки или процессов.

Тем самым область работы с элементами страницы разбита на две структуры – “отрисовка” и “обработчик”.

Рассмотрим Page Rendering, для этого обратимся к левому дереву страницы.

Отображение Page Rendering

Отображение Page Rendering

Как мы видим в левой части у нас есть сама страница и ее дочерние элементы. Например Before Header – определяет, что должно отображаться при динамическом преобразовании страницы до отображения Header страницы.

Область Before Header

Область Before Header

Как мы видим в нашем случае до загрузки Header выполняется процесс – Get Username Cookie. Для того, чтобы узнать для чего нужен этот процесс, необходимо раскрыть данный элемент дерева контекстным меню, нажав правой кнопкой мыши, выбрав пункт Edit. После проделанных действий, мы получаем содержимое данного элемента.

Структура процесса Get Username Cookie

Структура процесса Get Username Cookie

Отметим следующие поля, которые также встречаются во всех других элементах дерева:

  • Name – имя то ли процесса, страницы, элемента, блока и т.п.
  • Type – тип элемента. В нашем случае тип представлен как PL/SQL anonymous block, что передает “обработчику” информацию о том, что на странице будет использоваться блок с PL/SQL кодом, который вызовет ту или иную функцию или процедуру. Типы элементов различны, и для каждого блока могут быть свои. Например Close popup window, On Demand – Run an “on-demand” application process, и т.п.
  • Sequence -  указывает последовательность для этого компонента. Последовательность определяет порядок оценки.
  • Process – текст выполняемого процесса. В нашем случае это PL/SQL код.
  • , – если процесс запущен и не генерирует ошибку, то это сообщение отображается как успешное () иначе не успешное ( ) на следующей странице.

Как мы видим в поле текста выполняемого процесса PL/SQL код который представлен следующими строками:

: P101_USERNAME := apex_authentication.get_login_username_cookie;

apex_authentication.get_login_username_cookie – эта функция читает куки с именем пользователя со страницы входа по умолчанию, и присваивает их элементу : P101_USERNAME, который отвечает за поле ввода логина пользователем.

<input id=’P101_USERNAME’ class=’text_field’ type=’text’  value=’admin’ name=’p_t01′>

Если кому интересно, то сама функция выглядит следующим образом:

Мы уже узнали как Application Express разграничивает страницу на “отрисовку” и “обработчик”. В следующей части речь пойдет о регионах – Region. Мы познакомимся с элементами дерева Region, с его шаблонами, а так же кратко опишем и разберемся с основными существующими в данной странице элементы региона.

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

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

Добавить комментарий