![](/stc/img/evkova.png)
Технология «клиент сервер»
Содержание:
Введение
Как результат эволюции компьютерных технологий появились компьютерные сети. Само появление компьютерных сетей ознаменовало новый этап в компьютерной технологии. Самые первые компьютерные сети были довольно примитивными – скорость работы такой сети была очень маленькой по сравнению с современными сетевыми технологиями, но для того времени и это было достижение.
Часто программисты, приступающие к проектированию и реализации информационных систем, наталкиваются на ряд проблем и сложностей, происходящих не из их неопытности или недостаточных знаний, но имеющих своей причиной особенности и ограничения, внутренне присущие программным продуктам, имеющих архитектуру "клиент-сервер".
С совершенствованием аппаратной части сетей совершенствовалось и сетевое программное обеспечение. Со временем потребовалось совершенствование самих технологий, а не только развитие аппаратуры и программного обеспечения. Были разработаны современные сетевые технологии. Одной из таких технологий является технология «клиент-сервер», позволяющая пользователям сети получать быстрый доступ к ресурсам. Об этой сетевой технологии мы и хотели подробно рассказать.
Технология клиент-сервер по праву считается одним из "китов", на которых держится современный мир компьютерных сетей. Но те задачи, для решения которых она была разработана, постепенно уходят в прошлое, и на сцену выходят новые задачи и технологии, требующие переосмысления принципов клиент-серверных систем. Одна из таких технологий - WorldWideWeb.
Использование технологии гипертекстовых документов для построения внутренней информационной инфраструктуры компании стимулировало бурное развитие всевозможных систем типа клиент-сервер.
Цель исследования – проанализировать технологию «клиент сервер».
Задачи исследования:
1 Общая характеристика технологии.
2. Анализ моделей технологии «Клиент – сервер».
3. Модель клиент-сервер как основа построения информационных сервисов Интернет.
Объект исследования – технология «клиент сервер».
Предмет исследования – модели клиент-сервер и особенности построения информационных сервисов Интернет.
Глава 1 Общая характеристика технологии
1.1 Понятие технологии «клиент-сервер»
Технология «клиент-сервер» предусматривает наличие двух самостоятельных взаимодействующих процессов – сервера и клиента, связь между которыми осуществляется по сети.
Серверами называются процессы, отвечающие за поддержку базы данных и файловой системы, а клиентами - процессы, которые посылают запрос и ожидают ответ от сервера.
Понятия сервер и клиент и закрепленные за ними роли образуют программную концепцию «клиент-сервер». Модель клиент-сервер - это еще один подход к структурированию Операционной системы(ОС). В широком смысле модель клиент-сервер предполагает наличие программного компонента - потребителя какого-либо сервиса - клиента, и программного компонента - поставщика этого сервиса - сервера. Взаимодействие между клиентом и сервером стандартизуется, так что сервер может обслуживать клиентов, реализованных различными способами и, может быть, разными производителями[4, c. 78].
При этом главным требованием является то, чтобы они запрашивали услуги сервера понятным ему способом. Инициатором обмена обычно является клиент, который посылает запрос на обслуживание серверу, находящемуся в состоянии ожидания запроса. Один и тот же программный компонент может быть клиентом по отношению к одному виду услуг, и сервером для другого вида услуг. Модель клиент-сервер является скорее удобным концептуальным средством ясного представления функций того или иного программного элемента в той или иной ситуации, нежели технологией.
Эта модель успешно применяется не только при построении ОС, но и на всех уровнях программного обеспечения, и имеет в некоторых случаях более узкий, специфический смысл, сохраняя, естественно, при этом все свои общие черты.
Применительно к структурированию ОС идея состоит в разбиении ее на несколько процессов - серверов, каждый из которых выполняет отдельный набор сервисных функций - например, управление памятью, создание или планирование процессов. Каждый сервер выполняется в пользовательском режиме.
Клиент, которым может быть либо другой компонент ОС, либо прикладная программа, запрашивает сервис, посылая сообщение на сервер. Ядро ОС (называемое здесь микроядром), работая в привилегированном режиме, доставляет сообщение нужному серверу, сервер выполняет операцию, после чего ядро возвращает результаты клиенту с помощью другого сообщения.
Для взаимодействия с клиентом (или клиентами, если поддерживается одновременная работа с несколькими клиентами) сервер выделяет необходимые ресурсы межпроцессного взаимодействия (разделяемая память, пайп, сокет, и т. п.) и ожидает запросы на открытие соединения (или, собственно, запросы на предоставляемый сервис).
В зависимости от типа такого ресурса, сервер может обслуживать процессы в пределах одной компьютерной системы или процессы на других машинах через каналы передачи данных (например, COM-порт) или сетевые соединения[12, c. 25].
Формат запросов клиента и ответов сервера определяется протоколом. Спецификации открытых протоколов описываются открытыми стандартами, например, протоколы Интернета определяются в документах RFC.
В зависимости от выполняемых задач одни серверы, при отсутствии запросов на обслуживание, могут простаивать в ожидании. Другие могут выполнять какую-то работу (например, работу по сбору информации), у таких серверов работа с клиентами может быть второстепенной задачей.
Данные в файл-серверной системе сохраняются на файловом сервере (NovellNetWare или WindowsNTServer), а обрабатываются они на рабочих станциях посредством функционирования "настольных СУБД", таких как Access, Paradox, FoxPro и т.п.
СУБД располагается на рабочей станции, а манипулирование данными производится несколькими независимыми и несогласованными между собой процессами. Все данные при этом передаются с сервера по сети на рабочую станцию, что замедляет скорость обработки информации.
Технология клиент-сервер реализована функционированием двух (как минимум) приложений - клиентов и сервера, которые делят функции между собой. За хранение и непосредственное манипулирование данных отвечает сервер, примером которого может быть SQLServer, Oracle, Sybase и другие.
Пользовательский интерфейс формирует клиент, в основе построения которого используются специальные инструменты или настольные СУБД. Логическая обработка данных выполняется частично на клиенте, и частично на сервере.
Посылка запросов на сервер выполняется клиентом, обычно на языке SQL. Полученные запросы обрабатываются сервером, и клиенту (клиентам) возвращается результат[5].
При этом данные обрабатываются там же, где они хранятся - на сервере, поэтому большой объем их не передается по сети.
Технология клиент-сервер привносит в информационную систему такие качества:
- Надежность
Модификация данных осуществляется сервером баз данных при помощи механизма транзакций, придающего совокупности операций такие свойства, как:
1) атомарность, которая обеспечивает целостность данных при любом завершении транзакции;
2) независимость транзакций разных пользователей;
3) устойчивость к сбоям – сохранение результатов завершения транзакции.
- Масштабируемость, т.е. способность системы не зависеть от количества пользователей и объемов информации без замены используемого программного обеспечения.
Технология клиент-сервер поддерживает тысячи пользователей и гигабайты информации при соответствующей аппаратной платформе.
- Безопасность, т.е. надежная защита информации от несанкционированного доступа.
- Гибкость. В приложениях, работающих с данными, выделяют логических слои: пользовательский интерфейс; правила логической обработки; управление данными.
Как уже было отмечено, в файл-серверной технологии все три слоя объединяются в одно монолитное приложение, функционирующее на рабочей станции, а все изменения в слоях обязательно приводят к модификации приложения, различаются версии клиента и сервера, и требуется проводить обновление версий на всех рабочих станциях.
Технология клиент-сервер в двухуровневом приложении предусматривает выполнение всех функций по формированию интерфейса пользователя на клиенте, а всех функций по управлению информацией баз данных - на сервере, бизнес-правила возможно реализовывать как на сервере, так и на клиенте[13, c. 78].
Трехуровневое приложение допускает промежуточный уровень, который реализует бизнес-правила, являющиеся наиболее изменяемыми компонентами.
1.2 Определение сервера и клиента
При большом числе компьютеров (десятки, сотни и даже тысячи) предприятия чаще всего полагаются на сети модели «клиент-сервер». Упрощенно можно считать, что в такой сети отдельный компьютер подключается к одному или нескольким мощным компьютерам, которые называются серверами.
Сервер – это компьютер, или выполняющаяся на нём программа, которая предоставляет клиентам доступ к общим ресурсам и управляет этими ресурсами.
Наличие сервера позволяет предприятию выполнять более масштабные задачи, нежели это возможно при использовании обычного компьютера.
Именно от качества сервера зависит успешность работы всей сети предприятия и возможность выполнения тех целей и задач, которые стоят перед ним.
Самая главная характеристика сервера – это его производительность, которая зависит от нескольких параметров:
во-первых, от типа и производительности процессоров;
во-вторых, от объема и типа оперативной памяти;
в-третьих, от производительности дисковой подсистемы.
Например, чем больше процессоров составляют начинку сервера и чем больше ядер в каждом из них, тем больше мощность всей сети. В принципе, выбирая конфигурацию сервера, нужно обязательно предусмотреть возможность расширения его через некоторое время, если возникнет потребность. Для этого нужно позаботиться о наличии процессоров, памяти и пр. устройств, совместимых с уже имеющимися.
Вторая важная характеристика сервера – его управляемость. Имеется ввиду, что должны быть обеспечены такие функции, как удаленные мониторинг и диагностика. Т.е. желательно, чтобы сервером можно было управлять на расстоянии: включать и перезагружать, диагностировать и исправлять неполадки даже в выключенном состоянии (при условии, что он подключен к электрической сети).
Первые две характеристики – производительность и управляемость– в значительной мере влияют на надежность сервера, что подразумевает не только физическую его надежность и качественную сборку, но и программную, которая состоит в стабильной работе всех программ.
Кроме перечисленного, следует обратить внимание на масштабируемость сервера, что позволяет значительно увеличить его мощность в плане производимых операционной системой вычислительных операций. Иными словами, масштабируемость означает, что система имеет способность увеличивать мощность в случае увеличения рабочей нагрузки без снижения таких показателей, как надежность и отказоустойчивость.
Клиент – пользователь (получатель) услуг и/или ресурсов, которые предоставляет сервер.
СЕРВЕР
Рис. 1.1. Модель клиент-сервер.
В серверных сетях серверы оснащены процессорами типа IntelPentium 4 и сетевой операционной системой.
Роль серверов состоит в обеспечение централизованной защиты и управлении трафиком, а так же в предоставление клиентам ресурсов: информации, приложений и доступа к устройствам совместного пользования (например, к принтерам). Вклиент – серверной среде в роли клиентов выступают настольные ПК (именно ПК, а не неинтеллектуальные терминалы!) под управлением операционной системы типа Windows 95 или Windows NT Workstation. Как правило, клиент использует собственные вычислительные мощности для обработки информации, полученной от сервера, но полагается на сервер в части предоставления необходимых данных и приложений. Такое распределение ролей в обработке информации носит название клиентской (front - end) и серверной (back - end) обработки.
Наряду с успешным функционированием в собственной «родной» среде, сети модели клиент – сервер могут работать с микрокомпьютерами и мэйнфреймами. Именно эта гибкость в сочетании достаточно низкой (по сравнению с традиционными решениями) стоимостью и составляет привлекательность клиент – серверных сетей. Работая в такой среде на компьютере – клиенте, можно «вкушать плоды» трех разных методов обработки информации: автономной работы, взаимодействия с другими ПК сети и подключения к серверу или мэйнфрейму для доступа к хранящейся там информации [6, c. 31].
Глава 2 Анализ моделей технологии «Клиент – сервер»
2.1 Модель файлового сервера
Самой первой базовой технологией для локальных сетей являлась модель файлового сервера (FS). В свое время данная технология была очень среди отечественных разработчиков, использовавших такие системы, как FoxPro, Clipper, Clarion, Paradox и так далее.
Модель файлового сервера является наиболее простой и характеризует собственно не столько способ образования фактографической информационной системы, сколько общий способ взаимодействия компьютеров в локальной сети. Один из компьютеров сети выделяется и определяется файловым сервером, т. е. общим хранилищем любых данных.
В модели FS функции всех трех компонентов (компонент представления, прикладной компонент и компонент доступа к ресурсам) совмещены в одном коде, который выполняется на компьютере-сервере (хосте). Компьютер-клиент в данной архитектуре вообще отсутствует, а ввод и отображение данных производятся через терминал или компьютер в режиме эмуляции терминала. Приложения обычно разрабатываются на языке четвертого поколения (4GL).
Один из компьютеров в сети считается файловым сервером и предоставляет другим компьютерам услуги по обработке файлов. Он работает под управлением сетевых ОС и играет роль компонента доступа к информационным ресурсам. На других ПК в сети функционирует приложение, в кодах которого совмещены компонент представления и прикладной компонент. Технология взаимодействия клиента и сервера следующая: запрос направляется на файловый сервер, который передает СУБД, размещенной на компьютере-клиенте, требуемый блок данных. Вся обработка осуществляется на терминале (рисунок 1).
Протокол обмена представляет собой набор вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере.
Рисунок 1 - Модель файлового сервера
Преимуществами данной технологии являются:
- простота разработки приложений;
- удобство администрирования и обновления ПО из-за компактного расположения всех компонентов на одном компьютере;
- низкая стоимость оборудования рабочих мест (терминалы или дешевые компьютеры с невысокими характеристиками в режиме эмуляции терминала всегда дешевле полноценных ПК).
Но достоинства FS – модели перекрывают ее недостатки[14]:
- большая загрузка сети;
Несмотря на небольшой объем данных, пересылаемых по сети, время отклика является критичным, так как каждый символ, введенный пользователем на терминале, должен быть передан на сервер, обработан приложением и возвращен обратно для вывода на экран терминала. Помимо этого существует проблема распределения нагрузки между несколькими компьютерами.
- дорогостоящее аппаратное обеспечение сервера, так как все пользователи разделяют его ресурсы;
- отсутствие графического интерфейса.
Благодаря решению проблем, присущих технологии «Файл – сервер» появилась более прогрессивная технология, получившая название «Клиент – сервер».
Для современных СУБД архитектура «клиент-сервер» стала фактически стандартом. Если предполагается, что проектируемая сетевая технология будет иметь архитектуру «клиент-сервер», то это означает, что прикладные программы, реализованные в ее рамках, будут иметь распределенный характер, то есть часть функций приложений будет реализована в программе-клиенте, другая - в программе-сервере.
Различия в реализации приложений в рамках технологии «Клиент-сервер» определяются четырьмя факторами:
- какие виды программного обеспечения в логических компонентах;
- какие механизмы программного обеспечения используются для реализации функций логических компонентов;
- как логические компоненты распределяются компьютерами в сети;
- какие механизмы используются для связи компонент между собой.
Исходя из этого, выделяются три подхода, каждый из которых реализован в соответствующей модели технологии «Клиент – сервер»:
- модель доступа к удаленным данным (RemoteDateAccess - RDA);
- модель сервера базы данных (DateBaseServer - DBS);
- модель сервера приложений (ApplicationServer - AS).
2.2 Модель доступа к удаленным данным
Модель доступа к удаленным данным (RDA) – сетевая архитектура технологии «Клиент – сервер», при которой коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается при помощи непроцедурного языка (например, SQL – запросов для баз данных) или вызовами функций специальной библиотеки (если имеется специальный интерфейс прикладного программирования - API)[7, c. 28].
Запросы к информационным ресурсам направляются по сети удаленному компьютеру, который обрабатывает и выполняет их, возвращая клиенту блоки данных (рисунок 2).
Рисунок 2 - Модель доступа к удаленным данным
Основным преимуществом RDA-модели является широкий выбор инструментальных средств разработки приложений, обеспечивающих быстрое создание desktop-приложений, работающих с SQL-ориентированными СУБД. Обычно инструментальные средства поддерживают графический интерфейс пользователя с ОС, а также средства автоматической генерации кода, в которых смешаны прикладные функции и функции представления. При этом RDA-модель имеет ряд ограничений.
Во-первых, взаимодействие клиента и сервера посредством SQL-запросов существенно загружает сеть. Приложение является нераспределенным, и вся его логика локализована на компьютере-клиенте, поэтому взаимодействие его с сервером посредством SQL-запросов приводит к передаче по сети данных большого объема, возможно, избыточных. Как только число клиентов возрастает, сеть становится узким местом, ограничивая быстродействие всей информационной системы.
Во-вторых, удовлетворительное администрирование приложений в RDA-модели практически невозможно. Если различные по своей природе функции (функции представления и чисто прикладные функции) смешаны в одной и той же программе, написанной на языке четвертого поколения (4GL), то при необходимости изменения прикладных функций приходится переписывать всю программу целиком[15, c. 59].
В – третьих, при коллективной работе над проектом, обычно каждому разработчику поручается реализация отдельных прикладных функций, что делает невозможным контроль за их взаимной непротиворечивостью. Каждому из разработчиков приходится программировать интерфейс с пользователем, что ставит под вопрос единый стиль интерфейса и его целостность. Сложность обновления программного обеспечения возникает еще и потому, что замену ПО необходимо производить одновременно на всех компьютерах-клиентах.
В – четвертых, из-за невозможности реализации разграничения доступа по функциям только на стороне сервера, а только на стороне клиента, возникает низкий уровень безопасности. При этом разграничение выполняется только по таблицам базы данных, что снижает защищенность.
Несмотря на широкое распространение, RDA-модель уступает место более технологичной DBS-модели.
К недостаткам RDA-модели можно отнести высокие требования к клиентским вычислительным установкам, так как прикладные программы обработки данных, определяемые спецификой предметной области АИС, выполняются на них. Другим недостатком является все же существенный трафик сети, обусловленный тем, что с сервера базы данных клиентам направляются наборы (таблицы) данных, которые в определенных случаях могут занимать достаточно существенный объем.
Сервер в этой модели играет пассивную роль, поэтому функции управления информационными ресурсами должны выполняться на клиенте. Действительно, например, если нам необходимо выполнять контроль страховых запасов товаров на складе, то каждое приложение, которое связано с изменением состояния склада, после выполнения операций модификации данных, имитирующих продажу или удаление товара со склада, должно выполнять проверку на объем остатка, и в случае, если он меньше страхового запаса, формировать соответствующую заявку на поставку требуемого товара. Это усложняет клиентское приложение, с одной стороны, а с другой — может вызвать необоснованный заказ дополнительных товаров несколькими приложениями.
2.3 Модель сервера баз данных
Модель сервера баз данных (DBS) - сетевая архитектура технологии «Клиент – сервер», основу которой составляет механизм хранимых процедур, реализующий прикладные функции. В DBS – модели понятие информационного ресурса сужено до базы данных из-за того же механизма хранимых процедур, который реализован в СУБД, да и то не во всех.
В DBS-модели приложение является распределенным. Компонент представления выполняется на компьютере-клиенте, в то время как прикладной компонент (реализующий бизнес-функции) оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Хранимые процедуры также называют компилируемыми резидентными процедурами или процедурами базы данных (рисунок 3).
Рисунок 3 - Модель сервера базы данных.
Преимущества DBS-модели перед RDA-моделью очевидны: это и возможность централизованного администрирования различных функций, и снижение трафика сети из-за того, что вместо SQL-запросов по сети передаются вызовы хранимых процедур, и возможность разделения процедуры между несколькими приложениями, и экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры. Однако есть и недостатки.
Во-первых, разнообразные процедурные расширения SQL, используемые для написания хранимых процедур, не являются языками программирования в полном смысле слова. Они встроены в конкретные СУБД и имеют ограниченные возможности. Следовательно, система, в которой прикладной компонент реализован при помощи хранимых процедур, не является мобильной относительно СУБД. В большинстве СУБД отсутствуют возможности отладки и тестирования хранимых процедур, что может привести не просто к сбою, а к полной неработоспособности всей базы данных.
Во-вторых, в DBS-модели не предусмотрены разнообразные варианты взаимодействия клиента и сервера, необходимые длядецентрализация приложений, например хранимые очереди, асинхронные вызовы и другие.
В-третьих, DBS-модель не обеспечивает требуемой эффективности использования вычислительных ресурсов. Ограничения в ядре СУБД не позволяют в полной мере организовать эффективный баланс загрузки, миграцию процедур на другие компьютеры-серверы БД и реализовать другие полезные функции, например запросы с приоритетом[8].
На практике чаще используется разумный синтез RDA- и DBS-моделей для построения многопользовательских информационных систем: поддержка целостности базы данных и некоторых простейших прикладные функции хранимых процедур (DBS-модель), а более сложные функции реализуются непосредственно в прикладной программе, которая выполняется на компьютере-клиенте (RDA-модель).
Недостатком данной модели является очень большая загрузка сервера. Действительно, сервер обслуживает множество клиентов и выполняет следующие функции:
- осуществляет мониторинг событий, связанных с описанными триггерами;
- обеспечивает автоматическое срабатывание триггеров при возникновении связанных с ними событий;
- обеспечивает исполнение внутренней программы каждого триггера;
- запускает хранимые процедуры по запросам пользователей;
- запускает хранимые процедуры из триггеров;
- возвращает требуемые данные клиенту;
- обеспечивает все функции СУБД: доступ к данным, контроль и поддержку целостности данных в БД, контроль доступа, обеспечение корректной параллельной работы всех пользователей с единой БД.
Все недостатки DBS - модели учтены в AS-модели, которая в наибольшей степени отражает сильные стороны технологии «клиент-сервер».
2.4 Модель сервера приложений
Модель сервера приложений (AS) (рисунок 4)- сетевая архитектура технологии «Клиент – сервер», представляющая собой процесс, выполняемый на компьютере-клиенте и отвечающий за интерфейс с пользователем (ввод и отображение данных). Основным элементом данной модели является прикладной компонент, называющийся сервером приложения, функционирующий на удаленном компьютере (или нескольких компьютерах). Сервер приложений реализован как группа прикладных функций, оформленных в виде сервисов (служб). Каждый сервис предоставляет некоторые услуги всем программам, которые желают и могут ими воспользоваться.
Рисунок 4 - Модель сервера приложений.
Серверов приложений может быть несколько, и каждый их них предоставляет определенный набор услуг. Любая программа, которая пользуется ими, рассматривается как клиент приложения.
Детали реализации прикладных функций в сервере приложений полностью скрыты от клиента приложения. Клиент, которым может быть стандартный браузер, обращается с запросом к конкретной службе, при этом серверы приложений обезличены и служат для создания графического интерфейса с пользователем, что позволяет эффективно управлять балансом загрузки. Запросы, поступающие от клиента, выстраиваются в очередь к AS-процессу, который извлекает и передает их для обработки службе в соответствии с приоритетами.
Изучив все модели технологии «Клиент – сервер», можно сделать следующий вывод: RDA- и DBS-модели имеют в основе двухзвенную схему разделения функций. В RDA-модели прикладные функции отданы клиенту, в DBS-модели их реализация осуществляется через ядро СУБД. В RDA-модели прикладной компонент сливается с компонентом представления, в DBS-модели интегрируется в компонент доступа к ресурсам.
В AS-модели реализована трехзвенная схема разделения функций, где прикладной компонент выделен как важнейший изолированный элемент приложения, имеющий стандартизированные интерфейсы с двумя другими компонентами.
Глава 3 Модель клиент-сервер как основа построения информационных сервисов Интернет
3.1 Основные понятия глобальной сети интернет
Интернет - это всемирная компьютерная сеть, объединяющая в единое целое десятки тысяч разнородных локальных и глобальных компьютерных сетей, связанных определенными соглашениями (протоколами). Ее назначение – обеспечить любому желающему постоянный доступ к информации. Благодаря сети стал доступен огромный объем информации. Так, пользователь в любой стране может связаться с людьми, разделяющими его интересы, или получить ценные сведения в электронных библиотеках, даже если они находятся на другом конце света. Нужная информация окажется в его компьютере за считанные секунды, пройдя путь по длинной цепочке промежуточных компьютеров, по кабелям и радио, через горы и моря, по дну океанов и через спутники.
Производительность, надежность, интенсивность сетевого трафика, степень загрузки администратора, обеспечение безопасности и балансировка нагрузки — все это критерии оценки сетевой информационной системы. Мало того, все они тесно взаимосвязаны [1].
Дело осложняется еще и тем, что довольно трудно дать точное определение двум рассматриваемым архитектурным подходам. В классической архитектуре клиент-сервер клиентская часть представлена так называемым «толстым» клиентом, т. е. приложением, разработанным с помощью пакета типа VisualBasic или Delphi. Свое «прозвище» он получил в связи с тем, что помимо уровня представления информации содержит еще и бизнес-логику прикладной задачи. Такой клиент работает не только с реляционной базой данных, но и с файл-сервером. Стандартное Web-приложение, как правило, используется лишь для представления данных. Вся бизнес-логика в этом случае выполняется на сервере приложений, который и обращается к СУБД.
Интернет финансируется правительствами, научными и образовательными учреждениями, коммерческими структурами и миллионами частных лиц во всех частях света, но никто конкретно не является ее владельцем. Техническую сторону организации сети контролирует Федеральный сетевой совет (FNC), формируемый из приглашенных добровольцев, который 24 октября 1995 года принял определение того, что же мы подразумеваем под термином "Интернет":
Internet– это глобальная компьютерная система, которая:
· логически взаимосвязана пространством глобальных уникальных адресов (каждый компьютер, подключаемый к сети имеет свой уникальный адрес);
· способна поддерживать коммуникации (обмен информацией);
· обеспечивает работу высокоуровневых сервисов (служб), например, WWW, электронная почта, телеконференции, разговоры в сети и другие.
Internet является одноранговой сетью, т.е. все компьютеры в сети равноправны, и любой компьютер можно подключить к любому другому компьютеру. Таким образом, любой компьютер, подключенный к сети, может предлагать свои услуги любому другому.
В узлах этого всемирного соединения установлены компьютеры, которые и содержат нужную информацию и предлагают различные информационные и коммуникационные услуги. Эти компьютеры называются серверы (хосты)[4].
Серверы содержат информационные ресурсы. К ресурсам относятся любые базы данных, например, законодательные, научно-технические, коммерческие, рекламные, информацию из газет и журналов, файлы, программы, Web-страницы и т.д.
Компьютер сервер предоставляет услуги другим компьютерам, запрашивающим информацию, которые называют клиентами (пользователями, абонентами). Таким образом, работа в Internet предполагает наличие передатчика информации, приемника и канала связи между ними. Когда мы «входим» в Internet, наш компьютер выступает в качестве клиента, он запрашивает необходимую нам информацию на выбранном нами сервере.
Клиент и сервер взаимодействую друг с другом в сети Интернет или в любой другой компьютерной сети при помощи различных сетевых протоколов, например, IP протокол, HTTP протокол, FTP и другие. Протоколов на самом деле очень много и каждый протокол позволяет оказывать ту или иную услугу. Например, при помощи HTTP протокола браузер отправляет специальное HTTP сообщение, в котором указано какую информацию и в каком виде он хочет получить от сервера, сервер, получив такое сообщение, отсылает браузеру в ответ похожее по структуре сообщение (или несколько сообщений), в котором содержится нужная информация, обычно это HTML документ.
Сообщения, которые посылают клиенты получили названия HTTP запросы. Запросы имеют специальные методы, которые говорят серверу о том, как обрабатывать сообщение. А сообщения, которые посылает сервер получили название HTTP ответы, они содержат помимо полезной информации еще и специальные коды состояния, которые позволяют браузеру узнать то, как сервер понял его запрос.
Если говорить в контексте систем управления базами данных, то первый уровень – это клиент, который позволяет нам писать различные SQL запросы к базе данных. Второй уровень – это движок СУБД, который интерпретирует запросы и реализует взаимодействие между клиентом и файловой системой, а третий уровень – это хранилище данных.
Если мы посмотрим на данную архитектуру с позиции сайта, то первый уровень можно считать браузером, с помощью которого посетитель заходит на сайт, второй уровень – это связка Apache + PHP, а третий уровень – это база данных. Если уж говорить совсем просто, то PHP больше ничего и не делает, кроме как, гоняет строки и базы данных на экран и обратно в базу данных.
3.2 Взаимодействие компонентов информационных сервисов
В основу взаимодействия компонентов информационных сервисов Сети в большинстве случаев положена модель клиент-сервер. Как правило, в качестве клиента выступает программа, которая установлена на компьютере пользователя, а в качестве сервера – программа, установленная у провайдера. В данном контексте под провайдером понимают организацию или частное лицо, которые поддерживают информационные ресурсы [2, c. 99].
При этом возможны два варианта организации самой информационной системы, которая обеспечивает доступ к информационному ресурсу. Большинство систем Интернет построены по принципу взаимодействия «каждый с каждым», например, система WorldWideWeb, т.е. каждый пользователь может напрямую взаимодействовать с каждым сервером без посредников.
Базовые компоненты WWW-технологии (HTML и URL) играют при доступе к другим ресурсам Mosaic не последнюю роль, и поэтому мультипротокольные клиенты должны быть отнесены именно к World Wide Web, а не к другим информационным технологиям Internet. Фактически, клиент - это интерпретатор HTML. И как типичный интерпретатор, клиент в зависимости от команд (разметки) выполняет различные функции. В круг этих функций входит не только размещение текста на экране, но и обмен информацией с сервером по мере анализа полученного HTML-текста, что наиболее наглядно происходит при отображении встроенных в текст графических образов.
При анализе URL-спецификации или по командам сервера клиент запускает дополнительные внешние программы для работы с документами в форматах, отличных от HTML, например GIF, JPEG, MPEG, Postscript и т.п. Вообще говоря, для запуска клиентом программ независимо от типа документа была разработана программа Luncher, но в последнее время гораздо большее распространение получил механизм согласования запускаемых программ через MIME-типы.
Другую часть программного комплекса WWW составляет сервер протокола HTTP, базы данных документов в формате HTML, управляемые сервером, и программное обеспечение, разработанное в стандарте спецификации CGI. До самого последнего времени (до образования Netscape) реально использовалось два HTTP-сервера: сервер CERN и сервер NCSA. Но в настоящее время число базовых серверов расширилось. Появился очень неплохой сервер для MS-Windows и Apachie-сервер для Unix- платформ. Существуют и другие, но два последних можно выделить из соображений доступности использования. Сервер для Windows - это shareware, но без встроенного самоликвидатора, как в Netscape.
Такой подход позволяет упростить всю технологическую схему построения системы, однако, приводит к порождению большого трафика в Сети. Альтернативный вариант построения системы, например, системы Usenet, когда пользователь может взаимодействовать только со «своим» сервером и не может обратиться к произвольному серверу в Сети. Однако, доступ он получает ко всей информации, которая присутствует в данной информационной системе, т.к. серверы обмениваются ею между собой.
Техническая сторона вопроса организации Usenet вызывает некоторую путаницу. Объясняется она тем, что, с одной стороны, в системе используются почтовые сообщения Internet, а с другой стороны, многие пользуются услугами Usenet только по почте. Для того чтобы разобраться в этом вопросе, сделаем небольшой экскурс в историю развития Usenet.
Формат и передача статей Usenet аналогична сообщения электронной почты Интернет. Разница между ними состоит в том, что Usenet статьи может прочитать любой пользователь , чей сервер новостей несет группу , к которой данное сообщение было отправлено, в отличие от сообщений электронной почты, которые имеют один или несколько конкретных получателей.
Сегодня важность Usenet уменьшилась по к отношению интернет - форумам и блогам. Usenet отличается от таких сред несколькими способами: Usenet не требует личной регистрации с соответствующей группой; информацию не требуется хранить на удаленном сервере; архивы всегда доступны; и чтение сообщений не требует почты или веб-клиента, а только клиент новостей.
В настоящее время система серверов Usenet организована следующим образом:
Пользователь осуществляет подписку на одном из серверов Usenet, который ближе для данного пользователя, обычно это машина, на которой расположены все информационные ресурсы организации или учебного заведения. По мере поступления новых сообщений от пользователей, серверы обмениваются между собой этой новой информацией. Пользователь может подписаться на любом сервере на любую группу новостей. Последний факт принципиально отличает Usenet от систем BBS и Listserv, где подписка осуществляется на машине, которая реально ведет списки сообщений. Каждый сервер ведет список подписчиков и список телеконференций, на которые осуществлена подписка. При поступлении статьи, сервер информирует известные ему серверы о том, что появилась новая информация и в случае запроса передает ее. Это взаимодействие осуществляется посредством протокола NNTP.
Несколько таких схем показано на рисунке:
Рис. 3.1 Различные схемы клиент-сервер для информационных серверов Интернет
Принципиальным различием между схемой с посредником и схемой Usenet является то, что при посреднике работа по доступу к ресурсу перекладывается на его плечи. При этом он будет устанавливать соединение с каждым сервером в Сети. По схеме Usenet это делать не обязательно, т.к. информацию в принципе можно получить с любого сервера.
Заключение
Раньше сетевые системы основывались на модели централизованных вычислений, в которой один мощный сервер – мейнфрейм выполнял основную работу в сети, а пользователи получали доступ к нему при помощи недорогих и низкопроизводительных компьютеров - терминалов. В результате развития персональных компьютеров централизованную модель заменила модель клиент-сервер, предоставляющая при той же производительности возможности сетевой обработки данных.
В настоящее время большинство сетей использует модель клиент-сервер. Сеть архитектуры клиент-сервер — это сетевая среда, в которой компьютер-клиент инициирует запрос компьютеру-серверу, выполняющему этот запрос. Рассмотрим работу модели на примере системы управления БД — приложения, часто используемого в среде клиент-сервер. В модели клиент-сервер ПО клиента используется язык структурированных запросов SQL (StructuredQueryLanguage), который переводит запрос с языка, понятного пользователю, на язык, понятный машине. SQL близок к естественному английскому.
Клиент (пользователь) генерирует запрос с помощью интерфейсного приложения, которое обеспечивает интерфейс пользователя, формирует запросы и отображает данные, полученные с сервера. В клиент-серверной среде сервер не наделяется пользовательским интерфейсом. Представлением данных в удобной форме занимается сам клиент. Компьютер-клиент получает инструкции от пользователя, готовит их для сервера, а затем по сети посылает ему запрос. Сервер обрабатывает запрос, проводит поиск необходимых данных и отсылает их клиенту. Клиент в удобной для пользователя форме отображает полученную информацию. В клиент-серверной среде пользователь компьютера-клиента имеет дело с экранной формой. В ней он задает необходимые параметры информации. Интерфейсная часть одну и ту же информацию может представлять в различном виде.
Сервер в клиент-серверной среде обычно предназначен для хранения данных и управления ими. Именно сервер выполняет большинство операций с данными. Сервер называют также прикладной частью модели клиент-сервер, так как именно он выполняет запросы клиентов. Обработка данных на сервере состоит из их сортировки, извлечения затребованной информации и отправки ее по адресу пользователя. ПО предусматривает также обновление, удаление, добавление и защиту информации.
Технология клиент-сервер создает мощную среду, обладающую множеством реальных преимуществ. В частности, хорошо спланированная клиент-серверная система обеспечивает относительно недорогую платформу, которая обладает в то же время вычислительными возможностями мэйнфрейма и легко настраивается на выполнение конкретных задач. Кроме того, в среде клиент-сервер резко уменьшается сетевой трафик, так как по сети пересылаются только результаты запросов. Файловые операции выполняются в основном более мощным сервером, поэтому запросы лучше обслуживаются. Это означает, что нагрузка на сеть распределяется более равномерно, чем в традиционных сетях на основе файл-сервера. Уменьшается потребность компьютеров-клиентов в ОЗУ, так как вся работа с файлами выполняется на сервере. По этой же причине на компьютерах-клиентах уменьшается потребность в дисковом пространстве. Упрощается управление системой, контроль ее безопасности становится проще, так как все файлы и данные размещаются на сервере. Упрощается резервное копирование.
Как и любая другая сеть, Интернет состоит из множества компьютеров, соединенных между собой линиями связи, и установленного на этих компьютерах программного обеспечения.
Тип программного обеспечения определяется идеологией, называемой и описанной выше клиент/сервером, которая составляет основу всех сервисов Интернета. Каждая операция в сети Интернет состоит из взаимодействия трех элементов: клиента, сервера, сети Интернет.
Под словом «клиент» подразумевают программы, при помощи которых индивидуальный пользователь обращается к тому или иному сервису сети Интернет. Слово «сервер» сегодня имеет несколько значений. Это может быть программа, которая предоставляет клиентам различные данные, компьютер, на котором выполняется эта программа, или же сочетание компьютера и программы.
При существенном усложнении и увеличении ресурсоемкости прикладного компонента для него может быть выделен отдельный сервер, называемый сервером приложений. В этом случае говорят о трехзвенной архитектуре «клиент-сервер». Первое звено – компьютер – клиент, второе –сервер приложений, третье – сервер управления данными. В рамках сервера приложений могут быть реализованы несколько прикладных функций, каждая из которых оформляется как отдельная служба, предоставляющая некоторые услуги всем программам. Серверов приложения может быть несколько, каждый из них ориентирован на предоставление некоторого набора услуг.
Список литературы
- Дрога А. А., Жукова П. Н., Копонев Д. Н., Лукьянов Д. Б., Прокопенко А. Н. Информатика и математика. - Минск, 2008.
- Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика -- 3-е изд. -- М.: «Вильямс», 2003.
- Кузнецов С. Д. Основы баз данных. -- 1-е изд. -- М.: «Интернет- университет информационных технологий - ИНТУИТ.ру», 2005.
- Скотт В. Эмблер, Прамодкумар Дж. Садаладж. Рефакторинг баз данных: эволюционное проектирование -- М.: «Вильямс», 2007
- Титоренко Г.А. Информационные технологии управления. М., Юнити: 2002.
- Мельников В. Защита информации в компьютерных системах. - М.: Финансы и статистика, Электронинформ, 1997
- Основы информатики: Курс лекций / Р.С. Гиляревский - М.: Издательство «Экзамен», 2003. – 320с.
- Информатика: Учебное пособие. Серия «Учебный курс». / Под ред. Е.Г. Веретенниковой, С.М. Патрушиной, Н.Г. Савельевой. – Ростов н / Д: Издательский центр «МарТ», 2002. – 416с.
- Информатика: Учебник. – 3-е изд. / Под ред. В.А. Каймина. – М.: ИНФРА-М, 2003. – 272с.
- Информатика: Базовый курс / С.В. Симонович и др. – СПб: Питер, 2002. – 640с.
- Информатика: Учебное пособие для студ. пед. вузов / А.В. Могилев, Н.И. Пак, Е.К. Хеннер; Под ред. Е.К. Хеннера – 3-е изд., перераб. и доп. – М.: Издательский центр «Академия», 2004. – 848с.
- Берлинер Э.М., Глазырина И.Б., Глазырин Б.Э. Windows XP. Самоучитель. – 3-е изд. – М.: ООО «Бином – Пресс», 2004. – 416с.
- Учебное пособие. Часть 1 / Под ред. Шуремова Е.Л., Тимаковой Н.А., Мамонтовой Е.А. – М.: Издательство «Перспектива», 2002. – 300с.
- Экономическая информатика: Учебник / Под ред. В.П. Косарева и Л.В. Еремина. – М.: Финансы и статистика, 2002. – 592с.
- Экономическая информатика: Учеб.пособ. / Под ред. В.В. Евсюкова. – Тула: Издательство «Гриф и К», 2003. – 371с.
- Теоретические аспекты менеджмента организации
- Сущность, содержание и состав функций менеджмента
- Теоретические аспекты e-mail маркетинга
- Технология обслуживания клиентов в ресторане
- Теория и практика разделения властей
- Создание электронного учебника по любой теме из курса «Информатика и программирование
- Цели и задачи налогового учета
- Косвенные налоги и их место в налоговой системе
- Пути повышения конкурентоспособности компании
- Совершенствование системы стимулирования персонала
- Интернет-маркетинг: Яхтный и лодочный бизнес
- Право государственной и муниципальной собственности