Автор работы: Пользователь скрыл имя, 14 Февраля 2011 в 20:56, реферат
Сервер (от англ. server, обслуживающий). В зависимости от предназначения существует несколько определений понятия сервер.
Серверы. Основные понятия серверов
Модель клиент-сервер
Классификация стандартных серверов
Вывод
Департамент общего и профессионального образования Брянской области
Государственное образовательное учреждение
Клинцовский
текстильный техникум
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ АВТОМАТИЗИРОВАННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ
РЕФЕРАТ НА ТЕМУ:
Технология
«Клиент – сервер»
Студент
гр. А-90______________________(
Преподаватель
_______________________ (Широкова
А.Л.)
Клинцы
– 2011
Содержание:
1.
Серверы. Основные понятия
серверов
Сервер (от англ. server, обслуживающий). В зависимости от предназначения существует несколько определений понятия сервер.
1. Сервер (сеть) — логический или физический узел сети, обслуживающий запросы к одному адресу и/или доменному имени (смежным доменным именам), состоящий из одного или системы аппаратных серверов, на котором выполняются один или система серверных программ
2.
Сервер (программное обеспечение)
— программное обеспечение,
3.
Сервер (аппаратное обеспечение)
— компьютер (или специальное
компьютерное оборудование) выделенный
и/или специализированный для
выполнения определенных
3. Сервер в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам.
Взаимосвязь понятий.
Серверное приложение (сервер) запускается
на компьютере, так же называемом "сервер",
при этом при рассмотрении топологии сети,
такой узел называют "сервером". В
общем случае может быть так, что серверное
приложение запущено на обычной рабочей
станции, или серверное приложение, запущенное
на серверном компьютере в рамках рассматриваемой
топологии выступает в роли клиента (т.е.
не является сервером с точки зрения сетевой
топологии).
2.
Модель клиент-сервер
Клиент-серверная
система характеризуется
Процессы, реализующие некоторую службу, например службу файловой системы или базы данных, называются серверами (servers). Процессы, запрашивающие службы у серверов путем посылки запроса и последующего ожидания ответа от сервера, называются клиентами (clients) .
По такой
схеме могут быть построены системы
обработки данных на основе СУБД, почтовые
и другие системы. Мы будем говорить
о базах данных и системах на их
основе. И здесь удобнее будет
не просто рассматривать клиент-
В файл-серверной системе данные хранятся на файловом сервере (например, Novell NetWare или Windows NT Server), а их обработка осуществляется на рабочих станциях, на которых, как правило, функционирует одна из, так называемых, "настольных СУБД" - Access, FoxPro, Paradox и т.п..
Приложение на рабочей станции "отвечает за все" - за формирование пользовательского интерфейса, логическую обработку данных и за непосредственное манипулирование данными. Файловый сервер предоставляет услуги только самого низкого уровня - открытие, закрытие и модификацию файлов. Обратите внимание - файлов, а не базы данных. Система управления базами данных расположена на рабочей станции.
Таким образом, непосредственным манипулированием данными занимается несколько независимых и несогласованных между собой процессов. Кроме того, для осуществления любой обработки (поиск, модификация, суммирование и т.п.) все данные необходимо передать по сети с сервера на рабочую станцию (см. рис. Сравнение файл-серверной и клиент-серверной моделей)
Рис. Сравнение файл-серверной и клиент-серверной моделей
В клиент-серверной
системе функционируют (как минимум)
два приложения - клиент и сервер,
делящие между собой те функции,
которые в файл-серверной
Формированием пользовательского интерфейса занимается клиент, для построения которого можно использовать целый ряд специальных инструментов, а также большинство настольных СУБД. Логика обработки данных может выполняться как на клиенте, так и на сервере. Клиент посылает на сервер запросы, сформулированные, как правило, на языке SQL. Сервер обрабатывает эти запросы и передает клиенту результат (разумеется, клиентов может быть много).
Таким образом, непосредственным манипулированием данными занимается один процесс. При этом, обработка данных происходит там же, где данные хранятся - на сервере, что исключает необходимость передачи больших объемов данных по сети.
Что дает архитектура клиент-сервер?
Посмотрим на данную архитектуру с точки зрения потребностей бизнеса. Какие же качества привносит клиент-сервер в информационную систему?
Надежность
Сервер
баз данных осуществляет модификацию
данных на основе механизма транзакций,
который придает любой
Механизм транзакций, поддерживаемый сервером баз данных, намного более эффективен, чем аналогичный механизм в настольных СУБД, т.к. сервер централизованно контролирует работу транзакций. Кроме того, в файл-серверной системе сбой на любой из рабочих станций может привести к потере данных и их недоступности для других рабочих станций, в то время, как в клиент-серверной системе сбой на клиенте, практически, никогда не сказывается на целостности данных и их доступности для других клиентов.
Масштабируемость
Масштабируемость - способность системы адаптироваться к росту количества пользователей и объема базы данных при адекватном повышении производительности аппаратной платформы, без замены программного обеспечения.
Общеизвестно, что возможности настольных СУБД серьезно ограничены - это пять-семь пользователей и 30-50 Мб, соответственно. Цифры, разумеется, представляют собой некие средние значения, в конкретных случаях они могут отклоняться как в ту, так и в другую сторону. Что наиболее существенно, эти барьеры нельзя преодолеть за счет наращивания возможностей аппаратуры.
Системы же на основе серверов баз данных могут поддерживать тысячи пользователей и сотни ГБ информации - дайте им только соответствующую аппаратную платформу.
Безопасность
Сервер баз данных предоставляет мощные средства защиты данных от несанкционированного доступа, невозможные в настольных СУБД. При этом, права доступа администрируются очень гибко - до уровня полей таблиц. Кроме того, можно вообще запретить прямое обращение к таблицам, осуществляя взаимодействие пользователя с данными через промежуточные объекты - представления и хранимые процедуры. Так что администратор может быть уверен - никакой слишком умный пользователь не прочитает то, что ему читать неположено.
Гибкость
В приложении, работающем с данными, можно выделить три логических слоя:
Как уже говорилось, в файл-серверной архитектуре все три слоя реализуются в одном монолитном приложении, функционирующем на рабочей станции. Поэтому изменения в любом из слоев приводят однозначно к модификации приложения и последующему обновлению его версий на рабочих станциях.
В двухуровневом
клиент-серверном приложении, показанном
на рисунке выше, как правило, все
функции по формированию пользовательского
интерфейса реализуются на клиенте,
все функции по управлению данными
- на сервере, а вот бизнес-правила
можно реализовать как на сервере
используя механизмы
В трехуровневом приложении появляется третий, промежуточный уровень, реализующий бизнес-правила, которые являются наиболее часто изменяемыми компонентами приложения (см. рис. Трехуровневая модель клиент-серверного приложения)
Рис. Трехуровневая модель клиент-серверного приложения
Наличие
не одного, а нескольких уровней
позволяет гибко и с
Попробуем
все вышеизложенное проиллюстрировать
на маленьком примере. Предположим,
в некоей организации изменились
правила расчета заработной платы
(бизнес-правила) и требуется обновить
соответствующее программное
1) В файл-серверной системе мы "просто" вносим изменения в приложение и обновляем его версии на рабочих станциях. Но это "просто" влечет за собой максимальные трудозатраты.
2) В
двухуровневой клиент-
3.
Классификация стандартных
серверов
Как
правило, каждый сервер обслуживает
один (или несколько схожих) протоколов
и серверы можно
Универсальные серверы — особый вид серверной программы, не предоставляющий никаких услуг самостоятельно. Вместо этого универсальные серверы предоставляют серверам услуг упрощенный интерфейс к ресурсам межпроцессного взаимодействия и/или унифицированный доступ клиентов к различным услугам. Существуют несколько видов таких серверов: