Данная книга посвящена новейшей технологии разработки приложений баз данных в Delphi, основанной на концепции архитектуры, управляемой моделями (Model Driven Architecture ? MDA). Читатель познакомится с идеологией MDA в целом, освоит базовые основы языка UML, познакомится с мощным и лаконичным диалектом языка OCL, благодаря которому гораздо легче и быстрее решаются задачи доступа к данным, чем при традиционной разработке с применением SQL-запросов. В книге подробно, с разбором множества конкретных примеров, описываются практические шаги по созданию MDA-приложений в Delphi. Читатель на практике убедится, как быстро и просто можно создавать сложные приложения, работающие практически с любой СУБД, при этом зачастую вообще не используя SQL и в ряде случаев даже не прибегая к написанию программного кода. Книга в первую очередь адресована читателям, знакомым с традиционными подходами создания приложений баз данных в Delphi, однако она может быть полезна и всем тем, кто желает познакомиться с принципиально новой технологией создания приложений в XXI веке ? MDA. Об авторе: Константин Грибачев Окончил Московский физико-технический институт в 1981 г., в течении ряда лет работал в области систем управления космическими аппаратами. Программист с 20-летним стажем, начинал с разработки ПО для бортовых ЭВМ. Прошел путь от работы в кодах, ассемблера, ФОРТРАНА, до разработок многозвенных информационных систем и MDA-технологии. Последние годы работает ведущим инженером-программистом, отвечая за создание и внедрение информационных технологий в подразделении фирмы. Автор 12 патентов на изобретения. В 2003-2004 гг. опубликованы 8 статей в журнале "Компьютер Пресс" по тематике Bold for Delphi и 2 статьи по базам данных. Живет и работает в Подмосковье. Сайт автора: http://mda-bor.land.ru/
Содержание Предисловие От автора Как появилась эта книга Благодарности Введение Для кого написана книга Преодоление трудностей Обзор содержания От издательства Часть I. Обзор MDA-архитектуры Глава 1. MDA-архитектура и язык UML История Структура и состав Предпосылки появления MDA Модель приложения. Типы моделей Этапы разработки MDA-приложений Недостатки традиционного подхода Преимущества MDA Состояние и перспективы MDA Концепции реализации Возможные последствия внедрения MDA Унифицированный язык моделирования UML Общие сведения Бизнес-правила Диаграмма классов Классы Отношения Классы-ассоциации Пакеты UML-модель и схема БД UML-редакторы Основы работы в Rational Rose Другие UML-редакторы Резюме Глава 2. Обзор Borland MDA Что такое Borland MDA (BMDA) История развития Borland Enterprise Studio Borland Delphi 7 Studio Architect C#Builder Architect Возможности и специфика Преимущества для разработчиков Последовательность изучения Возможные трудности Bold for Delphi - основа Borland MDA Инсталляция и обзор инструментов Резюме Глава 3. Быстрый старт Создание простого MDA-приложения Создание бизнес-уровня Создание модели приложения Создание графического интерфейса Создание уровня данных Работа с Приложением Модификация модели приложения Обсуждение результатов Создание стандартных приложений Резюме Глава 4. Модель приложения Роль модели в Borland MDA Тег-параметры (tagged values) Rational Rose как средство разработки моделей для Borland MDA Настройка Rational Rose Создание модели в Rational Rose и ее импорт в Borland MDA Настройка тег-параметров модели в Rational Rose Настройка тег-параметров модели во встроенном UML-редакторе Экспорт модели из встроенного редактора в Rational Rose Другие способы импорта-экспорта моделей Инструменты встроенного редактора моделей Средства настройки свойств модели Средства настройки атрибутов класса Настройка ролей ассоциаций Резюме Глава 5. OCL - язык объектных ограничений Общие сведения Роль OCL в Borland MDA Модель для изучения Доступ к классам и атрибутам из OCL Базовые элементы и понятия Типы данных Операции сравнения в OCL Типы возвращаемых выражений Арифметические операторы Коллекции Навигация по модели Операции над коллекциями Навигация по коллекции Выборка (фильтрация) и исключение Операции с несколькими множествами Сортировка элементов коллекции Логические операции над коллекциями Операция Collect Вычисления над коллекциями Работа с типами в OCL Обработка типов для элементов Обработка типов для коллекций Операции логического выбора Прочие операции Операции над строками Операции с датами и временем Форматы дат и времени Использование OCL Задание выражений для вычисляемых атрибутов Вычисляемые ассоциации Формирование ограничений (Constraints) Особенности диалекта OCL в среде Bold for Delphi Расширяемость диалекта OCL в Bold Резюме Часть II. Создание MDA-приложений Глава 6. Объектное пространство Понятие Object Space Состав и структура ОП Класс TBoldElement Свойства TBoldElement Методы TBoldElement Класс TBoldSystem Свойства TBoldSystem Методы TBoldSystem Работа с объектным пространством Программное управление атрибутами объектами ОП Программное управление объектами ОП Резюме Глава 7. Дескрипторы (Handles) Роль дескрипторов Классификация дескрипторов BoldSystemHandle BoldSystemTypeInfoHandle BoldExpressionHandle BoldDerivedHandle BoldVariableHandle и BoldOCLVariables BoldListHandle BoldCursorHandle BoldReferenceHandle BoldUnloaderHandle Резюме Глава 8. Использование OCL Роль Object Constraint Language в Borland MDA Условная модель Создание приложения Встроенный OCL-редактор Формирование цепочек дескрипторов Связь OCL и графического интерфейса OCL и вычисляемые данные Использование OCL в программе Программная работа с классом TBoldElement и его наследниками с использованием OCL?вычислений OCL-репозиторий Резюме Глава 9. Графический интерфейс Особенности визуальных MDA-компонентов BoldLabel BoldEdit BoldGrid BoldSortingGrid BoldComboBox BoldListBox BoldCheckBox BoldPageControl BoldTreeView BoldImage Рендереры Автоформы Общие сведения. Структура автоформы Ограничения Генерация автоформ Управление отображением атрибутов Дополнительные инструменты BoldCaptionController Резюме Глава 10. Работа с уровнем данных Функции уровня данных Структура и состав компонентов Работа с СУБД Подключение уровня данных Генерация схемы базы данных Состав системных таблиц Структура генерируемых таблиц Использование адаптеров СУБД Создание собственных адаптеров СУБД Требования к СУБД Состав программных модулей адаптера СУБД Преимущества использования адаптеров Использование BoldActions для работы с БД Язык SQL в MDA-приложениях Идеология применения SQL Использование дескриптора BoldSQLHandle Механизм OCL2SQL Оптимизация работы в клиент-серверной архитектуре Bold и "тонкие базы данных" Работа с несколькими СУБД Использование XML-документов Сохранение данных в XML-файлах Практический пример использования XML Резюме Глава 11. Использование сторонних визуальных компонентов Средства управления внешними компонентами BoldDataSet - шлюз для использования DB?компонентов Использование механизма подписки и программного кода Резюме Глава 12. Генерация кода Процедура генерации Структура и состав генерируемых модулей Практическое использование кода модели Работа с классами и атрибутами Работа с ассоциациями Операции Резюме Глава 13. Механизм "подписки" Описание и реализация События и подписка Основные классы и реализация Программное использование подписки Использование BoldPlaceableSubscriber Программирование вычисляемых атрибутов Обратно-вычисляемые атрибуты Резюме Глава 14. Обзор дополнительных возможностей Регионы Жизненный цикл связанных объектов Трехзвенная архитектура Удаленное подключение к БД посредством SOAP Синхронизация объектных пространств Сервер управления блокировками Object Lending Library (OLLE) Эволюция модели и БД Многоязыковая поддержка Средства отладки Резюме Глава 15. Продукты сторонних производителей BoldExpress Studio BoldGridPro OCL Extensions Bold TCP OSS Bold SOAP Server (BSS) BoldRave deBold pHGantTimePackage и phGrid_BA Резюме Заключение Приложение А. Скрипт для транслитерации имен UML-модели Особенности Создание и установка: Использование Исходный текст скрипта Приложение Б. ECO - развитие Borland MDA для платформы Microsoft .NET О продукте C#Builder Architect Основные возможности ECO Создание простого ECO-приложения Генерация шаблона Разработка UML-модели Формирование бизнес-уровня Создание графического интерфейса Автоформы Создание уровня данных Специфика ECO и отличия от Bold Графический интерфейс Бизнес-уровень и UML-моделирование Уровень данных Резюме Приложение В. Библиотека для работы с Object Space Назначение Причины и цели создания Описание Основные процедуры и функции Вспомогательные процедуры и функции Примеры использования Добавление и изменение объектов ОП Поиск и связывание объектов Предупреждения Приложение Г. Часто задаваемые вопросы Общие вопросы СУБД Компоненты и OCL Приложение Д. Интернет-источники Список литературы АЛФАВИТНЫЙ УКАЗАТЕЛЬ
Книга представляет собой самоучитель начального уровня и посвящена набору инструментальных средств программирования Delphi 8. Если вы уже знакомы с Delphi, то помимо нового материала, в этой книге вы найдете много привычных понятий и компонентов, а если еще не знакомы, то, прочитав книгу, получите начальные знания и сможете программировать в этой среде. Delphi 8 рассчитана на работу с платформой .NET, тем не менее, в ней можно использовать как привычные для среды программирования Delphi библиотеки VCL, так и библиотеки .NET.
Рассмотрена разработка приложений в Delphi 7 - наиболее популярной версии системы визуального программирования. Описаны основы языка программирования Delphi, а также компоненты, свойства, методы и события, используемые при разработке программ для работы с графикой, мультимедиа, файлами, каталогами и др. Показано применение различных технологий и приемов разработки