Oracle Designer


Разработка приложений, основанная на модели

"Когда много людей работают над системой или программой, диаграммы являются важным инструментом коммуникации между ними: При модификации систем, понятные диаграммы представляют помощь в процессе сопровождения".
(J. Martin and C. McClure, Diagramming Techniques for Analysts and Programmers)


1. Краткий обзор
2. Введение
3. Задачи, решаемые Oracle Designer
4. Обзор продуктов Oracle Designer
5. Редактор Проектов (Design Editor)
6. Генераторы Oracle Designer
7. Выводы

В этом материале описываются характеристики и функции Oracle Designer, причем основное внимание фокусируется на мощных возможностях, которые представляет этот продукт при моделировании систем. Эти возможности служат гарантией продуктивного анализа и проектирования программного обеспечения и приводят к автоматической генерации как базы данных, так и приложений. Материал описывает Oracle Designer версии 2.1 и выше.

1. Краткий обзор

Набор инструментальных средств Oracle Designer предлагает интегрированное решение для разработки прикладных систем корпоративного уровня для Web и клиент/серверных приложений. Oracle Designer участвует в каждой фазе жизненного цикла разработки программного обеспечения - от моделирования бизнес -процессов до внедрения. Применение единого репозитория, делает возможным использование любых его компонент для быстрой разработки масштабируемых, кросс-платформных распределенных приложений.

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

Графические модели определений проекта, интегрированные с многопользовательским репозиторием существенно облегчают работу с Oracle Designer. Инструментальные средства построены на базе общепринятых методик, охватывающих весь жизненный цикл разработки и позволяющих пользователям привычным для их организации способом. Это обеспечивает гибкость и открытость подхода к разработке программного обеспечения за счет использования только тех частей продукта, которые требуются в данной задаче. В рамках процесса разработки обеспечивается поддержка методов RAD, JAD, информационного проектирования, водопадного метода (waterfall), итеративного метода, а также индивидуального подхода, выбранного компанией.

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


2. Введение

2.1 Проблемы разработки приложений

Повышенная сложность проектирования и разработки прикладных систем является следствием огромного количества возможностей при их реализации. Эта сложность приводит к возрастанию рискованности таких проектов. Следовательно, требуется такой метод разработки, который позволяет учесть все варианты, допускает развертывание в альтернативных средах (например, клиент/сервер и/или Web) и облегчает быстрые изменения проекта там, где это необходимо.

Стандартизация внешнего вида программ вызывает определенные трудности при организации разработки. Пользователям требуются простые, согласованные и эффективные интерфейсы. Многие организации разработали руководства по стилю программирования (style guides), в которых документируются требования к внешнему виду и характеристикам интерфейса пользователя (UI), но достижение желаемого эффекта все еще зависит от хорошей практики (или памяти) разработчиков. Лучшим решением является интеграция руководства по стилю программирования с инструментальными средствами, формирующими код приложения. В конечном итоге это позволит разработчикам уделять больше времени на анализ бизнес-требований пользователей.


2.2 Преимущества интегрированной среды управления

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

Преимущества Oracle Designer являются следствием четкого разграничения между компонентами архитектуры приложения , которые описываются и хранятся в единой интегрированной среде, или репозитории. Это разделение компонент проекта позволяет быстро создавать и модифицировать системы с ясным пониманием взаимозависимостей между компонентами этой системы и анализировать вероятные влияния на производимые в ней изменения.

Целостность и Качество

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

Производительность как результат многократного использования

Oracle Designer один раз определяет и много раз использует правила, управляющие надлежащим поведением и формой отображения данных. Эти стандартные правила можно переопределить во время проектирования для каких-либо конкретных целей, но в любом случае характеристики, используемые по умолчанию в остальных приложениях, сохраняются. Oracle Designer позволяет разработчикам встраивать руководства по стилю пользовательского интерфейса непосредственно в набор инструментальных средств генерации программного кода, используя для этого мощную комбинацию настроек (Preferences) и шаблонов (Templates). Настройки для элементов UI устанавливаются для всей прикладной системы и многократно генерируются для всех модулей, гарантируя их единообразие.

