Когда браузер обращается к OAF странице, http слушатель(listener) получает запрос и перенаправляет его серверу приложений для обработки(в oebs r12 используется OC4J), OA.jsp servlet, являющийся центральным контроллером начинает обработку запроса. OA.jsp, по имени страницы, читает метаданные страницы из MDS репозитория, для того, чтобы создать иерархию элементов страницы (web beans). Для каждого элемента, с которым связан контроллер, OA Framework вызывает метод processRequest() для инициализации свойств элементов страницы. Когда обработка завершена, OA Framework передает web bean иерархию в UIX framework, который генерирует HTML и отправляет его браузеру. Когда браузер инициирует отправку данных посредством вэб формы (например, пользователь нажимает кнопку), OA Framework при необходимости пересоздает иерархию (иерархия кэшируется между запросами к страницам, и необходимость ее пересоздания возникает только в исключительных ситуациях), и затем вызываются методы processFormRequest() для обработки событий. Когда выполнение кода обработчиков завершено, HTML страницы снова создается и отправляется пользователю
Ярлыки
- Основные компоненты OAF (2)
- Работа с БД (2)
- Создание простой страницы (1)
- Installation (1)
- Jdeveloper 10G (1)
- List of Values (1)
- LOV (1)
- OAF (8)
- OAF Project (1)
- REF CURSOR (1)
Показаны сообщения с ярлыком Основные компоненты OAF. Показать все сообщения
Показаны сообщения с ярлыком Основные компоненты OAF. Показать все сообщения
воскресенье, 20 ноября 2011 г.
Обзор основных компонентов Oracle Application Framework
Уровень MODEL
BC4J : Business Components for Java
BC4J это набор java библиотек и xml файлов, описывающих объекты, которые отражают объекты базы данных, такие как view, tables и связи между ними, например View Objects (VOs), Entity Objects (EOs), View Links, Entity Associations. Так же в BC4J входит такой объект как Application Module (AM).
Все BC4J компоненты на сервере приложений располагаются в каталогах относительно пути, на который указывает переменная окружения $JAVA_TOP, например:
Такие объекты как Application Module, View Object, View Link для приложения project, который принадлежит модулю pa должны располагаться в каталоге $JAVA_TOP/oracle/apps/pa/project/server/
Controller должен находится в каталоге $JAVA_TOP/oracle/apps/pa/project/webui/
Entity Object должен находиться в каталоге $JAVA_TOP/oracle/apps/pa/project/schema/server/
View Object
Данный объект хранит результат выполнения SQL запроса. Предоставляет механизмы для работы с данными и строками. Не предназначен для внесения изменений в таблицы БД, служит только для отображения данных. View Object может быть основан на SQL запросе, на Entity Object, а так же может содержать произвольные столбцы и заполняться программно произвольными данными (например, получаем список файлов в директории и заполняем VO именами файлов, чтобы затем отобразить набор данных пользователю).
Entity Object
Объект представляет собой связь с таблицей БД или использует процедуры PL/SQL для изменения данных (PL/SQL based entity). Если нам необходимо не только отображать данные, но и изменять их, мы должны использовать Entity Object. Каждое поле таблицы ставится в соответствие "Entity Attribute".
Application Module
Данный объект является контейнером для BC4J объектов, а так же AM предоставляет доступ к соединению БД для выполнения команд БД, таких как INSERT, UPDATE, выполнения хранимых объектов БД и т.д., предоставляет доступ к OEBS окружению, а так же позволяет фиксировать или откатывать транзакции.
Уровень VIEW
Страница (Page)
Страница находится на уровне VIEW в шаблоне проектирования MVC, представляет собой xml документ и является набором регионов (header(заголовок), table(таблица) и т.д. ) и каждый регион может содержать как элементы интерфейса, такие как field(поля ввода), button(кнопки), checkbox(триггеры вкл/выкл) так и другие регионы.
Регион (Region)
Регион так же как и страница находится на уровне VIEW в шаблоне проектирования MVC и представляет собой xml документ, который содержит как элементы пользовательского интерфейса, так и другие регионы. Отличие региона от страницы в том, что один регион можно использовать во множестве страниц. Для того, чтобы использовать регион, находящийся в репозитории, на своей странице необходимо создать элемент необходимого типа, например table (region2 на иллюстрации ниже), затем в Property Inspector для region2 выбрать свойство Extends и нажать … Открывается окно, в котором выбираем нужный нам регион, находящийся в репозитории MDS.
Обратите внимание, что свойства импортированного региона изменять нельзя
View реализуется с помощью технологии UI XML (UIX). UIX использует XML для описания компонентов и их иерархии для страницы. UIX Framework преобразовывает web bean иерархию в HTML, который затем отображается в браузере. Метаданные, используемые для описания пользовательского интерфейса хранятся в репозитории, который называется Meta-Data-Service(MDS) в БД. В репозиторий загружаются страницы, регионы и персонализации страниц. Репозиторий и работа с ним более детально будут рассмотрены позднее, при описании переноса приложения на рабочее окружение.
Уровень CONTROLLER
Controller
Обычный java класс, являющийся подклассом oracle.apps.fnd.framework.webui.OAControllerImpl. Присоединяется к регионам на страницах и служит для обработки событий, происходящих на страницах, таких как нажатие на кнопку или вызов списка значений. Имеет всего 3 метода:
1. ProcessRequest – Срабатывает при загрузке страницы, перед отображением страницы пользователю.
2. ProcessFormData – Обычно не используется. Служит для передачи параметров формы при POST запросе в соответствующие BC4J.
3. ProcessFormRequest – Обработка событий. Наиболее часто используемый метод.
BC4J : Business Components for Java
BC4J это набор java библиотек и xml файлов, описывающих объекты, которые отражают объекты базы данных, такие как view, tables и связи между ними, например View Objects (VOs), Entity Objects (EOs), View Links, Entity Associations. Так же в BC4J входит такой объект как Application Module (AM).
Все BC4J компоненты на сервере приложений располагаются в каталогах относительно пути, на который указывает переменная окружения $JAVA_TOP, например:
Такие объекты как Application Module, View Object, View Link для приложения project, который принадлежит модулю pa должны располагаться в каталоге $JAVA_TOP/oracle/apps/pa/project/server/
Controller должен находится в каталоге $JAVA_TOP/oracle/apps/pa/project/webui/
Entity Object должен находиться в каталоге $JAVA_TOP/oracle/apps/pa/project/schema/server/
View Object
Данный объект хранит результат выполнения SQL запроса. Предоставляет механизмы для работы с данными и строками. Не предназначен для внесения изменений в таблицы БД, служит только для отображения данных. View Object может быть основан на SQL запросе, на Entity Object, а так же может содержать произвольные столбцы и заполняться программно произвольными данными (например, получаем список файлов в директории и заполняем VO именами файлов, чтобы затем отобразить набор данных пользователю).
Entity Object
Объект представляет собой связь с таблицей БД или использует процедуры PL/SQL для изменения данных (PL/SQL based entity). Если нам необходимо не только отображать данные, но и изменять их, мы должны использовать Entity Object. Каждое поле таблицы ставится в соответствие "Entity Attribute".
Application Module
Данный объект является контейнером для BC4J объектов, а так же AM предоставляет доступ к соединению БД для выполнения команд БД, таких как INSERT, UPDATE, выполнения хранимых объектов БД и т.д., предоставляет доступ к OEBS окружению, а так же позволяет фиксировать или откатывать транзакции.
Уровень VIEW
Страница (Page)
Страница находится на уровне VIEW в шаблоне проектирования MVC, представляет собой xml документ и является набором регионов (header(заголовок), table(таблица) и т.д. ) и каждый регион может содержать как элементы интерфейса, такие как field(поля ввода), button(кнопки), checkbox(триггеры вкл/выкл) так и другие регионы.
Регион (Region)
Регион так же как и страница находится на уровне VIEW в шаблоне проектирования MVC и представляет собой xml документ, который содержит как элементы пользовательского интерфейса, так и другие регионы. Отличие региона от страницы в том, что один регион можно использовать во множестве страниц. Для того, чтобы использовать регион, находящийся в репозитории, на своей странице необходимо создать элемент необходимого типа, например table (region2 на иллюстрации ниже), затем в Property Inspector для region2 выбрать свойство Extends и нажать … Открывается окно, в котором выбираем нужный нам регион, находящийся в репозитории MDS.
Обратите внимание, что свойства импортированного региона изменять нельзя
View реализуется с помощью технологии UI XML (UIX). UIX использует XML для описания компонентов и их иерархии для страницы. UIX Framework преобразовывает web bean иерархию в HTML, который затем отображается в браузере. Метаданные, используемые для описания пользовательского интерфейса хранятся в репозитории, который называется Meta-Data-Service(MDS) в БД. В репозиторий загружаются страницы, регионы и персонализации страниц. Репозиторий и работа с ним более детально будут рассмотрены позднее, при описании переноса приложения на рабочее окружение.
Уровень CONTROLLER
Controller
Обычный java класс, являющийся подклассом oracle.apps.fnd.framework.webui.OAControllerImpl. Присоединяется к регионам на страницах и служит для обработки событий, происходящих на страницах, таких как нажатие на кнопку или вызов списка значений. Имеет всего 3 метода:
1. ProcessRequest – Срабатывает при загрузке страницы, перед отображением страницы пользователю.
2. ProcessFormData – Обычно не используется. Служит для передачи параметров формы при POST запросе в соответствующие BC4J.
3. ProcessFormRequest – Обработка событий. Наиболее часто используемый метод.
Подписаться на:
Сообщения (Atom)