<<
>>

Сравнение инструментальных средств для задачи разработки приложений баз данных

Рассмотрим возможности инструментальных средств Embarcadero Delphi, MS Access и Oracle ADF для решения задачи создания ПБД.

Embarcadero Delphi - является популярным в России представителем интегрированных сред разработки программного обеспечения.

Delphi ориентирована на императивную парадигму программирования, при этом (также, как и Embarcadero C++ Builder и Embarcadero RAD Studio) включает в свой состав большой набор VCL-компонентов (Visual Component Library) [45, 90],

позволяющих значительно автоматизировать создание ПО за счет реализованных в них алгоритмов и готовых объектов визуального пользовательского интерфейса.

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

Механизм доступа к данным обеспечивает взаимодействие с источником данных: соединение с БД, доступ и отправку данных. В Delphi в зависимости от выбранной технологии механизм доступа к данным может быть реализован через VCL компоненты TADOConnection (для технологии ADO - ActiveX Data Objects [70]) или TDatabase (для технологии BDE - Borland Database Engine). Данные объекты инкапсулируют методы и свойства, позволяющие управлять доступом к БД в заданной технологии.

Информацию из БД представляют в виде наборов данных - групп записей из таблиц БД, переданных в ПБД для просмотра и редактирования. Каждому набору данных указывается специальный невизульный компонент, обеспечивающий доступ и представление данных. В VCL Delphi реализован набор базовых классов, поддерживающих функции взаимодействия с наборами данных, а также ряд дочерних компонентов для различных технологий доступа к данным (например, TTable, TADOTable, TQuery, TADOQuery с общим предком — классом TDataSet). Компоненты, реализующие взаимодействие с БД через запросы в Delphi, четко разделены на компоненты для получения наборов данных (обрабатывающие SQL-запросы) и модификации данных (выполняющие DML- запросы).

Наборы данных типа TTable, TADOTable обеспечивают доступ и модификацию как к конкретной таблице, так и к нескольким связанным таблицам БД. Эти компоненты позволяют обеспечить доступ как с обычными полями таблиц БД, так и создавать вычисляемые поля. Для выбора данных из подчиненных таблиц существует возможность создания полей-подстановок (Lookup-полей), реализующих возможность выбора записей из подчиненных таблиц, но только на один уровень подчиненности. Необходимо отметить, что такая настройка требуется для каждой таблицы, которая задействована в работе ПБД.

Для реализации пользовательского интерфейса, обеспечивающего взаимодействие с БД, в Delphi реализован ряд визуальных компонентов отображения данных. В основном это аналоги классических визуальных компонентов (TEdit, TGrid), модифицированных для работы с наборами данных (TDBEdit, TDBGrid). Например, TDBGrid обеспечивает отображение набора данных в виде таблицы, а TDBEdit служит для визуализации и редактирования значения заданного поля таблицы. Для работы с полями-подстановками в Delphi существуют специализированные компоненты - TDBLookupListBox, TDBLookupComboBox. Эти компоненты обеспечивают выбор значений из подчиненных таблиц, но не позволяют создавать новые записи. Связь

22 компонентов визуализации с наборами данных осуществляется через специальный компонент TDataSurce, который отвечает за передачу данных в визуальные компоненты и возврат результатов редактирования в набор данных. TDataSurce контролирует изменение состояния визуальных компонентов при изменении состояния набора данных, передает сигналы управления от пользователя (визуальных компонентов) в набор данных.

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

Однако в большинстве приложений пользователю оставляют возможность изменения размеров формы. При этом возникает необходимость в определении правил, контролирующих перемещение компонентов при изменении размеров формы. В роли таких правил в Delphi выступают свойства компонентов Align (выравнивание) и Anchors (якоря).

Свойство Align задает размещение компонента относительно того компонента, на котором он размещен (своего «родителя»). Это свойство может принимать значения alNone, alTop, alBottom, alLeft, alRight, alClient. При значении alNone размер и положение компонента относительно его родителя не изменяются при изменении размеров родителя. При следующих четырех значениях компонент располагается вдоль соответствующей стороны родителя, при этом один из его размеров (вдоль стороны) изменяется, а другой остается постоянным. Значение alClient означает, что элемент управления занимает всю клиентскую область родительского окна.

Свойство Anchors представляет собой набор флагов (akTop, akLeft, akRight, akBottom). Установка каждого из флагов обеспечивает фиксацию элемента управления относительно соответствующей стороны родителя. При задании «якоря» по любой стороне расстояние между соответствующими сторонами

