Помощь в написании студенческих работ
Антистрессовый сервис

Клиент-серверные системы. 
Информатика

РефератПомощь в написанииУзнать стоимостьмоей работы

Современные компьютерные системы, как правило, основаны на сети, объединяющей большое число разнотипных компьютеров. Для обеспечения конечным пользователям совместного доступа к различным источникам данных на любых платформах вне зависимости от местонахождения, снижения трафика сети, обеспечения эффективности обработки данных предназначены системы клиент-серверной архитектуры. В этих системах… Читать ещё >

Клиент-серверные системы. Информатика (реферат, курсовая, диплом, контрольная)

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

Процессы клиента и сервера находятся на разных компьютерах, подключенных к сети, хотя могут находиться и на одном и том же компьютере. Находясь в сети, сервер может предоставлять сервисы более чем одному клиенту, а клиент может запрашивать сервисы от нескольких серверов сети независимо от их расположения или физических характеристик компьютера, на котором находится процесс сервера. Сеть предоставляет клиентам и серверам средства связи.

Серверы могут предоставлять сервисы по управлению файлами и принтерами, сервисы электронной почты, по доступу к Интернет, могут использоваться в качестве веб-серверов или серверов БД.

Работа сервера БД обеспечивается СУБД. При этом клиент посылает запрос к БД на сервер. В реляционных БД запрос записывается на языке SQL. Обработка запросов выполняется на сервере БД. Сервер выбирает записи, соответствующие заданным критериям, и отсылает их по сети клиенту. Обработка запроса может быть распределена по компьютерам-серверам нескольких типов от ПК до мейнфреймов. Общедоступной рабочей станцией для конечных пользователей сети, запускающих клиентский процесс и формирующих запросы к БД, является, как правило, ПК.

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

Клиент-серверные системы подразделяются на двухи трехуровневые. В первом случае клиент запрашивает сервисы непосредственно у сервера, во втором запросы обрабатываются промежуточными серверами, которые координируют выполнение клиентских запросов с подчиненными им серверами.

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

Правила управления потоками данных в сети (клиент-серверных системах) представлены в эталонной сетевой модели, разработанной в рамках программы OSI (Open Systems Interconnection — взаимодействие открытых систем — международной программы стандартизации обмена данными между компьютерными системами различных производителей). Эта модель опубликована в 1984 г. и основана на семи независимых друг от друга уровнях. Верхние уровни приложения и представления предоставляют сервисы локальному компьютеру для подготовки и форматирования отсылаемых данных; обеспечивают пользователя функциями, ориентированными на приложение. Сервисы уровней сеанса, транспортный, сетевой, канала передачи данных и физический гарантируют безопасность доставки данных от одного сетевого узла к другому. Уровень сеанса обеспечивает управление связью программа — программа. Все нижестоящие уровни относятся к сети.

Программное обеспечение передачи данных позволяет программисту использовать выражения SQL для получения доступа к различным серверам БД. При этом нет необходимости помнить о диалектах SQL, программное обеспечение трансформирует выражения стандартного SQL в подходящий для данной БД синтаксис, а также освобождает программиста от необходимости управлять сетевыми коммуникациями (нет зависимости от сетевых протоколов). На уровне сеанса устанавливается связь клиентского и серверного процессов. Если процесс сервера требует подтверждения полномочий пользователя, то на уровне сеанса создаются необходимые сообщения для регистрации и проверки пользователя (ввод идентификатора и пароля для доступа к серверу БД). После этого между клиентом и сервером могут передаваться другие сообщения. На уровне сеанса определяется, какие сообщения являются управляющими, какие несут в себе данные. На этом уровне происходит восстановление сеанса при его прерывании.

Программное обеспечение передачи данных БД подразделяется на программный интерфейс приложения API (Application Programming Interface), транслятор БД, сетевой транслятор.

API-программист взаимодействует с программным обеспечением передачи данных через API, поставляемое вместе с программным обеспечением передачи данных, которое позволяет писать стандартный код SQL. Таким образом, обеспечивается независимость клиентского процесса от сервера БД. Это означает, что сервер можно заменить, не переписывая клиентское приложение.

Транслятор БД транслирует SQL-запросы в специфический синтаксис сервера БД. Если запрос использует данные двух различных серверов БД, транслятор возьмет на себя заботу о связи с каждым сервером и об извлечении данных в формате, подходящем для клиентского приложения.

