Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013-11 Архитектура ИС / Теоретический материал / Учебник по распределеннной обработке информации.doc
Скачиваний:
74
Добавлен:
20.02.2016
Размер:
602.11 Кб
Скачать

Контрольные вопросы и задания

1. Дайте определение понятию «Распределенная обработка информации».

2. Поясните цель и практическое назначение систем распределенных вычислений.

3. Какие факторы определяют возможность так называемого «упрощения» работы пользователя распределенной вычислительной системы?

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

5. Что понимают под свойством прозрачности вычислительной системы и какие «типы прозрачности» определены в эталонной модели Международной организацией по стандартизации?

6. Какие характерные черты приобретает распределенная система в случае применения децентрализованных алгоритмов функционирования?

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

8. Какую основную задачу решает презентационный слой прикладного программного обеспечения?

9. Какими свойствами обладает архитектура вычислительной системы с централизованной обработкой информации?

10. Дайте определение понятиям «клиент» и «сервер».

11. Перечислите и охарактеризуйте варианты архитектурного построения систем распределенной обработки информации.

12. Опишите возможные варианты и особенности построения двухзвенной архитектуры распределенной системы.

13. Поясните принципиальное отличие конфигураций «тонкий» и «толстый» клиент. Каковы их преимущества и недостатки?

14. Какие факторы являются главными недостатками двухзвенной архитектуры распределенных систем?

15. Какие преимущества дает увеличение числа звеньев в системах распределенной обработки информации?

16. Каково назначение промежуточного слоя прикладного программного обеспечения?

17. Каким образом в промежуточном слое программного обеспечения реализуется свойство прозрачности?

18. Охарактеризуйте основные типы программных продуктов промежуточного слоя.

  1. Обзор механизмов реализации распределенной обработки информации

2.1. Распределенная обработка информации

на базе механизма удаленного вызова процедур

Спецификация удаленного вызова процедур (remote procedure call – RPC) поддерживает синхронный режим коммуникаций между двумя прикладными модулями (клиентом и сервером). Для установки связи, передачи вызова и возврата результата клиентский и серверный процессы обращаются к специальным компонентам – клиентскому и серверному переходникам, или заглушкам (от англ. stub – заглушка, переходник). Эти stub-процедуры не реализуют никакой прикладной логики и предназначены только для организации взаимодействия удаленных (в общем случае) прикладных модулей. Каждая функция на сервере, которая может быть вызвана удаленным клиентом, должна иметь такой процесс.

При вызове клиентом удаленной процедуры вначале выполняется локальный вызов процедуры, являющейся частью клиентского переходника. Локальный вызов вместе с параметрами передается клиентскому переходнику. При этом с помощью специального языка описания интерфейсов (Interface Definition Language – IDL) производится определение интерфейса процедуры, то есть описание параметров процедуры, передаваемых ей до выполнения RPC и возвращаемых после завершения RPC. Затем это описание транслируется и производится упаковка данных в формат сообщения – маршалинг (marshaling). Клиентский переходник вызывает локальную операционную систему, которая пересылает сообщение удаленной операционной системе сервера. Удаленная операционная система передает сообщение серверному переходнику, реализующему серверную часть вызова и состоящему из программ получения запроса от клиента, форматирования данных (демаршалинг), вызова реальной процедуры (реализованной на сервере) и возврата результатов клиенту. Клиент блокируется и ждет ответа, а на сервере запускается серверный переходник, преобразующий сообщение в параметры локальной процедуры. Сервер видит вызов как прямое обращение к его локальной процедуре с нужными параметрами, выполняет вызов и передает результаты серверному переходнику. Серверный переходник форматирует результаты работы процедуры в сообщение для клиента и вызывает локальную операционную систему сервера. Операционная система сервера пересылает сообщение операционной системе клиента. Клиент выводится из состояния ожидания, его операционная система принимает сообщение и направляет его клиентскому переходнику, который извлекает результаты из сообщения, передает их клиенту и возвращает клиенту управление.

Принципиальная схема организации удаленного вызова процедур представлена на рис. 2.1.

Рис. 2.1. Принципиальная схема организации удаленного вызова

процедур

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

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

Как и в случае нераспределенной программы, вызов процедуры на удаленном компьютере влечет за собой передачу управления этой процедуре, то есть блокирует выполнение клиентской программы на время обработки вызова.

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

В общем случае механизм RPC создает статические отношения между компонентами распределенного приложения: привязка клиентского процесса к конкретным серверным переходникам происходит на этапе компиляции и не может быть изменена во время выполнения, что является существенным недостатком механизма RPC. Этот недостаток преодолевается в других механизмах и технологиях, рассмотренных далее.

Большинство систем MW категории RPC базируется на стандарте DCE RPC (DCE – Distributed Computing Environment – «среда распределенных вычислений») организации Open Group. Эти системы свободно распространяются в виде исходных кодов и существуют в реализациях ряда поставщиков ПО, которые настраивают этот код на определенную операционную систему. Помимо базового механизма взаимодействия распределенных приложений, в DCE реализованы некоторые важные для распределенной среды службы, такие как служба каталогов, средства защиты и распределенная файловая система.