
- •1.1.Распределенные системы и приложения
- •1.2.Понятие о рсои
- •1.2.1Понятие распределенной системы
- •1.2.2Определение распределенной системы. Программные компоненты
- •1.3.Примеры рсои
- •1.4.Нефункциональные требования к рсои
- •Масштабируемость
- •Открытость
- •Неоднородность
- •Разделение ресурсов
- •Отказоустойчивость
- •1.5.Прозрачность в рсои
- •1.6.Организация распределенных объектов
- •Сохранные и нерезидентные объекты
- •Способы определения местонахождения ро
- •1.7.Общие сведения о технологии corba
Масштабируемость
Способность системы адаптироваться к будущему росту нагрузки. Проблемы: узкие места по обслуживанию (один сервер для множества клиентов), по данным (один файл с общей информацией), по алгоритмам (централизованный алгоритм и перегрузка коммуникационной сети). Свойства децентрализованных алгоритмов:
Никто не обладает полной информацией о системе
Решения принимаются на основе лекальной информации
Сбой в одном месте не вызывает нарушения работы алгоритма
существования единого времени не требуется
Прозрачность (в следующем билете)
Открытость
Систему можно легко расширять и модифицировать (интеграция новых компонентов, отвечающих новым функциональным требованиям => компоненты должны иметь четко определенные интерфейсы) Правильный интерфейс обеспечивает возможность правильной совместной работы одного процесса с другим, представляющим интерфейс. Самодостаточность и нейтральность. Переносимость характеризует, насколько приложение, сделанное для одной системы, может работать в составе другой. Способность к взаимодействию характеризует, насколько две разные реализации системы в состоянии работать совместно.
Гибкость – легкость конфигурирования системы, состоящей из различных компонентов, и легкость подключения новых компонентов.
Неоднородность
В распределенных системах, компоненты должны объявлять о предлагаемых услугах. Заявки могут быть синхронными/асинхронными. Клиент и сервер могут быть неоднородными. Причины неоднородности:
Компоненты могут приобретаться в готовом виде
При создании нового компонента, на него могут накладываться требования взаимодействия с существующими компонентами
Компоненты создаются разными разработчиками
Используются различные технологии
Разделение ресурсов
Ресурс – аппаратура, ПО, данные. Требуется определить, кому будет разрешен доступ к ресурсу => требуется вести учет пользователей. Менеджер ресурсов – компонент, предоставляющий доступ к разделяемым ресурсам.
Модели взаимодействия:
Клиент-серверная (сервер предоставляет доступ к ресурсам)
Концепция распределенных объектов, предоставляющих доступ к имеющимся у них ресурсам при обращении других компонентов
Отказоустойчивость
Система может продолжать работу даже в случае неисправности => избыточность => применение репликации (при отказе компонента, начинает работать его копия и обслуживание не прекращается)
1.5.Прозрачность в рсои
Имеет несколько различных аспектов:
Прозрачность масштабируемости (обеспечивается 4, 5) - программист не должен знать, как достигается масштабируемость распределенной системы.
Прозрачность производительности (обеспечивается 4, 5) – пользователь и программист не знают, как поддерживается хорошая производительность.
Прозрачность отказа (обеспечивается 5, 6) - пользователям и программистам не требуется знать, как ВС справляется с отказами.
Прозрачность миграции (обеспечивается 7, 8) – перемещение компонентов незаметно для пользователей и без специальных действий со стороны разработчиков этих компонентов
Прозрачность репликации (обеспечивается 7, 8) – пользователям и разработчика не требуется знать, кто предоставляет услугу – реплика или основной компонент. Разработчики компоненты не должны учитывать возможность его репликации
Реплика – копия, которая остается синхронизированной с оригиналом
Прозрачность одновременного выполнения. Означает, что пользователи программы не знают, что компоненты запрашивают услуги одновременно. Несколько компонентов могут запрашивать обслуживание одновременно с сохранением его услов-ти. Пользователи и разработчики не видят, как организуется одновременно обслуживание.
Прозрачность доступа – одинаковость интерфейсов для локальной и удаленной связи (интерфейс заявки на обслуживание должен быть одним и тем же для связи между компонентами одного хоста и разных хостов)
Прозрачность местонахождения – способ вызова операции не зависит от местонахождения компонента (запрашивающему обслуживание объекту не требуется знать о физическом расположении компонента). Клиент не должен знать о местонахождении компонента или его реплики.