проблема физического распределения приложений по компьютерамклиентам в модели «клиент – сервер». Общая структура 3 уровней распределенной системы:
Виды архитектур РИС:
Программные решения могут реализовываться в виде минимальных функций интерфейса пользователя на клиенте (тонкий клиент) или передавать клиенту всю работу с пользовательским интерфейсом (толстый клиент). В этих случаях графический интерфейс с помощью протокола приложения отделяется от приложений и связывается с остальной частью приложения, находящейся на сервере. Внешний интерфейс позволяет реализовать функцию предоставления интерфейса приложения.
Следующим видом архитектуры «клиент – сервер» является трехзвенная архитектура. В данной системе интерфейс пользователя, логика приложений и доступ к данным вынесены в самостоятельные подсистемы, работающие на независимых компьютерах. При такой организации архитектуры программы уровня обработки хранятся на отдельном сервере (сервере приложений) или могут частично находиться на машинах клиентов и серверов. Типичным примером является обработка транзакций, при которой каждый отдельный процесс координирует все транзакции.
Вопросы для рассмотрения: Открытость. Масштабируе-
мость. Устойчивость. Безопасность. Поддержание логической целостности данных. Эффективность. Система DNS.
Рекомендуемая литература: 1.
Перечень дополнительных ресурсов: 1, 2, 3, перечень ресурсов в сети Интернет.
Наименование вида самостоятельной работы: изучение ли-
тературы, подготовка отчетов к лабораторной работе.
Чтобы достигнуть цели своего существования – улучшения выполнения запросов пользователя – распределенная система должна удовлетворять некоторым необходимым требованиям. Можно сформулировать следующий набор требований, которым в наилучшем случае должна удовлетворять распределенная вычислительная система.
–Открытость. Все протоколы взаимодействия компонент внутри распределенной системы в идеальном случае должны быть основаны на общедоступных стандартах. Это позволяет использовать для создания компонент различные средства разработки и операционные системы. Каждая компонента должна иметь точную и полную спецификацию своих сервисов. В этом случае компоненты распределенной системы могут быть созданы независимыми разработчиками. При нарушении этого требования может исчезнуть возможность создания распределенной системы, охватывающей несколько независимых организаций.
–Масштабируемость. Масштабируемость вычислительных систем имеет несколько аспектов. Наиболее важный из них для данного курса – возможность добавления в распределенную систему новых компьютеров для увеличения производительности системы, что связано с понятием балансировки нагрузки ( load balancing ) на серверы системы. К масштабированию относятся так же вопросы эффективного распределения ресурсов сервера, обслуживающего запросы клиентов.
–Поддержание логической целостности данных. Запрос пользователя в распределенной системе должен либо корректно выполняться целиком, либо не выполняться вообще. Ситуация, когда
часть компонент системы корректно обработали поступивший запрос,
ачасть – нет, является наихудшей.
–Устойчивость. Под устойчивостью понимается возможность дублирования несколькими компьютерами одних и тех же функций или же возможность автоматического распределения функций внутри системы в случае выхода из строя одного из компьютеров. В идеальном случае это означает полное отсутствие уникальной точки сбоя, то есть выход из строя одного любого компьютера не приводит к невозможности обслужить запрос пользователя.
–Безопасность. Каждый компонент, образующий распределенную систему, должен быть уверен, что его функции используются авторизированными на это компонентами или пользователями. Данные, передаваемые между компонентами, должны быть защищены как от искажения, так и от просмотра третьими сторонами.
–Эффективность. В узком смысле применительно к распределенным системам под эффективностью будет пониматься минимизация накладных расходов, связанных с распределенным характером системы. Поскольку эффективность в данном узком смысле может противоречить безопасности, открытости и надежности системы, следует отметить, что требование эффективности в данном контексте является наименее приоритетным.
–Классическим примером системы, в значительной мере отвечающей всем представленным выше требованиям, является система преобразования символьных имен в сетевые IP-адреса (DNS). Система имен – организованная иерархически распределенная система, с дублированием всех функций между двумя и более серверами:
Вопросы для рассмотрения: Модель взаимодействия вычислительных систем. Гетерогенная распределенная система.
Рекомендуемая литература: 1.
Перечень дополнительных ресурсов: 1, 3, перечень ресурсов в сети Интернет.
Наименование вида самостоятельной работы: изучение литературы и написание конспектов.
С точки зрения одного из компьютеров распределенной системы, все другие входящие в нее машины являются удаленными вычислительными системами. Теоретической основой сетевого взаимодействия удаленных систем является общеизвестная модель взаимодействия открытых систем OSI/ISO, которая разделяет процесс взаимодействия двух сторон на семь уровней: физический, канальный, сетевой, транспортный, сеансовый, прикладной, представительский.
Промежуточная среда РИС – это среда, которая помогает разработчикам создать открытые, масштабируемые и устойчивые распределенные системы.
Для достижения этой цели промежуточная среда должна
обеспечить сервисы для взаимодействия компонентов распределенной системы. К таким сервисам относятся:
–обеспечение единого и независимого от операционной системы механизма использования одними программными компонентами сервисов других компонент;
–обеспечение безопасности распределенной системы: аутентификация и авторизация всех пользователей сервисов компоненты и защита передаваемой между компонентами информации от искажения и чтения третьими сторонами;
–обеспечение целостности данных: управление транзакциями, распределенными между удаленными компонентами системами;
–балансировка нагрузки на серверы с программными компонентами;
–обнаружение удаленных компонент.
В разрезе одной распределенной системы могут использоваться несколько типов промежуточных сред. При проектировании распределенной системы каждая ее компонента предоставляет свои сервисы средствами единственной промежуточной среды и использует службы других компонент посредством этой же или другой промежуточной среды – эти среды могут быть различными.
При выделении промежуточного уровня изменяется базовая модель OSI. Промежуточный уровень включает в себя сеансовый уровень и уровень представления и содержит протоколы независящие от приложений.
Вопросы для рассмотрения: Использование удаленных объектов. Модель единственного вызова. Режим единственного вызова удаленного метода. Модель единственного экземпляра. Активация по запросу клиента. Состояние компоненты распределенной системы.
Рекомендуемая литература: 1.
Перечень дополнительных ресурсов: 2, 3, перечень ресурсов в сети Интернет.
Наименование вида самостоятельной работы: изучение ли-
тературы и подготовка к практическим занятиям; выполнение контрольной работы.