Под клиент-серверным
приложением мы будем понимать информационную систему, основанную на использовании
серверов баз данных. Общее
представление информационной системы в архитектуре "клиент-сервер".
Общее представление информационной системы в архитектуре
"клиент-сервер"
На стороне клиента
выполняется код приложения, в который обязательно
входят компоненты, поддерживающие интерфейс с конечным пользователем,
производящие отчеты, выполняющие другие специфичные для приложения функции.
Клиентская часть приложения
взаимодействует с клиентской частью программного обеспечения управления базами
данных, которая, фактически, является
индивидуальным представителем СУБД для приложения.
Как видно, в клиент-серверной организации
клиенты могут являться достаточно
"тонкими", а сервер должен быть "толстым" настолько, чтобы
быть в состоянии удовлетворить потребности всех клиентов.
С другой стороны,
разработчики и пользователи информационных систем, основанных на архитектуре
"клиент-сервер", часто бывают неудовлетворены постоянно существующими сетевыми
накладными расходами,
которые следуют из потребности обращаться от клиента к серверу с каждым
очередным запросом. На практике распространена ситуация, когда для эффективной работы отдельной клиентской составляющей
информационной системы в действительности
требуется только небольшая часть общей базы данных. Это приводит к идее
поддержки локального кэша общей базы данных на стороне каждого клиента.
Архитектура "клиент-сервер" на
первый взгляд кажется гораздо более дорогой,
чем архитектура "файл-сервер". Требуется более мощная аппаратура (по крайней мере, для сервера) и существенно
более развитые средства управления базами данных. Однако, это верно лишь частично. Громадным преимуществом
клиент-серверной архитектуры
является ее масштабируемость и вообще способность к развитию.
Увеличение масштабов информационной
системы не порождает принципиальных проблем. Обычным решением является замена
аппаратуры сервера (и, может быть,
аппаратуры рабочих станций, если требуется переход к локальному кэшированию баз данных). В любом случае
практически не затрагивается
прикладная часть информационной системы. В идеале, информационная система продолжает нормально функционировать
после смены аппаратуры.