От автора
Прошло около полутора лет с момента выхода первой версии Borland C++Builder (и около года с момента выхода книги "Введение в Borland C++Builder"). За прошедшее время у этого продукта появилось немало сторонников. Сочетание универсального языка программирования, являющегося, по существу, индустриальным стандартом, комфортной среды разработки, зарекомендовавшей себя еще до появления самого C++Builder, возможности быстрой разработки приложений с минимальным использованием ручного кодирования, удобного и универсального механизма доступа к данным сделали этот продукт весьма привлекательным для разработчиков и менеджеров информационных систем. С помощью этого средства разработки было создано немало приложений самого разнообразного назначения - от простейших игр до сложных корпоративных информационных
систем.
С выходом новой версии продукта C++Builder 3.0 у разработчиков появилось много новых возможностей, в числе которых - создание Web-приложений для публикации данных в Internet, создание СОМ-серверов, элементов управления ActiveX, возможность разделения кода между приложениями за счет использования "пакетов" компонентов. Значительно упрощено создание систем поддержки принятия решений, использующих многомерный анализ данных, за счет новых компонентов Decision Support System, входящих в комплект поставки новой версии
C++Builder.
Говоря о C++Builder как об инструменте создания корпоративных информационных систем, в том числе систем масштаба предприятия, следует остановиться на такой замечательной возможности, как создание распределенных многозвенных информационных систем, включающих сервер баз данных, сервер приложений и "тонкие" клиентские приложения, с помощью MIDAS Development Kit, входящего в комплект поставки C++Builder Client/Server Suite и представляющего собой набор компонентов и брокеров middleware, позволяющих создавать и отлаживать серверы приложений и использующие их клиентские приложения.
Данная книга посвящена разработке приложений в архитектуре "клиент/сервер" с помощью C++Builder. В число рассматриваемых вопросов включены как общепринятые в подобных изданиях вопросы проектирования данных, создания и оптимизации клиентских приложений, так и вопросы, посвященные переносу имеющихся информационных систем в архитектуру "клиент/сервер", публикации данных в Internet, созданию многозвенных информационных систем. Последней теме, к сожалению, пока не уделяется должного внимания в отечественных публикациях, посвященных возможностям продуктов Borland, и, может быть, данная работа в какой-то степени сможет восполнить этот пробел.
Автор выражает признательность сотрудникам московского офиса Inprise Corporation (Borland) К. Н. Ранневу, С. В. Орлику, А. А. Сергееву за всестороннюю помощь и моральную поддержку при написании данной книги, своим коллегам из Центра информационных технологий за предоставленную мне возможность завершить ее, издательству "ДИАЛОГ-МИФИ" за возможность ее публикации, а также всем разработчикам, использующим C++Builder, за их правильный выбор.
С уважением
Наталия Елманова,
Центр информационных технологий,
e-mail: elmanova@citmgii.ru,
http://www.citmgu.nl, www.citforum.ru
1   ПОНЯТИЕ ОБ АРХИТЕКТУРЕ "КЛИЕНТ/СЕРВЕР"
Современные средства разработки информационных систем, к числу которых относится C++Builder, ориентированы на широкую поддержку различных СУБД (систем управления базами данных), как настольных, так и серверных. Построение эффективных и надежных с точки зрения сохранности и защиты данных многопользовательских информационных систем, как правило, производится с применением последних. Создание приложений в архитектуре "клиент/сервер" с помощью C++Builder обладает рядом особенностей, отличающих их от приложений, использующих настольные СУБД.
1.1     Немного истории
1.1.1   Модель "хост-компьютер + терминалы" и многопользовательские СУБД
Давайте отвлечемся от современных технических средств и программных продуктов, используемых при построении информационных систем, и вспомним, что происходило два десятилетия назад. В те времена при построении информационных систем самой популярной была модель "хост-компьютер + терминалы", реализованная на базе мэйнфреймов (например, IBM-360/370 или их отечественных аналогов - компьютеров серии ЕС ЭВМ) либо на базе так называемых мини-ЭВМ (например, PDP-11, также имевших отечественный аналог - СМ-4). Характерной особенностью такой системы была полная "неинтеллектуальность" терминалов, используемых в качестве рабочих мест - их работой управлял все тот же хост-компьютер (рис. 1.1).
Этот подход, весьма прогрессивный по тем временам, обладал некоторыми несомненными достоинствами. Во-первых, пользователи такой системы могли совместно применять различные ресурсы хост-компьютера (оперативную память, процессор) и довольно дорогие для тех времен периферийные устройства (принтеры, графопостроители, устройства ввода с магнитных лент и гибких дисков, перфосчитыватели, дисковые накопители и иное оборудование, кажущееся по теперешним временам довольно экзотическим). Разумеется, употребляемые при этом операционные системы поддерживали многопользовательский многозадачный режим. Во-вторых, централизация ресурсов и оборудования облегчала и удешевляла эксплуатацию такой системы.
ЛИАТОШШ