Сетевой транслятор управляет сетевыми коммуникационными протоколами, обеспечивая независимость от используемого сервером БД сетевого протокола (например, TCP/IP или IPX/SPX).

Доминирующим стандартом программного обеспечения передачи данных БД де-факто стал интерфейс ODBC, разработанный компанией «Microsoft». Для доступа к каждой БД используется специфический драйвер. Другими известными стандартами являются IDAPI фирмы «Borland», DRDA фирмы IBM.

В настоящее время «Microsoft» для БД продвигает стандарт OLE DB. Этот стандарт обеспечивает универсальную интеграцию данных на базе спецификации СОМ, составляющей основу для хранения и извлечения информации из БД. Он может использоваться для доступа к различным типам данных — звук, видео от нескольких источников.

Клиент-серверные СУБД, являясь центральной частью большинства клиент-серверных систем, должны обеспечивать:

¦ прозрачный доступ к данным для многих и разнородных клиентов независимо от аппаратной, программной и сетевой платформ клиентского приложения;

¦ доставку по сети клиентских запросов к серверу БД (с помощью SQL);

¦ обработку запросов клиента на локальном сервере;

¦ пересылку клиенту только результатов SQL-запроса.

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

Клиент-серверные СУБД отличаются по месту обработки и набору передаваемых клиенту данных. Данные могут храниться на одном или нескольких сайтах. В последнем случае они напоминают распределенные БД.

Однако распределенные БД должны обладать следующими свойствами:

¦ размещение данных прозрачно для пользователя. Данные размещены в самых разных местах, в различных БД, возможно, использующих различные модели, а пользователю не нужно знать, где размещены данные, как их получить или какой протокол использовать для этого;

¦ мощные приложения на стороне пользователя обеспечивают простой доступ к данным;

¦ обработка данных распределена между несколькими компьютерами. Например, запрос содержит обращение к трем БД, управляемым различными СУБД и размещенным на различных компьютерах. Сервер БД, получив SQL-запрос, сам определяет местонахождение данных, извлекает их из разных мест, соединяет и пересылает клиенту. В этом случае доступ к данным и их извлечение выполняется на трех разных компьютерах.

Основными компонентами приложения клиент-серверной архитектуры являются:

¦ «Ввод/вывод» — это логика представления (1) на устройстве вывода, например экране, и управление вводом, например через клавиатуру;

¦ «Обработка» —логика обработки ввода/вывода (2), т. е. управление проверкой ввода данных и выявлением ошибок; бизнес-логика (3), представляющая все бизнес-правила; логика управления данными (4), определяющая, какие данные необходимы для каждой бизнес-транзакции;

¦ «Хранение» — использует логику манипулирования даннььми (5) для фактического хранения и извлечения данных на физических устройствах.

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

Каждый из компонентов, кроме компонента логики представления, обычно размещаемого на стороне клиента, может быть размещен на стороне сервера, становясь таким образом сервисом для всех клиентов.

Типичное размещение может выглядеть следующим образом.

Логика представления всегда размещается на стороне клиента, поскольку определяет взаимодействие с конечным пользователем. Графический интерфейс пользователя обычно предоставляют сервисы для служб интерфейсного приложения.

Логика обработки ввода/вывода размещается или на стороне клиента, или на стороне сервера. При использовании трехуровневой клиент-серверной модели промежуточные серверы обычно содержат всю логику обработки ввода/вывода, делая ее доступной всем клиентам. Бизнес-логика также может размещаться или на стороне клиента, или на стороне сервера. Обычно она размещается на стороне клиента и может подразделяться на клиентские и серверные подкомпоненты. При использовании трехуровневой клиент-серверной модели промежуточные серверы обычно содержат все элементы бизнес-логики и доступны всем клиентам.

Логика управления данными может размещаться или на стороне клиента, или на стороне сервера аналогично логике обработки ввода/ вывода. Для сервера БД компонент логики управления данными разделяется между клиентским и серверным компьютерами.

Логика манипулирования данными, как правило, размещается на стороне сервера. Этот компонент может распределяться между несколькими серверами в среде распределенных БД. В архитектуре с файл-сервером только эта логика размещается на сервере, вся остальная — выполняется на стороне клиента. Файл-сервер только управляет хранением и размещением данных, а выбор фактических записей производится на стороне клиента.

Показать весь текст
Заполнить форму текущей работой