23 элемента управления и его родителя сохраняется неизменным. Свойство AutoSize обеспечивает изменение размеров компонента в соответствии с размерами его содержимого (текста, изображения, списка, иерархического дерева и т. д.).

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

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

Также отметим, что при необходимости модернизации ПБД или интеграции нескольких ППС, реализованных в Delphi, всегда требуется наличие файлов с исходными кодом (*.pas, *.dfm), а их отсутствие приводит к разработке систем «с нуля». Очевидным преимуществом разработки в Delphi в силу универсальности языка программирования является возможность реализации любых необходимых структур и алгоритмов.

Microsoft Access является СУБД, в состав инструментов которой входят средства как управления структурой БД, так и пользовательским интерфейсом. Кроме того, средствами MS Access можно реализовать пользовательский интерфейс для работы с внешними БД, работающими под управлением других СУБД (например, MS SQL Server). Можно сказать, что MS Access - это инструментальное средство для создания сугубо приложений БД.

В состав MS Access входят следующие инструментальные средства: построитель таблиц, построитель экранных форм, построитель SQL-запросов, построитель отчетов, выводимых на печать, построитель макросов, среда разработки VB. Большая часть разработки приложения баз данных в MS Access ведется в декларативном стиле. Например, при создании пользовательских форм и отчетов указываются поля таблицы (нескольких связанных таблиц, запросов) и шаблон, который отвечает за внешний вид (правила расстановки элементов) формы (отчета). Далее сгенерированные формы (отчеты) при необходимости дорабатываются при помощи механизмов визуального программирования в специальных дизайнерах (например, добавляются элементы управления, изменяется оформление). Средства управления положением компонентов на форме аналогичны Delphi. Более сложные функции реализуются программированием на VBA.

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

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

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

Oracle Application Development Framework (Oracle ADF) - современный фреймворк (фреймворк - «каркас», постоянная часть системы, в которой

реализована базовая функциональность [4]), нацеленный на быструю разработку корпоративных ППС. В основе Oracle ADF лежит технология объектно­реляционного отображения с применением развитой MVC (Model-View-Controller [73]) архитектуры. MVC предполагает выделение в приложении трех уровней: модели для взаимодействия с источниками данных, представления для взаимодействия с пользователем (пользовательский интерфейс) и контроллера для управления потоком между моделью и уровнем визуализации. Такое разделение позволяет упростить разработку приложений, поскольку модификация одного из уровней оказывает минимальное воздействие на другие, а сами компоненты одного из уровней (например, компоненты визуального интерфейса) могут многократно использоваться для различных объектов другого уровня.

В Oracle ADF дополнительно выделен слой бизнес-сервисов (Business Services) для доступа к данным из различных источников и реализации бизнес- логики. В качестве источников данных могут выступать реляционные БД, web- сервисы, унаследованные данные. Например, для доступа к реляционным БД используется компонент (сервис) ADF Business Components (ADF BC).

Уровень модели в Oracle ADF (ADF Model) отвечает за взаимодействие уровня пользовательского интерфейса с объектами бизнес-сервисов, обеспечивая единый интерфейс. ADF Model состоит из двух видов компонентов: Data Controls и Data Bindings. Data Controls позволяют абстрагировать детали реализации бизнес-сервисов, а Data Bindings определяют атрибуты, способы управления данными и связывают их с пользовательским интерфейсом, обеспечивая разделение уровня модели и пользовательского интерфейса. Созданная модель приложения хранится в метаданных проекта в виде набора xml файлов.

Уровень визуализации в Oracle ADF может быть реализован как для настольных, так и для web- и мобильных платформ в зависимости от используемых технологий. Так, для реализации настольных приложений можно использовать ADF Swing, AWT-компоненты или интегрироваться в MS Office (создать надстройку в MS Excel). Для реализации web-интерфейса

26 поддерживаются технологии Java Server Pages (JSP), Java Server Faces (JSF), ADF Faces.

Рассмотрим реализацию настольного приложения БД в Oracle ADF. Значительная часть приложения в Oracle ADF создается в декларативном стиле (через набор диалогов). Вначале необходимо создать соединение с целевой БД, создать и настроить объекты ADF Business Components. Для приложения БД могут быть созданы следующие ADF BC: Сущности (Entity Objects), Представления (View Objects), Ассоциации (Association), Ссылки представлений (Viewlink), Модули приложений (Application Modules).

Сущности соответствуют таблицам БД и содержат структурную информацию о них (типы атрибутов, ключи, ограничения), а также отвечают за выполнение CRUD-операций (CRUD - Create Read Update Delete). Представления - это наборы данных, связанные с сущностями. В простейшем случае представлением может быть подмножество атрибутов определенной сущности или SQL-запросы, формирующие атрибуты из нескольких сущностей в один набор данных. Ассоциации описывают связи между сущностями по первичным и внешним ключам. Ссылки представлений описывают механизм работы пользователя с сущностями и представлениями (например, реализация связи мастер-детали).

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

