Глава 13. Введение в APEX 4.0

Содержание

13.1. Технология Oracle: От моделирования данных до приложений
13.1.1. Моделирование данных с помощью Oracle SQL Developer Data Modeler
13.1.2. Разработка приложения с помощью Oracle SQL Developer и Oracle Application Express
13.1.3. Тестирование с помощью Oracle SQL Developer
13.1.4. Развёртывание
13.1.5. Мониторинг
13.2. Вступление
13.2.1. Oracle Application Express
13.2.2. Декларативное программирование
13.2.3. Компоненты APEX
13.2.4. Структура иерархического меню APEX
13.2.5. Структура рабочего пространства APEX
13.3. Объединение
13.3.1. Forms преобразование
13.3.2. Миграция из Access
13.3.3. Обработа электронных таблиц
13.4. Архитектура
13.4.1. Архитектура
13.4.2. Web Listener
13.4.3. Multi Tenant
13.4.4. Отчеты
13.4.5. Взаимодействие
13.4.6. Интеграция с базами данных
13.5. Самообслуживание
13.5.1. Настройка самообслуживания
13.5.2. Мониторинг ресурсов
13.5.3. Intranet Hosted Service
13.6. Безопасность
13.6.1. Application Express Accounts
13.6.2. Session Timeout
13.6.3. Runtime Only Installation
13.6.4. Безопасное кодирование
13.6.5. SQL Injection
13.6.6. Безопасность
13.7. Websheets
13.7.1. Страницы
13.7.2. Data Grids
13.7.3. Отчеты
13.7.4. Аннотации
13.7.5. Управление доступом
13.8. Разработка приложения
13.8.1. Навигация
13.8.2. Отчеты и формы
13.8.3. Картирование
13.8.4. Web 2.0
13.8.5. Глобализация
13.9. SQL Workshop
13.9.1. SQL Commands
13.9.2. SQL Scripts
13.9.3. Query Builder
13.9.4. User Interface Defaults
13.9.5. Utilities
13.9.6. Обозреватель объектов
13.10. Команда разработки
13.10.1. Features
13.10.2. Ежедневник
13.10.3. Список дел
13.10.4. Ошибки
13.10.5. Обратная связь
13.10.6. Новости
13.11. Администрирование
13.11.1. Администрирование экземпляра
13.11.2. Администрование рабочего пространства
13.12. Управление разработкой
13.12.1. Управление исходным кодом
13.12.2. Отладка
13.12.3. Удаленная отладка
13.12.4. Упакованные приложения

В главе использованы материалы [APEX1].

13.1. Технология Oracle: От моделирования данных до приложений

Корпорация Oracle выпускает ряд продуктов и поддерживает технологии, которые ориентированы на разработчиков. Это инструменты и среды разработки, языки и концепции, которые могут быть использованы в процессе проектирования, разработкиОт моделирования данных до приложений, тестирования и внедрения программных продуктов.

Направления, в которых развиваются продукты Oracle, можно разделить на следующие группы:

  1.  web-разработка (Интернет-приложения);

  2.  java-разработка (десктоп-приложения);

  3.  SOA-разработка (интеграция и управление);

  4.  database-разработка (программирование в СУБД).

Это разделение достаточно условно, так как некоторые продукты можно отнести одновременно к нескольким группам, другие продукты функционально дополняют друг друга в разных группах, т. к. практически все рассматриваемые нами инструменты являются частью единой платформы Oracle Fusion Middleware. Это большой плюс, т. к. взаимодействие различных компонентов конструируемой ИС уже отлажено и описано производителем. Рассмотрим некоторые продукты и технологии Oracle[DM14].

Упрощенный жизненный цикл разработки приложения включает пять фаз [DM13]:

  1. моделирование;

  2. разработка;

  3. тестирование;

  4. развёртывание;

  5.  мониторинг.

13.1.1. Моделирование данных с помощью Oracle SQL Developer Data Modeler

Oracle SQL Developer Data Modeler – это комплексное решение, позволяющее разработчикам проектировать реляционные модели взаимосвязей объектов для последующего преобразования их в полноценные БД. Продукт поддерживает логическое, реляционное, многомерное моделирование и моделирование типов данных, предлагая возможности многоуровневого проектирования и построения концептуальных диаграмм сущностей и связей. Пользователи могут создавать, расширять и модифицировать модели, а также сравнивать их с уже существующими.

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

