Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Обращение к удаленным объектам. Привязка клиента к объекту. Статическое и динамическое удаленное обращение к методам. Передача параметров. DCE, RMI

Пример – DSE RPC.

DSE – Distributed Computing Environment – среда распределенных вычислений была разработана организацией OSF (Open Software Foundation), которая сейчас переименована в Open Group. Спецификация DSE не настолько популярна, как например Sun RPC, но она адаптирована к решениям Microsoft.

Это – программное обеспечение, которое может устанавливаться на ряде операционных систем (UNIX, Windows NT, VMS), после установки которого пользователь может запускать распределенные приложения и обычные. Некоторая часть DSE работает в ядре, поэтому OG распространяет исходный текст, а разработчики встраивают нужное в свои операционные системы. Большая часть DSE работает в пользовательском адресном пространстве.

В основе DSE лежит модель клиент-сервер. Процессы пользователей выступают как клиенты, вызывающие службы, предоставляемые серверными процессами. Некоторые из этих служб являются составными частями DSE, а некоторые написаны прикладными программистами. Связь между клиентами и серверами осуществляется посредством RPC.

Существуют следующие службы DSE:

Служба распределенных файлов

Служба каталогов

Служба защиты

Служба распределенного времени.

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

Служба каталогов используется для хранения информации о местонахождении любого ресурса системы. Для процессов обеспечивается прозрачность местоположения.

Служба защиты обеспечивает защиту всех ресурсов системы.

Служба распределенного времени позволяет поддерживать глобальную синхронизацию часов различных машин.

Система RPC автоматически отслеживает преобразование данных. Клиенты и серверы могут быть написаны на разных языках.

Файл определения интерфейса
КОМПИЛЯТОР IDL
Код клиента Код клиентской заглушки Заголовочный файл Код серверной заглушки Код сервера
КОМПИЛЯТОР С
Объектный файл клиента Объектный файл клиентской заглушки   Объектный файл серверной заглушки Объектный файл сервера
КОМПОНОВЩИК Библиотека времени выполнения   Библиотека времени выполнения КОМПОНОВЩИК
Исполняемый файл клиента       Исполняемый файл сервера

 

 

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

Передача параметров удаленной процедуре – достаточно сложная задача.

Во-первых, здесь невозможно использовать такой тип передачи параметров как «по ссылке», так как передавать адрес в оперативную память клиентского компьютера абсолютно бессмысленно. В распределенных системах реализуется передача параметров «копирование-вставка», при котором значение фактического параметра сначала копируется в передаваемый сетевой пакет клиента, затем измененное значение копируется сервером в пакет-ответ, а на клиентской стороне значение из ответа копируется в оперативную память клиента.

Во-вторых, при передаче параметров возникают проблемы аппаратной несовместимости. Таким образом, в функции среднего слоя включается преобразование форматов данных. Это можно выполнить либо путем преобразования клиентского формата в серверный формат и наоборот. Либо путем преобразования клиентского формата в некоторый промежуточный формат, затем промежуточного – в серверный, и наоборот.

 

<== предыдущая лекция | следующая лекция ==>
Удаленный вызов процедур. Базовые операции RPC. Расширенные модели RPC | Архитектура системы
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 380; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.