ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 02.04.2023

Просмотров: 397

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Из всего вышеописанного можно понять, что двухуровневая архитектура сильно отстаёт от многоуровневой архитектуры, поэтому в современных системах используют только многоуровневую архитектуру «Клиент – сервер», которая может быть выполнена в трёх модификациях - RDA, DBS и AS.

1.3 Различные модели технологии «Клиент – сервер»

Среди первых базовых технологий для локальной сети самой первой является модель файлового сервера (FS). В своё время данная технология была особенно популярна среди отечественных разработчиков, которые пользовались такими системами, как FoxPro, Clipper, Clarion, Paradox и подобные.

В моделях FS функции всех трёх компонентов совмещаются в одном коде, который выполняет компьютер-сервер (хост). В такой архитектуре компьютер-клиент вообще отсутствует, вводом и отображением данных занимается терминал или компьютер, работающий в режиме эмуляции терминала. Приложения для такой модели разрабатывают на языках четвертого поколения (4GL). Согласно FS один из компьютеров сети должен считаться файловым сервером и должен предоставлять другим компьютерам услугу по обработке файлов. Файловый сервер управляется при помощи сетевых ОС и служит компонентом доступа к информационным ресурсам. На других же ПК в сети установлено и функционирует приложение, в коде которого совмещен компонент представления и прикладные компоненты.[4]

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

Протоколы обмена представляют собой наборы вызовов, которые обеспечивают приложению доступы к файловой системе на файл-сервере.

Рисунок 5 - Модель файлового сервера

Преимущества данной технологии:

- простая разработка приложений;

- удобные инструменты администрирования и обновления программного обеспечения благодаря компактному расположению всех компонентов на одном персональном компьютере;

- низкая цена необходимого оборудования для организации рабочих мест.

Недостатки, которые перекрывают преимущества FS – модели:


- большая загруженность сети;

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

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

- отсутствует графический интерфейс.

Чтобы решить проблемы, присущие технологии «Файл – сервер» стала применяться прогрессивная технология «Клиент – сервер».

В современных системах управления базами данных архитектура «клиент-сервер» стала стандартом. Если в проектируемой сетевой технологии будет применена архитектура «клиент-сервер», это значит, что реализуемые в её рамках прикладные программы будут распределенного характера, а это означает, что функции приложений будет реализовываться в программе-клиенте и в программе-сервере.

Каковы будут различия во время работы приложений в рамках технологии «Клиент-сервер» определяется согласно четырём факторам:

- какой используется вид программного обеспечения в логическом компоненте;

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

- каков принцип распределения логических компонентов по компьютерам сети;

- какой механизм используется для обеспечения связи между компонентами системы.

Согласно вышеописанным данным, можно выделить три подхода, каждый из них реализуется в соответствующей модели технологии «Клиент – сервер»:

- модель доступа к удаленным данным (Remote Date Access - RDA);

- модель сервера базы данных (DateBase Server - DBS);

- модель сервера приложений (Application Server - AS).

Далее будут рассмотрены функции и характеристики различных моделей технологии «Клиент-сервер».

Модель доступа к удаленным данным (RDA) – представляет собой сетевую архитектуру технологии «Клиент – сервер», в которой коды компонентов представления и прикладных компонентов совмещаются и выполняются на компьютере-клиенте. Доступы к информационному ресурсу обеспечивает непроцедурный язык (к примеру, язык запрос к базам данных SQL) или вызовы функций из специальной библиотеки (при наличии специального интерфейса прикладного программирования - API).[5]


Запрос к информационному ресурсу направляется по сети к удаленному компьютеру, в котором происходит обработка и выполнение запроса, после чего клиенту возвращают блок данных с результатом (рисунок 6).

Рисунок 6 - Модель доступа к удаленным данным

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

Но, несмотря на вышеописанные возможности RDA-модель имеет некоторый ряд ограничений:

1) Процесс взаимодействия клиента и сервера при помощи SQL-запросов сильно загружает сеть. Так приложение нераспределенное, вся его логика обрабатывается на компьютере-клиенте, в результате чего при взаимодействии его с сервером при помощи SQL-запроса может привести к передаче через сеть данных слишком большого для узла связи объёма. Из-за чего при возрастании числа клиентов, сеть становится загруженной, происходит ограничение быстродействия всей информационной системы.

2) Процесс удовлетворительного администрирования приложений в RDA-моделях практически невозможен. Бывает, что различные по своей природе функции (функция представления и прикладная функция) смешиваются в одной и той же программе, которая написана при помощи языка четвертого поколения (4GL), что в результате приводит к необходимости во время изменения какой-нибудь прикладной функции переписывать всю программу заново целиком.

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

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


Несмотря на широкую распространённость, RDA-модели вскоре была заменена более технологичной DBS-моделью.

Модель сервера баз данных (DBS) – является сетевой архитектурой технологии «Клиент – сервер», основа которой состоит из механизма хранимых процедур, которые реализуют прикладные функции. В DBS – модели информационным ресурсом является база данных из-за работы механизма хранимых процедур, который реализуется в СУБД.

В DBS-модели приложения являются распределенными. Процесс выполнения компонента представления происходит на компьютере-клиенте, а прикладной компонент, который реализует бизнес-функции, оформляется как в виде набора хранимых процедур и процесс его функционирования происходит на компьютере-сервере БД. Хранимая процедура также называется компилируемой резидентной процедурой или процедурой базы данных (рисунок 7).

Рисунок 7 - Модель сервера базы данных.

Преимущества DBS-модели перед RDA-моделью в следующем:

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

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

У DBS-модели есть и свои недостатки:

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

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

3) DBS-модель не может обеспечить требуемую эффективность использования вычислительного ресурса. Ограничение присутствующие в ядре СУБД не позволяет полностью организовать эффективную балансировку загрузки, миграции процедур на другой компьютер-сервер БД и реализовать другие полезные функции, к примеру, запрос с приоритетом.


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

Все недостатки DBS - модели были исправлены в AS-модели, в которой в большей степени реализованы сильные стороны технологии «клиент-сервер».

Модель сервера приложений (AS) (рисунок 8) – является сетевой архитектурой технологии «Клиент – сервер», она представляет собой процесс, который выполняется на компьютере-клиенте и отвечает за интерфейс с пользователем (процесс ввода и отображения данных). Основной элемент данной модели — это прикладной компонент, который называется сервером приложения, который функционирует на удаленном компьютере. Сервер приложений представляет собой группу прикладных функций, которые оформлены в виде сервисов (служб). Каждым сервисом предоставляются некоторые услуги для всех программ, которыми ими могут воспользоваться.

Рисунок 8 - Модель сервера приложений.

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

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

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

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