Визуальное моделирование взаимосвязей между сущностями – поддерживает нотации Баркера и Бахмана, чтобы разработчики могли переключаться между моделями для удовлетворения потребностей клиентов или для создания и сохранения различных визуальных представлений моделей.

Ускоренное преобразование ERD-моделей в реляционные модели – трансформация всех правил и решений, сделанных на концептуальном уровне, в реляционную модель, детали в которой уточняются и обновляются.

Разделение реляционной и физической моделей – позволяет разработчикам создавать одну реляционную модель для разных версий базы данных или для разных баз данных, включая Oracle Database, IBM DB2 V7 и V8 для платформ Linux, UNIX, Windows и OS/390, а также Microsoft SQL Server 2000 и 2005.

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

Продукт интегрируется с Oracle SQL Developer – популярным графическим инструментом Oracle для разработки баз данных, – чтобы предоставить разработчикам возможность открывать и просматривать созданные ранее структуры, а также выполнять запросы и формировать отчеты с использованием репозитория отчетов.

Решение Oracle SQL Developer Data Modeler доступно для всех редакций Oracle Database 11g, 10g и работает в средах Windows, Linux и Mac OS X. Продукт лицензируется по пользователям [DM14].

13.1.2. Разработка приложения с помощью Oracle SQL Developer и Oracle Application Express

Oracle SQL Developer – бесплатный инструмент для написания SQL-запросов, разработки PL/SQL пакетов, процедур, функций, триггеров и т. п. Этот инструмент написан на языке Java и является кросс-платформенным. Oracle SQL Developer интегрируется с APEX для разработки и администрирования приложений.

Возможности Oracle SQL Developer:

  1. интегрированная среда разработки БД;

  2. облегчённый интерфейс, упрощающий и улучшающий разработку БД;

  3. запуск и настройка SQL;

  4. разработка и отладка PL/SQL;

  5. просмотр объектов БД;

  6. интегрированная утилита миграции БД;

  7. выполнение и создание отчётов;

  8. просмотр, создание и редактирование данных в БД;

  9. интегрированная поддержка управления версиями;

  10. экспорт объектов БД в SQL скрипты;

  11. генерация SQL скриптов из словаря данных;

  12. чтение и форматирование трассировочных файлов;

  13. расширяемость через Java и XML.

APEX является бесплатным продуктом, интегрированным с СУБД Oracle Database.

Изначально APEX предназначался для создания HTML-интерфейса к базе данных. В настоящее время выпущена 4-я версия продукта, который стал полноценной средой проектирования и разработки web-приложений любой сложности с интегрированной БД. На базе APEX и бесплатной редакции Oracle Database eXpress Edition (XE) можно создавать сайты и порталы, которые не требуют затрат на лицензирование.

Характерной особенностью этой среды разработки является то, что для работы с ней не требуется высокой квалификации в web-программировании и HTML-верстке. APEX представляет собой конструктор готовых блоков сайта. Фактически, минимально подготовленный пользователь может создавать рабочие сайты со встроенными средствами аутентификации и безопасности, современным дизайном и интерфейсом. С другой стороны, это гибкий инструмент, и квалифицированный разработчик может создавать страницы и сайты любого дизайна и структуры.

Немаловажным является и то, что работоспособность этого сайта будет поддерживаться мощной и надежной базой данных Oracle Database. Сайты и порталы, разработанные на APEX, способны обслуживать сотни пользователей, т. е. отвечают требованиям, предъявляемым по масштабируемости к Интернет-приложениям [DM14].

В состав APEX входят следующие четыре основных компонента.

  1. Application Builder – собственно среда разработки web-страниц и бизнес-правил.

  1. SQL Workshop – среда управления объектами базы данных (индексы, таблицы, представления и т. п.). Включает мастер создания SQL запросов для пользователей, которые не обладают знаниями в языке SQL.

  2. Utilities – импорт и экспорт данных, генерация SQL-скриптов на изменение структуры базы данных, отчеты и восстановление удаленных объектов.

  3. Administration – управление пользователями, настройками, правами доступа и просмотр отчетов.

