(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

BOLD - инструмент реализации MDA в Delphi. Часть 8. Работа с СУБД

Источник: КомпьютерПресс 2'2004
Константин Грибачев

Часть 7

Пример приложения с исходными текстами

Функции Persistence Layer

Уровень данных, который в Borland MDA называется Persistence Layer, предназначен для обеспечения реализации следующих основных функций:

• сохранение элементов (объектов и ассоциаций) объектного пространства (ОП) в долговременной памяти (как правило, на жестком диске, хотя для этой цели могут использоваться и любые другие устройства хранения - дискеты, flash-диски, CD/DVD-RW и т.д. при наличии стандартного доступа к ним из приложения). При этом сохраняются только те объекты и связи, для которых в модели приложения задано свойство Persistent;

• загрузка элементов объектного пространства из долговременной памяти;

• объектно-реляционное отображение, то есть преобразование объектной UML-модели в структуру реляционной базы данных;

• генерация схемы реляционной базы данных по имеющейся объектной модели;

• преобразование OCL-выражений в операторы SQL (так называемый механизм OCL2SQL).

В начало  В начало 

Структура и состав компонентов

На рис. 1 представлена схема, иллюстрирующая взаимодействие объектного пространства и уровня данных. Центральным элементом, организующим подобное взаимодействие, является дескриптор уровня данных. В качестве такого дескриптора может выступать как компонент BoldPersistenceHandleFileXML, предназначенный для сохранения ОП в XML-файле (мы уже использовали этот компонент при описании создания простого приложения), так и компонент BoldPersistenceHandleDB, предназначенный для организации взаимодействия с реляционными СУБД.

Для обеспечения работы с конкретными типами СУБД в состав компонентов BMDA включены специальные компоненты - адаптеры баз данных.

В рассматриваемой версии имеются следующие основные адаптеры баз данных:

• BoldDataBaseAdapterBDE - обеспечивает подключение к СУБД через Borland Database Engine;

• BoldDataBaseAdapterADO - обеспечивает подключение к СУБД через интерфейс ActiveX Data Objects(ADO);

• BoldDataBaseAdapterIB - обеспечивает подключение к СУБД Interbase;

• BoldDataBaseAdapterDBX - обеспечивает подключение к СУБД через интерфейс DBEXpress.

Кроме вышеперечисленных, предусмотрены адаптеры для организации взаимодействия с данными посредством SOAP (Simple Object Access Protokol), а также для СУБД DBISAM и для пакета SQLDirect. Впрочем, разработчик имеет возможность при необходимости создать собственный адаптер СУБД.

В начало  В начало 

Подключение к СУБД

Рассмотрим, как на практике происходит подключение к СУБД. Для этого используем ранее созданное приложение, состоящее из одной формы и модуля данных. Удалим из модуля данных компонент BoldPersistenceHandleFileXML, а вместо него добавим компоненты BoldPersistenceHandleDB1, BoldDatabaseAdapterIB1 с закладки BoldPersistence, а также компонент, представляющий базу данных Interbase, - IBDatabase1 (рис. 2).

Настроим добавленные компоненты, как показано на рис. 3. В компоненте IBDatabase1 зададим имя базы данных - TestDB.

Затем в инспекторе объектов настроим адаптер базы данных, в данном случае просто указав тип используемого диалекта SQL (рис. 4).

Для генерации базы данных запустим редактор моделей и из главного меню выберем подпункт Tools->Generate Database (рис. 5), после чего Bold обеспечит создание схемы БД в соответствии с нашей UML-моделью.

В начало  В начало 

Управление взаимодействием с СУБД с помощью BoldActions

В состав Borland MDA входят инструменты BoldActions - достаточно удобные средства для обеспечения автоматических действий по созданию баз данных и управления подключением к уровню данных на этапе выполнения приложения. Их применение осуществляется посредством стандартного Delphi-компонента ActionList. Поместим его на нашу форму и выберем действие TBoldIBDatabaseAction (рис. 6 и 7).

Это действие предназначено для генерации схемы базы данных СУБД Interbase. В инспекторе объектов можно настроить параметры этого действия, указав свойства генерируемой базы данных (рис. 8).

Кроме того, добавим еще два действия - TBoldActivateSystemAction (активизация объектного пространства) и TBoldUpdateDBAction (обновление базы данных). Поместим на форму три кнопки, при этом каждую из них свяжем с одним из вышеуказанных действий (рис. 9), и запустим приложение на исполнение.

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

В начало  В начало 

Заключение

На этом мы завершаем цикл статей о технологии Borland MDA, реализованной в программном продукте Bold for Delphi. К сожалению, в рамках журнальных публикаций было затруднительно охватить эту тему более детально, поэтому пришлось ограничиться лишь предварительным знакомством с ней. Однако даже полученной информации вполне достаточно для того, чтобы самостоятельно продолжить процесс изучения рассматриваемой технологии. Тем более что в настоящее время технология Bold for Delphi получила развитие и в других программных продуктах фирмы Borland - в уже вышедшей версии Borland C#Builder Architect и в планируемой к выпуску версии Delphi 8 for Microsoft .NET. В эти программные продукты интегрирована технология Borland Enterprise Core Objects (ECO), которая по сути представляет собой перенос (пока частичный) Bold на платформу Microsoft .NET.

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

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

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Micro Focus/Borland »
Написать редактору 
 Рекомендовать » Дата публикации: 26.06.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
FastCube.Net Standard Edition Single License
Symantec Endpoint Protection Small Business Edition, Initial Hybrid Subscription License with Support, 1-24 Devices 1 YR
Антивирус ESET NOD32 Antivirus Business Edition newsale for 5 user, лицензия на 1 год
Zend Studio Commercial License 1 Year Free Upgrades
Q 1.0 for Windows Single User
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Программирование на Visual С++
Все о PHP и даже больше
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Пишу программы на заказ профессионально (2150)
Пишу программы на заказ на языках Pascal (численные методы, списки, деревья, прерывания) под...
 
Ищу программиста для написания программы (14)
Ищу программиста ,владеющего Вижуал Бэйсик и программированием в Экселе, для написания...
 
Пишу программы на заказ для студентов (166)
Пишу для студентов на с, с++, паскаль в средах ms visual studio, qt, builder, borland c, delphi....
 
Пишу программы на Lazarus (18)
Предлагаю разработку программ на заказ. Примеры программ: www.itproportal.ru
 
Вакансия iOS разработчик. Компания Smartym Pro, Минск. (1)
Компания Smartym Pro ищет в свою команду опытного IOS разработчика! Мы специализируемся на...
 
 
 



    
rambler's top100 Rambler's Top100