18.3. Технология ORACLE

Татьяна пред окном стояла,

На стекла хладные дышала,

Задумавшись, моя душа,

Прелестным пальчиком писала

На отуманенном стекле

Заветный вензель О да Е.

А.С. Пушкин. Евгений Онегин, гл.3, XXXVII

18.3.1. От моделирования данных до приложений

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

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

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

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

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

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

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

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

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

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

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

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

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

18.3.1.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].

18.3.1.2. 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-код будет выдавать непосредственно СУБД.

18.3.1.3. Фаза  3. Тестирование с помощью Oracle SQL Developer

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

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

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

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

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

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

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

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

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

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

18.3.1.4. Фаза 4.  Развёртывание

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

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

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

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

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

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

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

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

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

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

18.3.1.5. Фаза 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. медленно работающих страниц.