3. Задачи, решаемые Oracle Designer

Инструментарий Oracle Designer обеспечивает интегрированное решение для разработки приложений для сред Web и клиент/сервер масштаба предприятия. Oracle Designer участвует во всех фазах жизненного цикла разработки программного обеспечения - от бизнес-моделирования до внедрения. Подход, в основе которого лежит концепция репозитория, делает возможным использование любые или даже всех его компонент для быстрой разработки масштабируемых, кросс-платформных распределенных приложений.

Графика на всех этапах жизненного цикла

Известно, что задачи разработки выполняются более продуктивно и точно, если пользоваться инструментальными средствами, работающими на наглядном языке диаграмм. К числу таких задач можно отнести определение, модификацию и понимание компонент системы и связей между ними. Диаграммы вместе с отчетами, утилитами и генераторами обеспечивают надежную интегрированную среду для проектирования систем. Набор инструментария для моделирования Oracle Designer обеспечивает богатый набор диаграмм для поддержки деятельности по проектированию и реализации проекта.

Гибкое бизнес-моделирование

За счет предоставления инструментальных средств поддержки как объектно-ориентированных (OO) моделей моделирования, так и моделей типа "сущность-связь" (ER) Oracle обеспечивает гибкий метод бизнес-моделирования. Оба построителя диаграмм (diagrammers) поддерживают стандартные соглашения для соответствующих стилей моделирования: Унифицированный Язык Моделирования (Unified Modeling Language - UML) поддерживается разработчиком моделей (modeler) объектно-ориентированного типа, а моделирование ER - разработчиком моделей "сущность-связь".

Генерация для сред Web и клиент/сервер

На основе определений, хранящихся в репозитории , генерируются приложения, которые затем развертываются в средах клиент/сервер или Web. Используя Oracle Developer , на основе определения модуля или даже целого приложения можно получить систему, которая развертывается в обеих средах, без изменения каких бы то ни было частей определения. Это чрезвычайно продуктивный путь повторного использования определения приложений.

Реинжениринг проекта

Проектирование серверной части

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

Проектирование приложений

Аналогично, мы можем сделать реинжениринг проекта приложений, построенных на языке Visual Basic или Developer Reports и Forms Developer, включая логику приложения.

Циклическое (круговое) проектирование

При условии, что приложение построено в Oracle Developer, используя возможность реинжениринга проекта, мы можем поместить определения проекта в репозиторий, внести в них требующиеся изменения и повторно сгенерировать приложение. Если в сгенерированное приложение с помощью Developer внесены какие-то изменения, например, добавлена дополнительная бизнес-логика в форме триггеров PL/SQL, они также могут быть определены и помещены в репозиторий, и их не придется переписывать в процессе дальнейшей генерации.

Эта способность изменять приложение вне рамок Oracle Designer, определять изменения и повторно генерировать (сохраняя изменения) известна под названием "циклическое проектирование" (Round-Trip Engineering) и является основным элементом продуктивной среды проектирования и разработки. Если мы принимаем, что приложение изменяется в течение своего жизненного цикла, то способность поддерживать такое высокопродуктивное циклическое проектирование является одним из основных преимуществ использования Oracle Designer.

Средства управления репозиторием

В Oracle Designer включены средства для управления содержимым репозитория и доступом к нему пользователя. Утилита Администрирования Репозитория (Repository Administration Utility) предназначена АБД репозитория.

Используя средства управления репозиторием, можно определить прикладные системы, которые распределяют объекты между многочисленными проектами. Кроме того, эти же средства используются, чтобы распространить определения на многочисленные системы приложений, тем самым способствуя многократному использованию объектов в средах разработки.

Средства выделения, загрузки и слияния данных репозитория поддерживают распределенную разработку, при которой могут использоваться многочисленные репозитории Oracle Designer. Определения из одного репозитория загружаются в другие и согласовываются, гарантируя, что разработчики, не имеющие возможности работать в команде, могут все-таки извлечь пользу из плодов работы других разработчиков. Так же репозиторий служит опорой понятия "мобильная разработка". В рамках этого понятия аналитики или дизайнеры системы могут дистанционно (то есть, не покидая своих постоянных рабочих мест) работать с пользователями или клиентами, чтобы совместно определить требования, или прототипы, прежде чем вернуться к повторной загрузке новых определений проекта в центральный репозиторий.

