CoreApp будет ядром для построения различных информационных систем. Системы, которые будут строиться на основе CoreApp должны уметь установить себя и, при необходимости, деинсталлировать. Приложения по этой технологии будут создаваться как набор компонент. Одна из компонент, от которой зависит все приложение, и является CoreApp. Другими компонентами будут ваши приложения, создание которых призван облегчить проект Oracle CoreApp.
Сразу декларируем следующий принцип построения приложений: наши приложения состоят из серверной и клиентской частей. В качестве основного клиента мы выбираем Oracle Forms. Серверная часть системы будет состоять из таблиц, PL/SQL функция и пакетов, системных установочных данных и других объектов базы данных Oracle. Наш основополагающий принцип состоит в том, что каждый объект базы данных должен создаваться отдельным SQL скриптом, файл с которым должен присутствовать в инсталляционном каталоге.
Наша технология должна позволять установить серверные компоненты системы в требуемом порядке, а также полностью удалить компоненты с сервера Oracle, если это необходимо.
Общая схема установки системы выглядит следующим образом:
- Создание пользователя БД – владельца схемы. Этот этап должен выполняться от имени SYS.
- Установка серверной части CoreApp посредством запуска установочного скрипта компонента.
- Установка серверной части компонент-приложений, основанных на функционале Oracle CoreApp, которые вы сможете создать в дальнейшем.
- Установка клиентских форм и отчетов на сервер приложений
Для хранения инсталляционных файлов предлагается следующая структура:
Выбираем диск для хранения файлов, в нашем случае C:\, на нем создаем каталог с именем системы. Мы выберем C:\app, вы можете выбрать свое имя будущей системы.
Внутри этого каталога будут размещаться каталоги с компонентами системы, один их них CoreApp, поэтому создадим каталог C:\app\coreapp
В названии каталогов и имен файлов будем использовать только символы нижнего регистра, что несколько упростит запуск скриптов непосредственно на Linux серверах.
Внутри каталога coreapp создадим следующий набор каталогов для хранения файлов:
\coreapp\forms - каталог для хранения файлов форм Oracle Forms
\coreapp\ias - каталог для хранения настроек для сервера приложений Oracle IAS
\coreapp\icons - каталог для хранения пиктограмм, используемых в клиентских формах
\coreapp\images - каталог для хранения изображений, например, логитипа системы
\coreapp\java - каталог для хранения java компонент
\coreapp\lib - каталог для хранения библиотек Oracle Forms
\coreapp\release - каталог для хранения релизов компонента CoreApp
\coreapp\reports - каталог для хранения файлов отчетов Oracle Reports
\coreapp\server - каталог для хранения установочных файлов серверной части CoreApp
Наш основной каталог coreapp\server, в котором будут храниться установочные скрипты объектов базы данных компонента CoreApp. Этот каталог будет иметь следующую структуру:
\coreapp\server\ctx - файлы создания контекстов
\coreapp\server\data - файлы загрузки системных данных
\coreapp\server\dba - файлы создания владельца схемы приложения и вспомогательные утилиты для DBA
\coreapp\server\func - файлы создания PL/SQL процедур и функций
\coreapp\server\grnt - файлы назначения привилегий для объектов БД
\coreapp\server\patch - файлы модификаций уже существующих объектов БД, так называемые патчи
\coreapp\server\pckg - файлы создания PL/SQL пакетов
\coreapp\server\role - файлы создания ролей
\coreapp\server\seq - файлы создания последовательностей
\coreapp\server\syn - файлы создания синонимов
\coreapp\server\tabs - файлы создания таблиц
\coreapp\server\trig - файлы создания триггеров
\coreapp\server\type - файлы создания объектных типов
\coreapp\server\view - файлы создания представлений
По мере разработки Oracle CoreApp все эти каталоги постепенно наполнятся файлами. Каждый каталог (кроме dba и patch) будет иметь по одному специальному файлу, предназначенному для выполнения в среде SQL*Plus, с именами:
_make.sql
_drop.sql
Файл _make.sql будет содержать список вызываемых объектов при инсталляции компонента, например, список вызовов файлов, создающих таблицы в требуемом порядке. Файл _drop.sql будет содержать DDL и DML инструкции для удаления объектов.
Корневой каталог компонента \coreapp\server\ будет содержать в себе два основных файла с именами:
setup.sql
clear.sql
Файл setup.sql будет содержать в себе список вызовов файлов _make.sql из всех подкаталогов и предназначен для запуска инсталляции серверной части компонента в SQL*Plus, файл clear.sql будет содержать в себе список вызовов файлов _drop.sql из всех подкаталогов и предназначен для запуска деинсталляции компонента.
В следующей публикации мы приведем скрипты для создания владельца системы и выложим для скачивания архив с начальной инсталляцией проекта CoreApp.
Вопросы и предложения просьба задавать в комментариях к публикациям.
Оставьте свой комментарий
Вы должны быть авторизированны, чтобы оставить комментарий.