![]() | ||||||||
BOLD - инструмент реализации MDA в Delphi. Часть 8. Работа с СУБДИсточник: КомпьютерПресс 2'2004 Константин Грибачев
Пример приложения с исходными текстами Функции Persistence Layer
• сохранение элементов (объектов и ассоциаций) объектного пространства (ОП) в долговременной памяти (как правило, на жестком диске, хотя для этой цели могут использоваться и любые другие устройства хранения - дискеты, flash-диски, CD/DVD-RW и т.д. при наличии стандартного доступа к ним из приложения). При этом сохраняются только те объекты и связи, для которых в модели приложения задано свойство Persistent; • загрузка элементов объектного пространства из долговременной памяти; • объектно-реляционное отображение, то есть преобразование объектной UML-модели в структуру реляционной базы данных; • генерация схемы реляционной базы данных по имеющейся объектной модели; • преобразование OCL-выражений в операторы SQL (так называемый механизм OCL2SQL).
Структура и состав компонентов
Для обеспечения работы с конкретными типами СУБД в состав компонентов BMDA включены специальные компоненты - адаптеры баз данных. В рассматриваемой версии имеются следующие основные адаптеры баз данных: • BoldDataBaseAdapterBDE - обеспечивает подключение к СУБД через Borland Database Engine; • BoldDataBaseAdapterADO - обеспечивает подключение к СУБД через интерфейс ActiveX Data Objects(ADO); • BoldDataBaseAdapterIB - обеспечивает подключение к СУБД Interbase; • BoldDataBaseAdapterDBX - обеспечивает подключение к СУБД через интерфейс DBEXpress. Кроме вышеперечисленных, предусмотрены адаптеры для организации взаимодействия с данными посредством SOAP (Simple Object Access Protokol), а также для СУБД DBISAM и для пакета SQLDirect. Впрочем, разработчик имеет возможность при необходимости создать собственный адаптер СУБД.
Подключение к СУБД
Настроим добавленные компоненты, как показано на рис. 3. В компоненте IBDatabase1 зададим имя базы данных - TestDB. Затем в инспекторе объектов настроим адаптер базы данных, в данном случае просто указав тип используемого диалекта SQL (рис. 4). Для генерации базы данных запустим редактор моделей и из главного меню выберем подпункт Tools->Generate Database (рис. 5), после чего Bold обеспечит создание схемы БД в соответствии с нашей UML-моделью.
Управление взаимодействием с СУБД с помощью BoldActions
Это действие предназначено для генерации схемы базы данных СУБД Interbase. В инспекторе объектов можно настроить параметры этого действия, указав свойства генерируемой базы данных (рис. 8). Кроме того, добавим еще два действия - TBoldActivateSystemAction (активизация объектного пространства) и TBoldUpdateDBAction (обновление базы данных). Поместим на форму три кнопки, при этом каждую из них свяжем с одним из вышеуказанных действий (рис. 9), и запустим приложение на исполнение. Убедимся, что при нажатии кнопки Создать БД генерируется новая база данных, с помощью кнопки Подключить активизируется объектное пространство (отображается информация из БД и обеспечивается возможность ее редактирования), а посредством кнопки Обновить БД отредактированная или добавленная пользователем информация запоминается в базе данных.
Заключение
Причины повышенного внимания компании Borland к инструментарию реализации MDA-архитектуры вполне объяснимы - даже из примеров, приведенных в данном цикле статей, становится ясно, сколь значительно с применением этой технологии повышается эффективность разработки приложений, использующих базы данных. Десятки компаний - разработчиков программного обеспечения уже давно и с успехом применяют Bold for Delphi при разработке информационных систем. И, если судить по отзывам специалистов, их производительность труда при этом повышается в 10 раз. С учетом сказанного автор выражает надежду, что данный цикл статей поможет как начинающим, так и опытным разработчикам преодолеть психологический барьер, который зачастую является основной серьезной проблемой при освоении качественно новых технологий программирования. |