Утилита Администрирования Репозитория обеспечивает очень эффективные, но, тем не менее простые в использовании характеристики, которые гарантируют, что полномасштабная разработка систем может проходить гладко, расширяя преимущества разработчиков, которые вместе трудятся в единой контролируемой среде.

Мощная база данных предварительных настроек и преобразователи проектов приложений

Отталкиваясь от созданной модели связи сущностей (ER), преобразователь проектов БД (Database Design Transformer) может автоматически выполнить эскизный проект базы данных со всеми таблицами, столбцами, индексами, и ограничениями ссылочной целостности.

Аналогично, преобразователь проектов приложений (Application Design Transformer) использует информацию, содержащуюся в функциональной модели и модели потоков данных, и создает полные определения модулей для экранов, отчетов и меню, готовых для проверки и дополнительной работы по проектированию еще до этапа генерации программного кода. Такой метод при проектировании создает базис для будущего приложения, и позволяет разработчикам концентрироваться на выяснении требований пользователя, способствуя, тем самым, возрастанию производительности и улучшению качества в уже завершенных системах.

Гибкость репозитория и открытые интерфейсы

Репозиторий Oracle Designer сконфигурирован таким образом, что он имеет возможность управлять объектами, используя собственный программный интерфейс. Описание нового объекта можно ввести в репозиторий с помощью диалогового интерфейса и без потребности в программировании. Доступ к новым объектам можно получать из имеющихся инструментальных средств и легко манипулировать ими, используя для этого Матричный Диаграммер (Matrix Diagram) или Навигатор Объектов Репозитория (Repository Object Navigator).

Разработчики или другие поставщики инструментальных средств имеют доступ к содержимому репозитория непосредственно из программ, написанных на языках 3GL или 4GL, используя полный API моделирования. С помощью этого API существенно упрощается процесс интеграции с репозиторием продуктов третьих фирм и облегчается их поддержка. Используя гибкость и открытые интерфейсы, доступные при работе с Oracle Designer, разработчики могут, не прибегая к сложному программированию, приспособить репозиторий к своим специфическим потребностям и использовать Oracle Designer в гетерогенной среде разработки, куда включены и инструментальные средства от других поставщиков.

Интеграция с настольными системами

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

Инструментарий моделирования Oracle Designer тесно интегрирован с известными приложениями. OLE интерфейс обеспечивает в средствах моделирования работу механизмов cut-and-paste и drag-and-drop. Можно привести примеры включения диаграмм в документы текстовых процессоров или использование текстового процессора для снабжения примечаниями самих моделей. Там где это необходимо, диаграммы могут даже содержать изображения, видео и звук. Такая интеграция позволяет разработчикам и пользователям вместе использовать знакомый комплект инструментальных средств в процессе определения бизнес-моделей и моделей систем, способствуя групповой работе, увеличению производительности и эффективности взаимодействия.

Управление диаграммами и синхронизация

Бизнес-моделирование и моделирование систем - это сложные, многозадачные процессы, для проведения которых требуются соответствующие средства поддержки. Инструментарий моделирования использует для управления и синхронизации сессий построения диаграмм (diagramming sessions) метод Интерфейса Множественных Документов (Multiple Document Interface - MDI), общеупотребительный во многих Windows-приложениях.

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

Механизм широкого оповещения

Механизм широкого оповещения Oracle Designer делает возможным оповещение пользователей об изменениях объектов репозитория текущей прикладной системы, как только такие изменения сделаны. Если объект репозитория, который в настоящий момент отображается в одном инструментальном средстве, изменяется в другом средстве, (даже в тех случаях, если это средство используется другим пользователем и на другой машине), срабатывает индикатор широкого оповещения, так что устаревшие объекты корректируются для требующегося отражения изменений.


