Главная страница

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


Скачать 1 Mb.
НазваниеУчебное пособие издано при поддержке образовательной программы Формирование
АнкорАрхитектура распределенных систем программного обеспечения
Дата13.01.2023
Размер1 Mb.
Формат файлаdocx
Имя файлаmdwrbook.docx
ТипУчебное пособие
#885216
страница11 из 36
1   ...   7   8   9   10   11   12   13   14   ...   36

Привязка клиента к объекту


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

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

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


После того, как клиент свяжется с объектом, он может через заместителя обратиться к методам объекта. Основное различие между моделями RMI и RPC состоит в том, что RMI в основном поддерживает внутрисистемные ссылки на объекты. Стандартный для RMI способ поддержки – описание интерфейсов объектов на языке определения интерфейсов (как в RPC). Такой подход называется статическим обращением. Статическое обращение требует, чтобы интерфейсы объекта при разработке клиентского приложения были известны. Одновременно предполагается, что при изменении интерфейса клиентское приложение перед использованием будет заново откомпилировано.

Иногда удобнее собирать параметры перед обращением к методу во время исполнения программы. Этот процесс называется динамическим обращением. Отличие от статического способа в том, что приложение выбирает, какой метод удаленного объекта вызвать во время выполнения, передавая процедуре динамического вызова идентификатор этого метода.
        1. Передача параметров в модели RMI


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

Однако использование только распределенной схемы обращения может приводить к потере эффективности, в особенности, если объекты просты (целые числа, логические значения). Если клиент не находится на том же сервере, что и сам объект, то каждое его обращение порождает запрос между различными адресными пространствами, а может быть и между разными машинами. Поэтому работа со ссылками на реально удаленные и локальные объекты происходит по-разному.

Копирование ссылки при передаче объекта в качестве параметра происходит только тогда, когда она относится к удаленному объекту. Если же ссылка относится к локальному объекту, то есть к объекту в адресном пространстве клиента, то клиенту передается сам объект.
      1. Брокеры объектов


На основе модели RMI было создано множество реализаций, значительно облегчивших создание объектно-ориентированных распределенных приложений. В своей основе брокеры объектов представляют системное программное обеспечение, поддерживающее способность объектов к взаимодействию. Описание их базовых принципов будет проведена на примере наиболее известного брокера объектов.

Стандарт Common Object Request Broker Architecture (CORBA) – это архитектура и спецификация для создания и управления объектно- ориентированными приложениями, распределенными в вычислительной сети. В настоящее время выработано несколько версий стандарта CORBA,

которые вводят стандартизованную спецификацию брокера объектов, но не содержат никакой реализации.
        1. 1   ...   7   8   9   10   11   12   13   14   ...   36


написать администратору сайта