APEX включает в себя следующие возможности:

  1. cреда разработки имеет простой и эффективный web-интерфейс, т. е. для начала разработки не требуется специализированных сред, разработка может вестись с любого компьютера с web-браузером;

  2. помощники миграции из настольных баз данных и электронных таблиц;

  3. встроенный мастер генерации отчетов в формате pdf;

  4. инструменты для интеграции и web-сервисами;

  5. большое количество шаблонов пользовательского интерфейса;

  6. интуитивно-понятное управление рабочим пространством;

  7. управление объектами по принципу drag & drop;

  8. графический помощник создания SQL-запро сов;

  9. защищенность данных сессии после авторизации пользователя;

  10. встроенный редактор PL/SQL;

  11. мастер создания диаграмм и отчетов на сайте;

  12. поддержка более 20 языков, включая русский.

APEX является кросс-платформенной системой, т. е. он успешно работает как на операционной системе Windows, так и на Linux, Solaris, HP-UX, MAC OS и других.

Одним из простейших примеров применения APEX на предприятии является переход от настольных баз данных и электронных таблиц (например, MS Access, MS Excel) к web-представлению этих баз и документов. Это бывает очень полезным, когда необходимо обеспечить одновременный доступ для редактирования одного и того же документа, особенно когда пользователи находятся в территориально удаленных офисах. В APEX встроен инструмент конвертации из таблиц Excel в таблицы APEX. После конвертации эти таблицы становятся доступны на корпоративном Интранет- или Интернет-сайте. Пользователь получает доступ к такой таблице после того, как вводит имя и пароль на сайте. Таким образом, можно организовать совместную работу над документом без пересылки его по электронной почте и т. п.

Разработка в APEX может вестись на нескольких языках: PHP, Java, PL/SQL. При разработке на PL/SQL, внутреннем языке базы данных Oracle Database, можно обойтись без промежуточного звена в виде web-сервера Apache (Oracle HTTP Server), HTML-код будет выдавать непосредственно СУБД.

13.1.3. Тестирование с помощью Oracle SQL Developer

Основные возможности [DM13]:

  1. тестирование SQL и PL/SQL;

  2. проверка результата;

  3. просмотр планов выполнения SQL;

  4. отладка PL/SQL;

  5. производительность;

  6. анализ трассировочных файлов;

  7. диагностическое покрытие кода PL/SQL;

  8. Profiler на уровне строки;

  9. иерархический Profiler.

13.1.4. Развёртывание

Основные возможности Oracle Enterprise Manager [DM13]:

  1. развёртывание;

  2. объекты БД;

  3. начальные данные;

  4. приложения;

  5. патчирование;

  6. использование сравнения схем;

  7. генерация скриптов для патчирования;

  8. Application Express развёртывание приложения;

  9. приложения развёртываются как SQL скрипты.

13.1.5. Мониторинг

Oracle Enterprise Manager (OEM) – комплекс средств для централизованного управления системами, созданными на основе продуктов Oracle, включая базы данных, серверы приложений, HTTP-серверы, Интернет-приложения и т.д.

OEM включает в себя:

  1. Oracle Management Service (OMS) – управляющий сервер, реализующий всю логику работы OEM. Пользователи работают с OEM через Web browser по протоколу http/https, используя интерфейс, предоставляемый OMS. Управляющий сервер имеет свой репозиторий, где он хранит необходимую для работы информацию о всех управляемых объектах. Репозиторий хранится в БД Oracle.

  2. Oracle Management Agent (OMA) – должен быть установлен и работать на каждом узле, находящемся под управлением OEM. OMA выполняет задания, которые исходят от управляющего сервера. Выполнение этих заданий может происходить в заранее указанные моменты времени или с определенной периодичностью.

  3. Oracle Enterprise Manager Grid Control – средство управления Oracle Grid.

  4. Oracle Enterprise Manager Database Control – облегчённая версия OEM Grid Control, предназначенная для управления только одним экземпляром или одним кластером баз данных Oracle, устанавливается по умолчанию с каждой базой данных Oracle.

  5. Oracle Enterprise Manager 10g Application Server Control – облегчённая версия OEM Grid Control, предназначенная для управления только одним экземпляром или одним кластером серверов приложений Oracle, устанавливается по умолчанию с каждым Oracle Application Server.

Основные возможности по мониторингу [DM13]:

  1. мониторинг SQL;

  2. Active Session History (ASH);

  3. Active Workload Repository (AWR);

  4. SQL-операторы с высокой нагрузкой (Top SQL);

  5. долго выполняющийся SQL;

  6. мониторинг Application Express приложений;

  7. использования;

  8. производительности;

  9. медленно работающих страниц.