4. Обзор продуктов Oracle Designer

4.1 Диаграммер бизнес процессов Oracle

Диаграммер Бизнес Процессов (Process Modeler) Oracle Designer непосредственно поддерживает методику моделирования процесса, которая помогает организациям визуализировать, понимать и радикально улучшать их фундаментальные бизнес-процессы. Организация может приобрести значительные выгоды в понимании, как работают эти бизнес-процессы, и изучить возможности более эффективного их выполнения. Уменьшение издержек, улучшение качества вместе с возможностями использования технологии для достижения больших преимуществ - вот возможные результаты изучения бизнес процессов.

Многоуровневая структура организации определяется и размещается на диаграмме в виде горизонтальных полос ("swim lanes"). Определяется точка начала бизнес-процесса (например, запрос клиента), а затем течение бизнес-процесса (шаги процесса в пределах организационной единицы) изображается в виде иконок. Подробные описания и данные относительно каждого шага процесса вводятся через диалоговые окна.

Затем шаги процесса определяются более подробно и иллюстрируются с помощью звука, изображения или видео. Фактическое выполнение бизнес-процессов, включая мультимедийные компоненты, можно увидеть с помощью анимации. Это позволяет понять весь процесс в целом и любые потенциально узкие места. Подробная информация, собранная в ходе построения моделей процесса, становится доступной в репозитории Oracle Designer через интерфейс электронных таблиц (Lotus 1-2-3 и Excel), матричный диаграммер или Навигатор Объектов Репозитория (Repository Object Navigator).

Интеграция в реальном времени всех определений с коллективным репозиторием Oracle Designer гарантирует, что модели процесса доступны для всех пользователей, наделенных соответствующими правами, что способствует эффективной коллективной работе над проектом.

4.2 Бизнес-анализ и требования к инструментальным средствам моделирования

Oracle Designer предоставляет инструментальные средства для поддержки ставших промышленными стандартами методов моделирования - ER-метода, иерархии функций, потоков данных и UML (Unified Modeling Language). Достижение детального понимания информационных и функциональных потребностей - основной этап в разработке систем, который необходим, чтобы сформировать полностью соответствующие потребностям предприятия системы и облегчить на основании модели их быструю разработку и эксплуатацию.

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

Как и в случае с диаграммером Бизнес Процессов, репозиторий Oracle Designer является центром хранения всех определений, обеспечивая контролируемое разделение и повторное использование определений в многочисленных проектах. Репозиторий - это средство, используемое для повышения качества определений и распределения работы среди участников команды разработчиков.

Диаграмма Связи Сущностей (Entity-Relationship Diagram)

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

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

Рисунок 1. ER-диаграмма: связи и атрибуты, отображенные на диаграмме

Моделирование типов объектов

Диаграммер моделей типов Oracle Designer версии 2.1 использует открытый стандарт для объектного моделирования. Он называется Унифицированный Язык Моделирования (Unified Modeling Language - UML) и в данное время находится в состоянии ратификации Группой Управления Объектами (Object Management Group - OMG). Спецификация определяет нотацию, семантику и, в будущем, стандарт взаимообмена для выполняющих требования UML инструментальных средств.

Модель типа объектов также использует многопользовательский репозиторий Oracle Designer, обеспечивая абсолютно прозрачное совместное использование, копирование и повторное использование объектов многими группами разработки.

Диаграммер моделей типов позволяет создать объектную модель, в которой тип представляет единицу самого нижнего уровня моделирования. Используя диаграммер моделей типов, проектировщик может создавать типы объектов или типы значений. О типах значений можно говорить как о специализации встроенных типов, например, number (число) или string (строка). Типы значений доступны при реализации понятия доменов (domains), то есть типов, которые могут иметь набор допустимых значений.

Рисунок 2. Модель типа

На Рис. 2 приведен пример объектной модели. В этой модели мы декларируем типы и ассоциации между ними. В примере мы можем видеть разные виды ассоциаций, например:

