Файл: Технология «клиент-сервер» (Основные принципы и применение технологии «клиент-сервер»).pdf

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

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

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

Добавлен: 13.03.2024

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

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

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

2. Основные принципы технологии «клиент-сервер»

2.1 Основные принципы структурного подхода

В основу функционально-модульного подхода положен принцип алгоритмической декомпозиции, в соответствии с которым производится разделение функций ИС на модули по функциональной принадлежности, когда каждый модуль системы реализует один из этапов общего процесса. Традиционный функционально-модульный подход к разработке ИС предусматривает строго последовательный порядок действий (так называемая "модель водопада"). По мнению Страуструпа [10], главный недостаток модели "водопада" заключается в склонности информации течь только в одну сторону. Если проблема оказывается "внизу по течению", то часто возникает сильный организационный и методический нажим с целью проводить лишь ограниченные исправления и разрешить проблему без воздействия на предыдущие стадии проекта. Такая недостаточная обратная связь приводит к проектированию, ущербному во многих отношениях, а ограниченные исправления ведут к деформированным реализациям. Изменение требований к системе может привести к ее полному перепроектированию, поэтому ошибки, заложенные на ранних этапах, сильно сказываются на времени и конечной цене разработки. Ориентация на такую последовательную модель увеличивает вероятность того, что будет утрачен контроль над решением возникающих проблем.

2.2 Неоднородность ресурсов в распределенных системах

Следующей проблемой, на которую необходимо обратить внимание, является разнородность информационных ресурсов, используемых в корпоративных системах.

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


2.3 Концепции и принципы объектного подхода (Классы и объекты)

Основные понятия объектно-ориентированного подхода - объект, класс и экземпляр.

Объект - это абстракция множества предметов реального мира, обладающих одинаковыми характеристиками и законами поведения. Объект представляет собой типичный неопределенный элемент такого множества. Экземпляр объекта - это конкретный определенный элемент множества. Например, в банковском деле объектом является некоторый лицевой счет, а экземпляром этого объекта - лицевой счет #123.

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

Таким образом, объект - это типичный представитель класса, а термины "экземпляр объекта" и "элемент класса" равнозначны.

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

Следующую группу важнейших понятий объектного подхода составляют инкапсуляция, наследование и полиморфизм.

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

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

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


2.4 Особенности применения объектного подхода

Объекты - сущности, инкапсулирующие данные, - это основные элементы, моделирующие реальный мир. В отличие от структурного подхода, где основное внимание уделяется функциональной декомпозиции, в объектном подходе предметная область разбивается на некоторое множество относительно независимых сущностей - объектов [5]. Объектная декомпозиция, отраженная в спецификациях и кодах приложений, есть главное отличие объектного подхода. Например, объект "Покупатель" может представлять собой структуру данных, хранящую детализированную информацию о покупателе: его имя, адрес и состояние банковского счета.

Класс объектов, кроме структур данных, определяет функции (методы), применимые к этим структурам.

В примере с объектом "Покупатель" класс может содержать такие функции (методы), как проверить кредитоспособность, выставить счет и т. д. Класс - это ключевой элемент, обеспечивающий модульность в проектных спецификациях ИС и программных решениях.

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

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

3. Применение технологии «клиент-сервер»


3.1 Одноранговая модель

Одноранговая вычислительная сеть (одноранговая ЛВС, децентрализованная ЛВС, пиринговая сеть; peer-to-peer LAN, peer LAN, P2P) – «безсерверная» организация построения сети, которая допускает включение в нее как компьютеров различной мощности, так и терминалов ввода-вывода. Термин «одноранговая сеть» означает, что все терминалы сети имеют в ней одинаковые права. Каждый пользователь одноранговой сети может определить состав файлов, которые он предоставляет для общего использования (так называемые public files).

Пользователи одноранговой сети могут работать как со всеми своими файлами, так и с файлами, предоставляемыми другими ее пользователями. Подключение отдельных ЭВМ в одноранговую сеть производится преимущественно высокочастотными коаксиальными кабельными линиями связи.

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

После появления в 1999 году в Интернете специализированного сервиса по обмену музыкальными файлами (файлообменная система Napster) стали популярными пиринговые сети, которые предназначены для обмена файлами между их пользователями и работают по технологии P2P. Общий принцип работы распределенных пиринговых сетей следующий: клиентская программа передает в сеть списки файлов, которые она может предоставить для скачивания и которые она хочет получить. При этом, если поиск подходящих партнеров осуществляется с помощью сервера, а сами данные качаются напрямую, то такая модель называется централизованной. Если любые компьютеры сети могут одновременно выполнять функции и клиентов и серверов, то такая модель называется децентрализованной. Сеть, поддерживающая оба режима работы, называется гибридной.


Одноранговая ЛВС предоставляет возможность такой организации работы компьютерной сети, при которой каждая рабочая станция одновременно может быть и сервером. Преимущество одноранговых сетей заключается в том, что разделяемыми ресурсами могут являться ресурсы всех компьютеров в сети и нет необходимости копировать все используемые сразу несколькими пользователями файлы на сервер. В принципе, любой пользователь сети имеет возможность использовать все данные, хранящиеся на других компьютерах сети, и устройства, подключенные к ним. Затраты на организацию одноранговых вычислительных сетей относительно небольшие. Однако при увеличении числа рабочих станций эффективность их использования резко уменьшается. Пороговое значение числа рабочих станций, по оценкам фирмы lNovell, составляет 25. Поэтому одноранговые ЛВС используются только для небольших рабочих групп.

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

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

Пример одноранговой сети:

Рис. 1

3.2 Серверы и клиенты трудятся вместе

Роль серверов состоит в обеспечение централизованной защиты и управлении трафиком, а так же в предоставление клиентам ресурсов: информации, приложений и доступа к устройствам совместного пользования (например, к принтерам). В клиент-серверной среде в роли клиентов выступают настольные ПК (именно ПК, а не неинтеллектуальные терминалы!) под управлением операционной системы типа Windows 95 или Windows NT Workstation. Как правило, клиент использует собственные вычислительные мощности для обработки информации, полученной от сервера, но полагается на сервер в части предоставления необходимых данных и приложений. Такое распределение ролей в обработке информации носит название клиентской (front – end) и серверной (back – end) обработки.

Наряду с успешным функционированием в собственной «родной» среде, сети модели клиент – сервер могут работать с микрокомпьютерами и мэйнфреймами. Именно эта гибкость в сочетании достаточно низкой (по сравнению с традиционными решениями) стоимостью и составляет привлекательность клиент – серверных сетей. Работая в такой среде на компьютере – клиенте, можно «вкушать плоды» трех разных методов обработки информации: автономной работы, взаимодействия с другими ПК сети и подключения к серверу или мэйнфрейму для доступа к хранящейся там информации (так сказать, главное блюдо).