- •Распределенные информационные системы
- •Тема 1. Введение в распределенные системы (3 ч)
- •3. Концепции аппаратных решений
- •1. Что такое распределенная система?
- •2. Основные задачи распределенной обработки
- •2.1. Прозрачность
- •2.2. Открытость
- •2.3. Масштабируемость (возможность расширения)
- •3. Концепции аппаратных решений
- •4. Концепции программных решений
- •5. Модель Клиент-сервер
- •6. Итоги
- •Тема 2. Модели взаимодействия компонентов рс (2 часа)
- •2.1 Понятие промежуточной среды
- •2.2 Модели взаимодействия компонентов рс
- •2.2.1 Обмен сообщениями
- •2.2.2 Удаленный вызов процедур
- •2.2.3 Обращение к удаленным объектам (rmi)
- •2.2.4 Связь на основе потоков данных
- •Тема 3. Распределенные системы объектов (4 часа)
- •Задачи построения рис
- •Преимущества использования
- •Повторное использование кода
- •Изолированная разработка
- •Сопровождение приложений
- •Тонкие клиенты
- •3.2 Объектная модель corba
- •Объектная модель corba
- •Базовый объектный адаптер boa
- •Динамический интерфейс вызова (dii)
- •Репозиторий интерфейсов (Interface Repository)
- •Протоколы взаимодействия различных объектных брокеров (giop, iiop)
- •Основные службы (сервисы) стандарта corba
- •Достоинства orb
- •Выводы. Достоинства и недостатки использования corba
- •Технология ActiveX – основные возможности
- •Технология ole – связывание и вставка объектов
- •3.3.2 Распределенная компонентная модель объектов (dcom)
- •Обеспечение безопасного доступа к удаленному объекту
- •Достоинства и недостатки dcom
- •Балансировка нагрузки
- •Just-in-time-активация и пул объектов
- •Распределенные транзакции
- •Отложенные компоненты
- •Тема 4 Разработка распределенных приложений на платформе Microsoft.Net Framework
- •4.1. Основы платформы .Net Framework
- •4.2 Введение в среду Common Language Runtime
- •Примеры программ для платформы ms.Net
- •Первая программа на c#
- •Первая программа на vb.Net
- •4.3 Преимущества платформы ms.Net
- •4.4 Поддержка средств распределенной разработки
- •4.5 Сервисы и интерфейс программной компоненты
- •4.6 Среда Microsoft Message Queuing (msmq)
- •Базовая модель ejb
- •Средства защиты ejb
- •Транзакции
- •Тема 5. Современные технологи разработки распределенных систем
- •5.1 Технология Web-сервисов
- •5.1.1 Основы Web-сервисов
- •Общее взаимопонимание
- •5.1.2 Взаимодействие с веб-сервисами
- •Документно-ориентированные взаимодействия
- •5.1.3. Технология веб-сервисов
- •5.1.4. Пример использования
- •5.2. Определение сервисно-ориентированной архитектуры
- •5.3. Преимущества soa
- •5.4 Стек технологий веб-сервисов
- •5.5. Принципы взаимодействия веб-сервисов в рамках сервисно-ориентированной архитектуры
- •Тема 7. Распределенные бд
- •7.1. Свойства рбд
- •7.2. Механизм распределенных транзакций
- •7.3. Целостность данных
- •7.4 Прозрачность расположения
- •7.5. Обработка распределенных запросов
- •7.7. Технология тиражирования данных
- •7.8 Архитектура "клиент-сервер"
3. Концепции аппаратных решений
Существуют разные способы организации процессоров в единую РС (вариантов соединения и организации взаимного обмена).
Для простоты, все компьютеры в РС мы можем разделить на две группы. Системы, в которых компьютеры используют совместно память, называются мультипроцессорами, а работающие каждый со своей памятью – мультикомпьютерами. Основная разница между ними – первые имеют единое адресное пространство, которое используется всеми процессорами. В мультикомпьютерах каждая машина использует свою память (пример, обычная сеть компьютеров). Каждую из этих категорий можно подразделить на дополнительные категории на основе их физической топологии, например, шинная и коммутируемая (например, звезда и др.).
Мультикомпьютерные системы разделяют также на гомогенные (homogeneous) и гетерогенные (heterogeneous). В первых используется одна компьютерная сеть, использующая единую технологию, однотипные процессоры. Такие системы часто используются в качестве параллельных (как и мультипроцессорные). Пример –кластеры рабочих станций.
Гетерогенные системы содержат независимые компьютеры, соединенные разными сетями (например, могут состоять из нескольких локальных сетей, соединенных коммутируемой магистралью FDDI или ATM).
4. Концепции программных решений
Хотя аппаратные решения важны для РС, наибольшее влияние на них оказывают именно программные решения. Эти решения влияют, в первую очередь, на удобство работы пользователя в РС. С одной стороны, РС работают как менеджеры ресурсов, помогая пользователям совместно использовать такие ресурсы как память, процессоры, периферийное оборудование, сеть и данные. В этом они подобны ОС. С другой – РС скрывают сложность и гетерогенность аппаратуры, предоставляя виртуальную машину для выполнения приложений.
Эти функции обычно выполняют ОС. Для распределенных компьютеров ОС можно разделить на две категории: сильно связанные и слабо связанные. Сильно связанные ОС обычно называются распределенными ОС (Distributed Operation System, DOS) и используются для управления мультипроцессорными и гомогенными мультикомпьютерными системами. Основная их цель – скрыть тонкости управления аппаратным обеспечением.
Слабо связанные ОС называются сетевыми ОС (Network Operation System, NOS). Они используются для управления гетерогенными мультикомпьютерными системами. Помимо традиционных функций управления ресурсами, они должны обеспечить доступ удаленных клиентов к локальным службам.
Для создания РС служб сетевой ОС недостаточно. Необходимо добавить к ним дополнительные компоненты для организации поддержки прозрачности распределения. Эти компоненты образуют средства промежуточного уровня (middleware). Таким образом, основную роль в построении РС играют программные средства (службы) промежуточного уровня, между ОС и распределенными приложениями. На рис. 1 приведена общая структура РС с промежуточным уровнем.
Рис. 1.1 Общая структура РС с промежуточным уровнем.
Модели промежуточного уровня.
Для упрощения разработки и интеграции РС, основная часть промежуточного ПО должна базироваться на некоторой модели, определяющей распределение и связь. Самая простая ранняя модель – представление всех объектов в виде файлов (распределенная файловая система). Пример – файловая система Unix.
Вторая ранняя модель основана на удаленных вызовах процедур (Remote Procedure Calls, RPC). В этой модели акцент делается на сокрытии сетевого обмена за счет того, что процессу разрешается вызывать процедуры, реализация которых находится на удаленной машине. При вызове процедуры параметры передаются на удаленную машину, где она выполняется, после чего управление передается в точку вызова процедуры. Внешне это выглядит как обычный вызов процедуры.
Более современные модели основаны на взаимодействии распределенных объектов. Например – DCOM, CORBA. Идея распределенных объектов состоит в том, что каждый объект реализует интерфейс, скрывающий все внутренние детали реализации объекта от пользователя. Интерфейс содержит методы, реализуемые объектом, и все, что видит процесс – это интерфейсы.
В Web применяется модель распределенных документов. В этой модели информация организована в виде документов, каждый из которых размещен в каком-то месте, причем физическое размещение документа скрыто от пользователя (прозрачно). Документы могут содержать ссылки на другие документы, которые могут быть извлечены и отображены на экран.
Службы (сервисы) промежуточного уровня
Эти службы предназначены для обеспечения основных характеристик РС, прежде всего прозрачности, открытости и масштабируемости. Все ПО промежуточного уровня должно поддерживать прозрачность доступа путем предоставления высокоуровневых средств связи, скрывающих низкоуровневую пересылку сообщений по сети. Интерфейс транспортного уровня (IP), который предоставляется сетевой ОС, полностью заменяется другими средствами. Способ, которым поддерживается связь, зависит от модели распределения, предлагаемой ПО промежуточного уровня. Это упоминавшийся нами RPC и системы распределенных объектов. Кроме того, системы промежуточного уровня предоставляют средства для прозрачного доступа к распределенным БД, файловым системам, документам Web.
Важная служба, общая для всех систем промежуточного уровня – именование (naming). В Web любой документ поименован посредством URL, содержащим имя сервера, на котором находится документ с данным URL.
Другая важная служба – обеспечение сохранности данных. Пример – механизм распределенных транзакций.
Еще одна важная общая служба – обеспечение защиты программ и данных. Основная проблема защиты в системах промежуточного уровня – в распределенности. В сочетании с требованием расширяемости защита превращается в одну из наиболее трудно реализуемых в РС служб.