Ссылка (reference): филиал банка принадлежит одному и только одному банку. Имейте в виду, что проектировщик этой модели может выбрать представление этой ассоциации как агрегации (или композиции): банк может иметь множество филиалов.

Специализация, или разделение по типам (Specialization, или sub-typing): есть два рода Счетов - ТекущийСчет (CheckingAccount) и СберегательныйСчет (SavingsAccount). Два эти подтипа наследуют все атрибуты и операции типа Счет (Account), но могут также иметь свои собственные атрибуты и операции.

Отображение Типов Объектов в Типы Реализации

Используя Преобразователь разработчик может преобразовать модель типа объекта в репозитории в физический проект Oracle8, а затем использовать этот проект, чтобы автоматически сгенерировать операторы DDL (Data Definition Language) SQL Oracle8 для реализации этого проекта в базу данных Oracle8. Сгенерированные операторы DDL могут использоваться для создания как объектно-реляционных так и для реляционных баз данных.

Диаграмма Иерархии Функций

Иерархия Функций является дополнением к ER-модели и представляет в виде диаграммы деятельность, выполняемую вашим предприятием. Здесь используется методика функциональной декомпозиции, посредством которой описание бизнес-функции высокого уровня для всего предприятия или его подразделения последовательно разбивается на более детализированные функции.

Рисунок 3. Диаграмма Иерархии Функций

Диаграммы Потоков Данных (Data Flow Diagram)

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

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

Рисунок 4. Диаграмма Потоков Данных

Навигатор Объектов Репозитория

Навигатор Объектов Репозитория (Repository Object Navigator) обеспечивает способ представления объектов в репозитории и манипулирования ими, а также возможности администрирования приложений. Подобно Навигатору Объектов в Построителе Форм (Form Builder) в Oracle Developer и другим навигаторам в средах разработки, это средство отображает хранящиеся в репозитории элементы в виде иерархии.

Свойства выбранного элемента репозитория редактируются при помощи Палитры Свойств (Property Palette). На ней отображается информация о выбранном объекте, где показаны значения всех свойств элемента. Значение выбранного свойства корректируется в области редактирования, расположенной в верхней части окна палитры свойств. При помощи Навигатора могут создаваться новые элементы и ассоциации между существующими элементами.

Рисунок 5. Навигатор Объектов Репозитория Oracle Designer



Матричная Диаграмма

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

Вот примеры возможных вопросов, ответы на которые можно получить, работая с такой матрицей:

Матричная Диаграмма обеспечивает поддержку для решения таких вопросов в процессе моделирования и проектирования.

Рисунок 6. Построитель Матричных Диаграмм Oracle Designer

Рисунок 7. Матричная Диаграмма Oracle Designer

5. Редактор Проектов (Design Editor)

Инструментарий Oracle Designer представляет единую среду проектирования - Редактор Проектов, предназначенную для использования при разработке систем на этапах проектирования и генерации. Тем самым в процессе проектирования базы данных и приложений обеспечивается удобный и продуктивный способ просмотра и манипулирования хранящимися в репозитории определениями объектов.

Редактор Проектов состоит из окна навигатора объектов и области редактирования. Эти компоненты отображают все объекты на уровне проекта, например, таблицы, столбцы, модули, компоненты модулей, и т.п. Навигатор позволяет редактировать все объекты проекта и с помощью стандартных функциональных возможностей навигатора объектов опускаться до детального уровня информации. При выборе какого-либо объекта и перемещении его на область редактирования основного окна Редактора Проектов, вызывается соответствующий диаграммер, т.е. можно рассматривать объекты репозитория на уровне проекта и манипулировать ими с помощью графического интерфейса.

Такая же техника перетаскивания (drag and drop) используется, чтобы открыть построитель диаграмм данных, построитель диаграмм модулей или редактор логики модулей, если выбран соответствующий объект проекта. Навигатор Объектов и другие диаграммеры были разработаны так, чтобы была возможность выбирать объекты в одном из диаграммеров и переносить в другой. Например, в Навигаторе Объектов можно выбрать таблицу и некоторые столбцы и бросить их на открытую диаграмму модуля в построителе диаграмм модулей, и при этом будут автоматически созданы и показаны данные об использовании модулем этих таблиц и столбцов.

