Студопедия

КАТЕГОРИИ:


Архитектура-(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.

Удаленный вызов процедур. Базовые операции RPC. Расширенные модели RPC.

Распределенные операционные системы. Сетевые операционные системы. Программное обеспечение промежуточного уровня.

Тема 12.???Концепции программных решений. Удаленный вызов процедур. Обращение к удаленным объектам.

Доступ к базам данных с помощью web технологий.

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

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

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

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

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

Удаленный вызов процедур позволяет выполнять всю необходимую работу на удаленном компьютере, например, настройку параметров его работы (удаленное администрирование). Это была первая цель при разработке протокола. Вторая цель – распределение нагрузки. Сложную вычислительную задачу можно поручить более приспособленному для этого компьютеру.

RPC - это двусторонний протокол. На каждом компьютере должен быть RPC сервер и RPC клиент. RPC клиент получает задания от прикладных процессов и обращается к 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(), который получает параметром имя объекта. После чего средний слой пытается разрешить это имя.

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

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

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

 

<== предыдущая лекция | следующая лекция ==>
Доступ к базам данных с помощью технологий DAO | 
Поделиться с друзьями:


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


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



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




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