русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Архитектура «клиент-сервер»


Дата добавления: 2015-07-09; просмотров: 1870; Нарушение авторских прав


Применительно к информационным системам архитектура «клиент-сервер» интересна и актуальна главным образом потому, что обеспечивает простое и относительно дешевое решение проблемы коллективного (многопользовательского) доступа к базам данных в локальной или глобальной сети.

Информационная система архитектуры «клиент-сервер» разбивается на две части, которые могут выполняться в разных узлах сети, - клиентскую и серверную части. На серверную часть возлагаются функции хранения и значительной части обработки данных, на клиентскую – функции взаимодействия с пользователем и, частично, обработки данных, полученных с сервера (рис. 1.6).

Рис. 1.6 - Архитектура «клиент-сервер»

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

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

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

В системе «клиент-сервер» возможно создание новых клиентских частей уже существующей системы, причем максимальное количество одновременно работающих с общей БД клиентов несравнимо больше, чем в файл-серверной архитектуре, т.е. система клиент-сервер является более масштабируемой. Это объясняется тем, что сетевой трафик в клиент-серверной системе невысок (от клиента передаются только тексты запросов, от сервера – уже отобранные данные, а не вся база данных, как в архитектуре файл-сервер).



Термин «сервер баз данных» обычно используют для обозначения всей СУБД, основанной на архитектуре "клиент-сервер", включая серверную и клиентскую части. Собирательное название SQL-сервер относится ко всем серверам баз данных, основанных на использовании языка SQL.

В настоящее время имеется несколько широко распространенных коммерческих SQL-серверов – Oracle, DB-2, MS SQL Server, Sybase, Informix, Interbase и свободно распространяемые серверы с открытым исходным кодом PostGres (PostgreeSQL), MySQL, FireBird (свободно распространяемый вариант сервера Interbase). Приведенный список далеко не полон.

SQL-cерверы обладают преимуществами и недостатками. Очевидное преимущество - стандартность интерфейса. В пределе, хотя на практике это пока не совсем так, клиентские части могли бы работать с любым SQL-сервером вне зависимости от того, кто его произвел. Иными словами, прикладное программное обеспечение на стороне клиента легко настраивается на взаимодействие с любым новым SQL-сервером.

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

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

· В случае применения маломощных клиентских компьютеров (а это более типичная ситуация), применяют многозвенную (многоуровневую) архитектуру «клиент-сервер», выделив промежуточные дополнительные слои программного обеспечения между клиентом и сервером.



<== предыдущая лекция | следующая лекция ==>
Архитектура «файл-сервер» | Многозвенные архитектуры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.