Имеется два основных типа диаграмм, которые можно рассматривать с помощью Редактора Проекта - Диаграммы Данных(Data Diagrams) и Диаграммы Модулей(Module Diagrams).

Рисунок 8. Редактор Проекта - Диаграмма Данных

Диаграмма Данных дает возможность отображать на диаграммах таблицы, представления и внешние ключи со всеми деталями этих объектов.

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

Диаграмма Модулей

Диаграмма определяет используемые модулем таблицы и столбцы. Связи, начерченные между таблицами, представляют внешние ключи, которые используются для определения отношения "мастер - деталь". От этого комплекта определений всего лишь один шаг до генерации приложения Oracle Forms с правильной синхронизацией данных, проверками и списками обрабатываемых величин с форматом данных и внешним видом, основанным на настройках. Модульная диаграмма отображается в двух представлениях - представление данных, в основном нацеленное на описание таблиц и столбцов, отобранных для использования в модуле, и внешнее представление модуля, показывающее, главным образом, внешний вид модуля, который будет сгенерирован. Во внешнем представлении отображаются группы элементов, кнопки навигации и табуляторы.

Рисунок 9. Редактор Проекта - Диаграмма Данных Модуля (Представление Данных)

Рисунок 10. Oracle Systems Designer - Диаграммы Данных Модуля (Представление Отображения Данных)

Структура приложения просматривается с помощью Навигатора Объектов. Разработчики могут определить общую структуру приложений в терминах программных модулей и взаимодействий между ними, например, вызовы меню, передача параметров, и структура данных. Представлены все типы модулей, включая Forms, Reports, Menus, Web Server и PL/SQL.

Прямая интеграция с другими инструментальными средствами моделирования и генерации Oracle Developer позволяет разработчикам итеративно улучшать проект модуля, или генерировать его непосредственно из диаграммы. Таким образом, быстрая сборка приложений из модулей-компонент увеличивает производительность разработки, в то время как получение более полной информации о проекте всей системы способствует более высокому качеству разработки.

Палитра Настроек

Одной из проблем в процессе управляемого моделью проектирования является сложность генерации приложений. Подход Oracle состоит в обеспечении способа определения того, как должны выглядеть и "вести себя" такие приложения при помощи Настроек Пользователя (User Preferences). Палитра Настроек позволяет пользователям устанавливать и просматривать настройки пользователя (а также манипулировать ими), которые будут использованы при работе генераторов Oracle Forms, Web Server, Visual Basic и Oracle Reports в очень наглядной и интуитивно понятной графической форме. Настройки отображаются в иерархическом виде, подобно тому, как объекты отображаются в описанном выше Навигаторе Объектов. Представление разделено по вертикали и горизонтали, чтобы облегчить навигацию и сравнение для различных наборов настроек.

Рисунок 11. Проектировщик Систем Oracle Systems Designer - Генератор Палитры Настроек

Редактор Логики Модуля

При проектировании и построении приложений Oracle используется хранящаяся на сервере логика на языке PL/SQL, например, для кодирования сложных бизнес-правил. В этом помогает Навигатор Логики Модуля (Module Logic Navigator), предоставляя разработчику правильно записанные конструкции для определения таких понятий как PACKAGES, PROCEDURES, TRIGGERS, CURSORS и FUNCTIONS (ПАКЕТЫ, ПРОЦЕДУРЫ, ТРИГГЕРЫ, КУРСОРЫ и ФУНКЦИИ) в контексте среды моделирования.

Логика клиентской части приложения, написанная на PL/SQL, JavaScript (для приложений Web Server) или Basic (для приложений Visual Basic) также хранится в репозитории. Редактор Логики позволяет пользователям создавать и редактировать логику приложения для любого из этих языков, и подключать ее к любой точке события (event point) графического интерфейса пользователя для этих языков, которые хранятся в репозитории.

Рисунок 12. Редактор Проектов - Редактор Логики Модуля

