ИСИС Архангельский 2154 реферат
.pdf
Рисунок 3 — Сервер приложений Создано несколько категорий продуктов для осуществления работы
промежуточного слоя:
—Message orientated — представителем являются MQseries и JMS;
—Object Broker — представителем является CORBA и DCOM;
—Component based — представителем является .NET и EJB.
Создано много серверов приложений при поддержке таких знаменитых компаний как Sun Microsystem, Borland, IBM, Oracle и каждое из которых отличается своим набором количества предоставляемых сервисов (не учитывая производительность). При помощи этих сервисов облегчается процесс программирования и развертывания приложений в масштабе предприятия. Обычно сервером приложений предоставляются следующие сервисы:
—WEB Server — чаще всего в поставку включают самый популярный и мощный сервер, в настоящее время это Apache-серверы;
—WEB Container — припомощинего можно выполнять JSP и сервлеты. Apache среди таких сервисов использует Tomcat;
—CORBA Agent — это сервис предоставляет распределенные директории, чтобы хранить CORBA объекты;
—Messaging Service — является своего рода брокером сообщений;
—Transaction Service — является сервисом транзакций;
—JDBC — драйвер, служащий для подключения к базам данных, так как именно сервер приложений приходиться работать с базами данных,
11
поэтому он должен уметь подключаться к используемой в компании базе данных;
—Java Mail – сервис предоставляющий доступ к сервисам SMTP;
—JMS (Java Messaging Service) — сервис служащий, чтобы обрабатывать синхронные и асинхронные сообщения;
—RMI (Remote Method Invocation) — сервис для вызова удаленных процедур.
Многоуровневая клиент-серверная система достаточно легко может быть перенесена на системы Web-технологии — для этого нужно произвести замену клиентской части науниверсальный или специализированный браузер,
ана сервере приложений установить дополнительный Web-сервер и небольшие программы для вызова процедур сервера. Чтобы разрабатывать такиепрограммыможновоспользоватьсякакCommonGatewayInterface(CGI), так и более современным языком Java.
Для работы в трехуровневой системе каналов связи между сервером приложений и СУБД можно пользоваться более скоростными линиями, которые требовали бы минимальных затрат, так сервер мог бы находиться в одном помещении (серверной) и не перегружал бы сеть во время передачи большого количества информации.
Извсеговышеописанногоможнопонять,чтодвухуровневаяархитектура сильно отстаёт от многоуровневой архитектуры, поэтому в современных системах используют только многоуровневую архитектуру «Клиент – сервер», которая может быть выполнена в трёх модификациях - RDA, DBS и AS.
12
3. Модели «клиент-сервер»
Среди первых базовых технологий для локальной сети самой первой является модельфайлового сервера(FS).Всвоёвремяданнаятехнологиябыла особенно популярна среди отечественных разработчиков, которые пользовались такими системами, как FoxPro, Clipper, Clarion, Paradox и подобные.
В моделях FS функции всех трёх компонентов совмещаются в одном коде, который выполняет компьютер-сервер (хост). В такой архитектуре компьютер-клиент вообще отсутствует, вводом и отображением данных занимается терминал или компьютер, работающий в режиме эмуляции терминала. Приложения для такой модели разрабатывают на языках четвертого поколения (4GL). Согласно FS один из компьютеров сети должен считаться файловым сервером и должен предоставлять другим компьютерам услугу по обработке файлов. Файловый сервер управляется при помощи сетевых ОС и служит компонентом доступа к информационным ресурсам. На других же ПК в сети установлено и функционирует приложение, в коде которого совмещен компонент представления и прикладные компоненты.
Взаимодействие клиента и сервера осуществляется по следующей технологии: запрос передаётся на файловый сервер, который отправляет его СУБД, которая размещает на компьютере-клиенте, требуемые блоки данных. Весь процесс обработки осуществляется терминалом, как представлено на рисунке 4. Протоколы обмена представляют собой наборы вызовов, которые обеспечивают приложению доступы к файловой системе на файл-сервере.
Рисунок 4 — Модель файлового сервера
13
Преимущества данной технологии:
—простая разработка приложений;
—удобные инструменты администрирования и обновления программного обеспечения благодаря компактному расположению всех компонентов на одном персональном компьютере;
—низкая цена необходимого оборудования для организации рабочих
мест.
Недостатки, которые перекрывают преимущества FS – модели:
—большая загруженность сети;
Несмотрянанебольшиеобъёмы данных,которыепересылаютсяпо сети, время отклика от них является критичным, так как каждый символ, который ввёл пользователь на терминале, передаётся на сервер, обрабатывается приложением и возвращается обратно, чтобы быть выведенным на экран терминала. Кроме этого, существуют проблемы распределения нагрузки на несколько компьютеров.
—дорогая стоимость аппаратного обеспечения сервера, так как его ресурсы должны быть распределены на всех пользователей;
—отсутствует графический интерфейс.
Чтобы решить проблемы, присущие технологии «Файл – сервер» стала применяться прогрессивная технология «Клиент – сервер».
В современных системах управления базами данных архитектура «клиент-сервер» стала стандартом. Если в проектируемой сетевой технологии будет применена архитектура «клиент-сервер», это значит, что реализуемые в её рамках прикладные программы будут распределенного характера, а это означает, что функции приложений будет реализовываться в программеклиенте и в программе-сервере.
Каковы будут различия во время работы приложений в рамках технологии «Клиент-сервер» определяется согласно четырём факторам:
— какой используется вид программного обеспечения в логическом компоненте;
14
—какой механизм программного обеспечения будет использован для того, чтобы реализовывать функции логического компонента системы;
—каков принцип распределения логических компонентов по компьютерам сети;
—какой механизм используется для обеспечения связи между компонентами системы.
Согласно вышеописанным данным, можно выделить три подхода, каждый из них реализуется в соответствующей модели технологии «Клиент – сервер»:
—модель доступа к удаленным данным (Remote Date Access - RDA);
—модель сервера базы данных (DateBase Server - DBS);
—модель сервера приложений (Application Server - AS).
Далеебудутрассмотреныфункцииихарактеристикиразличныхмоделей технологии «Клиент-сервер».
Модель доступа к удаленным данным (RDA) – представляет собой сетевую архитектуру технологии «Клиент – сервер», в которой коды компонентов представления и прикладных компонентов совмещаются и выполняются на компьютере-клиенте. Доступы к информационному ресурсу обеспечивает непроцедурный язык (к примеру, язык запрос к базам данных SQL) или вызовы функций из специальной библиотеки (при наличии специального интерфейса прикладного программирования - API).
На рисунке 5 представлено, как запрос к информационному ресурсу направляется по сети к удаленному компьютеру, в котором происходит обработкаи выполнениезапроса,послечегоклиенту возвращаютблокданных с результатом.
15
Рисунок 5 — Модель доступа к удаленным данным
Главное преимущество RDA-модели — это предоставление широкого выборасредиинструментальных средствнужных дляразработкиприложения, обеспечивая быстрое создание desktop-приложения, которое сможет работать с ориентированными на язык SQL СУБД. Обычно в таких инструментальных средствах имеется графический интерфейс для пользователя, работающего в ОС, а также программные средства для автоматического генерирования кода, в которых имеются прикладные функции и функции представления. Но, несмотря на вышеописанные возможности RDA-модель имеет некоторый ряд ограничений:
1)Процесс взаимодействия клиента и сервера при помощи SQLзапросов сильно загружает сеть. Так приложение нераспределенное, вся его логика обрабатывается на компьютере-клиенте, в результате чего при взаимодействии его с сервером при помощи SQL-запроса может привести к передаче через сеть данных слишком большого для узла связи объёма. Из-за чего при возрастании числа клиентов, сеть становится загруженной, происходит ограничение быстродействия всей информационной системы.
2)Процесс удовлетворительного администрирования приложений в RDA-моделях практически невозможен. Бывает, что различные по своей природе функции (функция представления и прикладная функция) смешиваются в одной и той же программе, которая написана при помощи языкачетвертогопоколения(4GL),что врезультатеприводиткнеобходимости во время изменения какой-нибудь прикладной функции переписывать всю
программу заново целиком.
16
3)Во время коллективных работ над проектом, каждому разработчику надо поручать реализацию отдельной прикладной функции, из-за чего невозможен нормальный контроль над взаимной непротиворечивостью функций. Каждый из разработчиков вынужден программировать для себя пользовательский интерфейс, из-за чего трудно сформировать единый стиль интерфейса и его целостность. Бывает сложен процесс обновления программного обеспечения, так как обновление ПО надо произвести одновременно на всех компьютерах-клиентах.
4)Невозможно реализовать разграничение доступа по функциям только на сторонах сервера, а можно только на сторонах клиента, из-за чего уровень безопасности становится довольно низким. Сам процесс разграничения выполняется только по таблице базы данных, из-за чего тоже снижается защищенность.
Несмотря на широкую распространённость, RDA-модели вскоре была заменена более технологичной DBS-моделью.
Модель сервера баз данных (DBS) – является сетевой архитектурой технологии «Клиент – сервер», основа которой состоит из механизма хранимых процедур, которые реализуют прикладные функции. В DBS – модели информационным ресурсом является база данных из-за работы механизма хранимых процедур, который реализуется в СУБД.
ВDBS-модели приложения являются распределенными. Процесс выполнения компонента представления происходит на компьютере-клиенте, а прикладной компонент, который реализует бизнес-функции, оформляется как
ввиде набора хранимых процедур и процесс его функционирования происходитнакомпьютере-сервереБД.Хранимаяпроцедуратакженазывается компилируемой резидентной процедурой или процедурой базы данных, как показано на рисунке 6.
17
Рисунок 6 — Модель сервера базы данных.
Преимущества DBS-модели перед RDA-моделью в следующем:
—возможность организации централизованной администрации различныхфункций,чтосущественноснизиттрафиксетитаккак,вместоSQLзапроса по сети будет передаваться вызов хранимой процедуры;
—возможность разделить процедуру между несколькимиработающими приложениями, что существенно экономит ресурсы компьютера, так как счет использования происходит благодаря единожды созданному плану выполнения процедуры.
У DBS-модели есть и свои недостатки:
1) Разные процедурные расширения на языке SQL, которые используются для написания хранимой процедуры, не являются языками для программирования. Так как они встроены в конкретную СУБД из-за чего, имеют ограниченные возможности. Поэтому система, которая прикладные компоненты реализует с помощью хранимых процедур, не может называться мобильной по отношению к СУБД. В большинстве СУБД отсутствует возможность отладки и тестирования хранимой процедуры, что часто приводит к сбою, который может привести к полной неработоспособности всей базы данных.
2) В DBS-модель не встроены разнообразные способы взаимодействия клиента с сервером, которые необходимы, чтобы децентрализовать некоторые приложения, например хранимую очередь, асинхронный вызов и другие.
3) DBS-модель не может обеспечить требуемую эффективность использования вычислительного ресурса. Ограничение присутствующие в
18
ядре СУБД не позволяет полностью организовать эффективную балансировку загрузки, миграции процедур на другой компьютер-сервер БД и реализовать другие полезные функции, к примеру, запрос с приоритетом.
На практике часто используют синтез RDA и DBS-модели, чтобы выполнять построение многопользовательской информационной системы: поддержку целостности базы данных и некоторых её простейших прикладных функций хранимой процедуры выполняет DBS-модель, а за реализацию других более сложных функций, которые работают непосредственно в прикладной программе на компьютере-клиенте, отвечает RDA-модель.
ЗАКЛЮЧЕНИЕ
Технология клиент-сервер развивается уже давно. За это время она прошла путь от академических исследований до промышленных, стандартизованных решений, позволяющих создавать по-настоящему большие, распределенные корпоративные системы, способные эволюционировать экономически эффективным образом. Можно предположить, что консолидация современных сетевых, реляционных и объектно-ориентированных технологий позволит выйти на еще более высокий уровень интеграции и качества информационных систем.
19
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.Замятина О. М. Инфокоммуникационные системы и сети. Основы моделирования — М.: Издательство Юрайт, 2019.
2.Таненбаум Э. Компьютерные сети. - СПб.: Питер, 2019.
3.Абросимов Л. И. Базисные методы проектирования и анализа сетей ЭВМ. Учебное пособие. - М.: Университетская книга, 2017.
4.Поляк-Брагинский А. В. Локальная сеть. Самое необходимое. - М.: БХВ-Петербург, 2016.
20
