Файл: Задача данного проекта Процесс создание и разработки программ.docx

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

Категория: Решение задач

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

Добавлен: 11.12.2023

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

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

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


4.1 Характеристики современных распределение систем

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

1. Открытость. Внутри РАС все протоколы взаимодействия компонентов в идеале должны быть основаны на общедоступных стандартах, что позволяет использовать для их создания универсальные средства разработки и операционные системы. При этом каждый компонент должен содержать точную и полную спецификацию своих сервисов.

2.Масштабируемость. Наиболее важный аспект этой характеристики состоит в потенциальной возможности добавления в РАС новых компонентов и компьютеров для увеличения производительности системы и обеспечения балансировки нагрузки на серверы системы. К масштабированию относят также обеспечение эффективного распределения ресурсов сервера, обслуживающего запросы клиентов.

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

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

5. Безопасность. Данные, передаваемые между компонентами, должны быть защищены как от искажения, так и от просмотра третьими сторонами, а функции системы должны использоваться авторизированными на это компонентами или пользователями.

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


4.2 Проблемы проектирование распределенных систем

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

2.Безопасность. Поскольку доступ к системе можно получить с разных компьютеров системы, то сообщения в сети могут просматриваться и перехватываться. Поэтому в РАС намного сложнее поддерживать информационную безопасность.

3.Управляемость. Так как система может состоять из разнотипных компьютеров с разными версиями операционных систем, то ошибки, возникшие на одной машине, могут распространиться на другие с непредсказуемыми последствиями. Поэтому для того, чтобы управлять и поддерживать систему в рабочем состоянии, требуется значительно больше усилий. 4. Непредсказуемость. При возникновении различных событий реакция РАС может быть непредсказуемой, так как она зависит и от полной загрузки системы, и от ее организации и сетевой нагрузки. Причем эти параметры могут периодически изменяться, поэтому и время, потраченное на выполнение запроса пользователя, может существенно различаться. Перечисленные трудности вызывают и соответствующие проблемы проектирования РАС, которые можно разделить на следующие группы.

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

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

2.Коммуникации. Наиболее эффективным способом организации взаимодействия между компьютерами для большинства распределенных систем является Internet и реализация протоколов ТСР/IP. Однако в случаях, когда на производительность, надежность и другие характеристик накладываются специальные требования, можно воспользоваться и другими, альтернативными способами системных коммуникаций.



3.Качество системного сервиса. Под ним обычно понимается производительность, работоспособность и надежность сервиса, предлагаемого системой. Качество сервиса в РАС определяется целым рядом дополнительных факторов, таких как распределение системных процессов, системные и аппаратные средства, возможности адаптации системы.

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

4.3 Основные типы архитектур РАС

Архитектура РАС строится на основании принципов разделения, которые можно разделить на два типа: функциональное и естественное. Функциональное разделение основывается на выделении специфичных задач, решаемых узлами, например клиент – сервер, хост – терминал, сборка данных – обработка данных – предоставление данных. При естественном разделении учитываются требования, определяемые структурой самой задачи автоматизации, например обслуживание сети супермаркетов, сеть для поддержки коллективной работы и др.

Основными мотивами разделения являются:

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

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

3) физический мотив, при котором система строится в предположении, что узлы физически разделены исходя из требования к надежности и устойчивости к сбоям

4) экономические мотивы, так как набор дешевых чипов может обеспечить лучшие показатели отношения цена/производительность, чем мэйнфрэйм

5) специализация компонентов, при которой происходит их упрощение и удешевление

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


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

4.5 Технологии проектирование РАС

В инфраструктуру системной поддержки проектирования РАС входят:

− язык описания интерфейсов

− транслятор с этого языка

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

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

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

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

3. Брокеры объектов. Появились в результате применения объектноориентированного подхода к системам на базе систем удаленного вызова. Такие системы более развиты, чем системы удаленного вызова, хотя и мало от них отличаются. Наиболее распространены брокеры объектов, построенные на основе подхода CORBA, предложенного группой OMG при том, что основная часть их функциональности уже была реализована в транзакционных мониторах. Они были переведены на объектно-ориентированные языки программирования. В настоящее время на смену технологии CORBA пришли стандартизованные протоколы WEB-сервисов, такие как XML, WSDL, SOAP и др.