Редактор состоит из окна отображения текста модуля и дерева Селектора (Selector tree), обеспечивающего включение в текст модуля стандартных конструкций PL/SQL (или других языков) и допустимых значений данных. Код модуля может быть отображен двумя способами. В режиме просмотра (overview) отображается структура модуля с тем уровнем подробностей, который требуется пользователю, а в режиме редактирования (Editor) текст модуля отображается во всех подробностях, причем текст печатается с отступами (в структурированном виде), а ключевые слова выделяются цветом. Поддерживается полный синтаксический и семантический анализ введенных конструкций и полная синхронизация между режимами просмотра и редактирования. Редактор является полностью графической средой, допускающей простоту навигации, сравнение и перенос кодов (cut-and-paste) между модулями. Эта диаграмма помогает существенно увеличить производительность и качество определений логики клиентской и серверной частей приложений Oracle, главным образом за счет многократного использования конструкций PL/SQL как в пределах групп, работающих над проектом, так и в разных проектах.

6. Генераторы Oracle Designer

6.1 Генератор Oracle Developer Forms

Вызываемый из Редактора Проекта генератор для Oracle Forms 5.0 автоматически создает экраны приложений, из совокупности которых и состоит создаваемая прикладная система. Используя созданные в процессе проектирования определения таблиц, модулей и настройки, хранящиеся в репозитории Oracle Designer, Генератор Форм создает экранные формы и логику клиентской части приложения. Использование настроек генератора позволяет обеспечить согласованный и продуктивный способ использования объектов пользовательского интерфейса. Полученные в результате приложения работают на многочисленных платформах (для сред Web и клиент/сервер) так, как будто они были специально разработаны для этих платформ (full native platform look and feel). Интеграция с объектами OCX и OLE гарантирует полное соответствие стандартам MS-Windows для пользователей PC. Сгенерированные средства навигации приложения при помощи меню, кнопок и выпадающих списков гарантируют простоту использования приложений.

Применяется множество различных правил для настройки внешнего вида приложений (layout rules), так что, работая с пользователями и уточняя их предпочтения, можно легко достигнуть требующегося вида экранных форм.

Формы, созданные без использования Oracle Designer, можно подвергнуть процессу обратного проектирования (reverse engineering), обеспечивая тем самым возможность их будущих расширений и сопровождения с помощью Редактора Проектов.

6.2 Генератор Oracle Application Server

Приложения для Web генерируются, используя для графического определения модулей тот же метод, что и при генерации Forms. Они будут выполняться на Oracle Application Server. Генератор Application Server берет определения модулей и создает множество пакетов PL/SQL, которые затем устанавливаются для пользователя Oracle Application Server. Сгенерированное в результате приложение будет теперь работать с любым браузером, например, Netscape Communicator, используя в качестве интерфейса пользователя HTML.


6.3 Генерация C++

В настоящее время C++ является наиболее широко используемым объектно-ориентированным языком программирования, и поэтому очень важно обеспечивать для программ на C++ механизм прозрачного доступа к Oracle 8. Генератор C++ создает определение класса для каждого типа объектов и программный интерфейс для взаимодействия приложения с базой данных Oracle.

Такая динамическая интеграция обеспечивает два преимущества: во-первых, она позволяет изменять схему базы данных, не оказывая влияния на приложения. АБД может повторно создать базу данных, чтобы улучшить ее структуру , например использовать вложенные коллекции (embedded collection), а не коллекции, использующие ссылки (referеnced collection). Описание модели в Oracle Designer корректируется, чтобы отразить эти изменения.

Во-вторых, используя мощность и производительность кэш-памяти в клиентской части Oracle8, сгенерированный код обеспечивает высокую производительность подсистемы доступа к базе данных. Интерфейс для разработчика не только упрощается, он также оптимально настраивается.

6.4 Генератор Visual Basic

