logo
Otvety_na_bilety_po_vase_1

Технология клиент-сервер

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

 Примеры клиент-серверных приложений:

1. Офисная программа Microsoft Outlook. Она может служить основой для создания клиентских приложений систем управления документами.

2. Сетевой ресурс Gopher. Вы используете клиента для доступа к серверам Gopher, расположенным в любом месте Internet. Сервер Gopher - это программное обеспечение (ПО), работающее на каких-либо компьютерах Internet и используемых для ссылки на информацию.

3. Офисная программа Excel 2000. Она использует клиент-серверный подход, обеспечивая быстрый доступ к большим серверным базам данных.

Клиент-серверный подход позволяет Excel 2000 более эффективно работать с находящимися на сервере большими базами данных, поскольку на клиент передаются только необходимые пользователю агрегаты данных, а не весь их набор.

4. SQL Server 2005.

  Базовая схема взаимодействия клиента и сервера в СУБД-ориентированных приложениях имеет вид:

  Кроме того, на сервере может выполняться часть содержательной обработки данных и поддержка логического соответствия данных (целостность). В этой технологии реализованы такие режимы:

 Транзакция - это последовательность запросов на изменение ( и чтение, конечно) данных, обладающая таким свойством, что либо вся эта последовательность выполняется, либо от нее не остается никаких следов.

Блокировка. Блокировка позволяет отметить некоторый элемент данных (запись, таблицу, базу данных) таким образом, чтобы, пока его не "отпустили", никакой другой пользователь не мог его модифицировать.

Преимущества клиент-серверной архитектуры перед файл-серверной

- уменьшение сетевого трафика за счет того, что выборка данных производится на сервере, и они не "прокачиваются" по сети;

- увеличение производительности за счет того, что сам сервер может эффективно кэшировать данные (в отличие от клиента, который никогда не может быть уверен в том, что его данные "первой свежести".

- перенос части функциональности на сервер с уменьшением трафика и увеличением производительности;

- масштабируемость - при возрастании нагрузки достаточно заменить лишь сервер, а не все станции и сетевые платы;

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