Н. 3. Елманова. C++ Builder 3.0: архитектура "клиент/сервер"
•     сети и коммуникационного программного обеспечения, осуществляющего взаимодействие между клиентом и сервером посредством сетевых протоколов.
Есть и более сложные реализации архитектуры "клиент/сервер", например трехуровневые информационные системы с использованием серверов приложений, а также информационные системы, использующие Web-сервер, под управлением которого выполняются приложения, доставляющие данные в Web-браузер пользователя.
1.3     Многозвенные информационные системы и Internet
Распределенные информационные системы представляют собой следующий этап развития архитектуры информационных систем. Потребность в них появляется при дальнейшем укрупнении информационных систем, связанном с увеличением количества пользователей, появлением удаленных филиалов, необходимостью в централизованном хранении и обработке данных. В случае большого числа пользователей возникают проблемы своевременной и синхронной замены версий клиентских приложений на рабочих станциях (особенно в случае территориальной разбросанности предприятия), проблемы поддержания настроек, а также перегрузки сети и сервера баз данных.
Эти проблемы решаются путем создания многозвенных информационных систем с "тонким" клиентом (рис. 1.6).
В этом случае проблема поддержки настроек решается за счет переноса их на промежуточное звено (такое программное обеспечение носит название middleware), называемое сервером приложений. На него же можно возложить и другие функции, например проведение расчетов, обработку данных, генерацию отчетов. Соответственно эти же функции изымаются из клиентского приложения, поэтому снижаются требования как к ресурсам рабочей станции, так и к частоте обновления самого клиентского приложения. При разумном распределении функций между сервером приложений и клиентом последний обычно содержит лишь функциональность, связанную с предоставлением пользователю интерфейса для просмотра и редактирования. По этой причине он обычно называется "тонким" клиентом (в отличие от классического "толстого" клиента, характерного для традиционной архитектуры "клиент/сервер").
Что касается своевременного обновления версий "тонкого" клиента, эта проблема нередко решается путем поставки приложений с помощью технологий, применяемых в Internet (использование Web-серверов, Web-браузеров, Internet-протоколов). Если речь идет о сети масштаба предприятия, в которой используются для корпоративных целей подобные технологии, то обычно употребляется термин intranet.
Понятие об архитектуре "клиент/сервер"
Рис. 1.6. Этап 5: обработка данных в многозвенной архитектуре
Наиболее распространенными на сегодняшний день способами поставки "тонких" клиентов с помощью таких технологий являются копирование или установка приложений с Web-сервера, и как один из вариантов - копирование компонента ActiveX, полностью реализующего функциональность "тонкого" клиента, с целью отображения его в браузере.
С помощью C++Builder Т возможно создание как "тонких" клиентов в виде обычных 32-разрядных Windows-приложений, так и "тонких" клиентов в_^зиде отображаемых в браузере ActiveX. Помимо этого с помощью C++BuiIder 3 возможно также создание серверов приложений, выполняемых под управлением Borland MIDAS (Multi-tier Distributed Application Service Suite). MIDAS представляет собой набор утилит и брокеров middleware, обеспечивающих функционирование серверов приложений, в том числе доступ к данным серверных СУБД. Все эти возможности будут подробно рассмотрены в гл. 8.
Говоря об использовании Internet/intranet, нельзя не остановиться на возможностях создания приложений для Web-серверов. Такие приложения, с одной стороны, могут являться клиентами серверных СУБД, а с другой стороны, о§ь1днолгенерируют динамические HTML-страницы (в том числе с данными из этих СУБД) по запросу клиентского приложения, роль которого в данном случае выполняет Web-браузер (называемый в этом случае "ультратонким" клиентом, рис. 1.7).
Отметим, что в последнее время такие приложения получают все большее распространение. Создание таких приложений с помощью C++Builder будет рассмотрено в гл. 9.
12
13