Генератор Visual Basic Oracle Designer на базе спецификаций модулей и проекта базы данных, записанных в репозитории, генерирует полнофункциональные приложения Visual Basic. При генерации из репозитория считываются правила, которые определяют требующиеся внешний вид и поведение приложения (required look and feel), а затем создается приложение, имеющее тот же стиль интерфейса, что и другие компоненты, сгенерированные Oracle Designer . Каждое сгенерированное приложение включает одно или более окон, каждое из которых может содержать многие зоны, в которые можно вводить данные или манипулировать ими. Эти сгенерированные приложения могут загружаться в среду проектирования Visual Basic, для создания исполняемых модулей.

6.5 Генератор Oracle Reports

Графические отчеты вносят значительный вклад в качество, простоту и удобство использования информации. Требования пользователей в этой области весьма значительны и изменяются очень часто. Чтобы удовлетворить эти требования и облегчить быстрое создание отчетов, в состав Oracle Designer включен Генератор Отчетов (Report Generator).

Используя те же метаданные, записанные в репозитории Oracle Designer , с помощью Разработчика Систем (Systems Designer), определяются модули программ отчетов, а также сведения об использовании в них данных. Общие характеристики объектов интерфейса пользователя, используемых во всех отчетах, снова определяются настройками. Затем генератор создает внешнее представление и процедуры для доступа к базе данных, необходимые для компонент Reports 3.0 Oracle Developer.

В репозитории определяются сложные операции суммирования и группирования данных для их применения в отчеты. Отчеты, созданные без помощи Oracle Designer , могут быть подвергнуты обратному проектированию, для обеспечения возможности их дальнейшего использования и сопровождения с использованием Проектировщика Систем и генератора отчетов. Создание и модификация отчетов в ответ на изменение потребностей пользователей - именно эти аспекты проекта наиболее часто игнорируют разработчики. Если воспользоваться Генератором Отчетов, нужды пользователей будут удовлетворены при минимальных затратах ресурсов проекта.


6.6 Генератор Oracle Server

Работа генераторов Форм и Отчетов направлена на создание компонент клиентской части приложения. Генератор Сервера (Server Generator) завершает создание приложения масштаба предприятия в целом, автоматически создавая все компоненты серверной части из хранящихся в репозитории определений.

Для проектов определений таблиц, созданных с использованием Проектировщика Систем (Systems Designer) создаются операторы DDL SQL. Сюда входит информация об основных таблицах и столбцах, а также проверка на сервере выполнения ограничений по внешним ключам, ограничений целостности, ограничений по первичным ключам и т. п. С этой целью создаются операторы DDL SQL стандарта ANSI. К тому же, Генератор Сервера создает определения для Oracle7, Oracle8 и Oracle8i, которые управляют ролевой моделью безопасности, работающей на сервере логикой приложения (PL/SQL), включая триггеры, хранимые процедуры и функции, а также параметры хранения. Определения, используемые для репликации, также создаются на основе информации, содержащейся в репозитории Oracle Designer. Генератор сервера также осуществляет обратное проектирование баз данных Oracle RDB, DB2/2, Microsoft SQL Server, Sybase, ANSI SQL DDL и ODBC.

Для разработки распределенных систем Oracle Designer допускает, чтобы определения систем были записаны для их реализации на конкретных серверах и узлах. Затем Генератор Сервера приводит определения в удобную форму для их разнесения по этим распределенным узлам и создает все сетевые определения, которые требуются для предоставления доступа к компонентам распределенных систем. Как и другие Генераторы, обратное проектирование из существующих определений позволяет разработчикам сопровождать и перепроектировать системы, используя для этого Проектировщик Систем.

Генератор Сервера обеспечивает быстрые и эффективные средства для конвертирования проектов распределенных серверов в работающие системы.

7. Выводы

Целью набора инструментальных средств моделирования и генерации Oracle Designer является выяснение потребностей пользователей и автоматизация построения гибких графических приложений для сред Web и клиент/сервер с максимально возможной продуктивностью. Эта цель применима как к начальному созданию приложений, так и к тем неизбежным изменениям, которые происходят в процессе их эксплуатации.

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

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


Interface Ltd.

Tel: 7+(095) 135-55-00, 135-25-19
E-mail: mail@interface.ru
http://www.interface.ru
Подготовили: tkachev@interface.ru
Дата: 21.12.99