Лекции по дисциплине: «Компьютерные сети и сетевые технологии» По специальности: 1304033 «Вычислительная техника и программное обеспечение»



бет24/37
Дата07.01.2022
өлшемі0,67 Mb.
#17346
түріЛекции
1   ...   20   21   22   23   24   25   26   27   ...   37
сервер терминалов — распределенное представление данных;

  • файл-сервер — доступ к удаленной базе данных и файловым ресурсам;

  • сервер БД — удаленное представление данных;

  • сервер приложений — удаленное приложение.

    Перечисленные модели с вариациями представлены на рис. 3.



    Рис.3. Модели клиент-серверного взаимодействия

    Исторически первой появилась модель распределенного представления данных (модель сервер терминалов). Она реализовывалась на универсальной ЭВМ (мэйнфрейме), выступавшей в роли сервера, с подключенными к ней алфавитно-цифровыми терминалами. Пользователи выполняли ввод данных с клавиатуры терминала, которые затем передавались на мэйнфрейм и там выполнялась их обработка, включая формирование «картинки» с результатами. Эта «картинка» и возвращалась пользователю на экран терминала.

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

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

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

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

    Преимущества такого подхода очевидны:


    • возможно централизованное администрирование прикладных функций;

    • снижение стоимости владения системой (TOC, total cost of ownership) за счет аренды сервера, а не его покупки;

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

    Основной недостаток — ограниченность средств разработки хранимых процедур по сравнению с языками высокого уровня.

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

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

    Трехзвенная архитектура





    Рис.4. Трехзвенная клиент-серверная архитектура

    Еще одна тенденция в клиент-серверных технологиях связана со все большим использованием распределенных вычислений. Они реализуются на основе модели сервера приложений, где сетевое приложение разделено на две и более частей, каждая из которых может выполняться на отдельном компьютере. Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. В этом случае двухзвенная клиент-серверная архитектура становится трехзвенной (three-tier, 3-tier).



    Как правило, третьим звеном в трехзвенной архитектуре становится сервер приложений, т.е. компоненты распределяются следующим образом (рис. 4):

    1. Представление данных — на стороне клиента.

    2. Прикладной компонент — на выделенном сервере приложений (как вариант, выполняющем функции промежуточного ПО).

    3. Управление ресурсами — на сервере БД, который и представляет запрашиваемые данные.



    Рис.5. Многозвенная (N-tier) клиент-серверная архитектура

    Трехзвенная архитектура может быть расширена до многозвенной (N-tier, Multi-tier) путем выделения дополнительных серверов, каждый из которых будет представлять собственные сервисы и пользоваться услугами прочих серверов разного уровня. Абстрактный пример многозвенной модели приведен на рис. 5.

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

    Трехзвенная архитектура сложнее, но благодаря тому, что функции распределены между серверами второго и третьего уровня, эта архитектура представляет:



    1. Высокую степень гибкости и масштабируемости.

    2. Высокую безопасность (т.к. защиту можно определить для каждого сервиса или уровня).

    3. Высокую производительность (т.к. задачи распределены между серверами).



    Достарыңызбен бөлісу:
  • 1   ...   20   21   22   23   24   25   26   27   ...   37




    ©emirsaba.org 2024
    әкімшілігінің қараңыз

        Басты бет