В результате настройки ADF BC будут сгенерированы Модель Базы Данных и Контроллеры данных. В Модели БД автоматически создается Модуль приложения БД, запустив который можно оценить работоспособность построенной модели.

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

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

Таблица 1. Сравнение инструментальных средств

Delphi MS Access Oracle ADF
Тип

инструментального

средства

IDE РСУБД Framework
Парадигма разработки Императивная, сборочная Декларативная Смешанная (декларативная + императивная)
Средства автоматизации разработки VCL Визуальные

диалоги и

конструкторы

Визуальные

диалоги и

генерация кода

Наличие модели Нет Да Да

разрабатываемого приложения БД
Средства - Скрыто Репозиторий
представления метаинформации,
модели разрабатываемого приложения БД XML-файлы
Создание «Ручная» сборка Генерация по Генерация по
пользовательских из визуальных шаблонам с модели, «ручная»
форм компонентов. возможностью сборка из
«ручной» доработки компонентов
Средства Управление Шаблоны, Шаблоны,
компоновки свойствами управление менеджеры
пользовательских визуальных свойствами компоновки.
форм компонентов визуальных
(выравнивание якорь) и компонентов.
Сложность Только при Требуется Только при
модификации при наличии перенастройка наличии каркаса
изменении исходного кода. таблиц, генерация приложения.
структур БД Требуется или модификация Требует
(например, перенастройка форм в «ручном» модификации
добавление новых компонентов режиме свойств BC,
полей) взаимодействия с модели и
источниками генерация или
данных и «ручная» сборка
модификация форм. форм.

Реализация ГИС- Только при Разработка и Только при
функциональности наличии реализация наличии каркаса
в готовом исходного кода. картографического приложения.
приложении. Разработка и модуля средствами Разработка и
реализация (API) популярных реализация
картографического ГИС. картографического
модуля средствами модуля средствами
(API) популярных (API) популярных
ГИС. ГИС.

Специализированные средства (например, My Visual DataBase Drive Software company, Corel Paradox, dBase Plus 8) существенно уступают по своей функциональности вышеперечисленным средствам общего назначения, в силу своей ориентированности на оптимизацию решения отдельных информационных задач.

30

Выводы

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

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

<< | >>
Источник: Фереферов Евгений Сергеевич. ТЕХНОЛОГИЯ АВТОМАТИЗАЦИИ СОЗДАНИЯ ПРИЛОЖЕНИЙ БАЗ ДАННЫХ С ГИС-ФУНКЦИОНАЛЬНОСТЬЮ НА ОСНОВЕ ИХ ДЕКЛАРАТИВНЫХ СПЕЦИФИКАЦИЙ. ДИССЕРТАЦИЯ на соискание ученой степени кандидата технических наук. Иркутск - 2014. 2014

Еще по теме Сравнение инструментальных средств для задачи разработки приложений баз данных:

  1. Фереферов Евгений Сергеевич. ТЕХНОЛОГИЯ АВТОМАТИЗАЦИИ СОЗДАНИЯ ПРИЛОЖЕНИЙ БАЗ ДАННЫХ С ГИС-ФУНКЦИОНАЛЬНОСТЬЮ НА ОСНОВЕ ИХ ДЕКЛАРАТИВНЫХ СПЕЦИФИКАЦИЙ. ДИССЕРТАЦИЯ на соискание ученой степени кандидата технических наук. Иркутск - 2014, 2014
  2. Приложение 14 Результаты компьютерной обработки матриц экспериментальных данных методом главных факторов с помощью программы SPSS Statistics
  3. Приложение 13 Исходные данные для процедуры факторизации (на примере названий специализированных и узкоспециализированных изданий)
  4. Глава 3. Разработка модели оценки ставки восстановления по корпоративным облигациям российских эмитентов
  5. Постановка задачи
  6. Постановка задачи
  7. Использование дробного исчисления в динамических задачах вязкоупругости
  8. 24. Средства индивидуализации юридических лиц.
  9. 5.1 Программа для ЭВМ
  10. § 1. Понятие банковской тайны и правовые средства ее обеспечения
  11. Церковнославянский язык как сакральное средство богообщения. Понятия и термины славянизм и церковнославянизм
  12. 3.2. Церковнославяно-русские полисеманты как лингвоментальное средство христианского осмысления человеческой жизни