Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_Распределенные информационные системы.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

2.2.3 Обращение к удаленным объектам (rmi)

Технология RMI (Remote Method Invocation) – это развитие RPC (его объектная реализация).

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

RMI (Remote Method Invocation, т.e. вызов удаленного метода), которая интегрирована с JDK1.1, является продуктом компании JavaSoft и реализует распределенную модель вычислений. RMI позволяет клиентским и серверным приложениям через сеть вызывать методы клиентов/серверов, выполняющихся в Java Virtual Machine. Хотя RMI считается легковесной и менее мощной, чем CORBA и DCOM тем не менее, она обладает рядом уникальных свойств, таких как распределенное, автоматическое управление объектами и возможность пересылать сами объекты от машине к машине.

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

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

При обращении клиента к распределенному объекту управление передаётся программе реализации интерфейса объекта аналогичной клиентской заглушке и называется посредником (proxy). Посредник осуществляет транзит параметров от вызывающей программы к ОС клиентской ЭВМ и обратно как это делает клиентская заглушка. На стороне сервера транзит параметров от ОС сервера к методам объекта и обратно осуществляет аналог серверной заглушке, называемой программа скелетон (каркас). Объекты распределенных систем существуют в формах принятых в том или ином языке программирования (рис. 2.4).

Рис. 2.4. Использование удаленных объектов

Client Stub (переходник для клиента) и Server Stub (переходник для сервера) порождены от общего интерфейса, но различие между ними в том, что client stub служит просто для подсоединения к RMI Registry, а server stub используется для связи непосредственно с функциями сервера.

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

дополнительных понятия:

– активация объекта: процесс перевода созданного объекта в состояние обслуживания удаленного вызова, то есть связывания его с каркасом и посредником.

– деактивация объекта: процесс перевода объекта в неиспользуемое состояние.

Выделяют три модели использования удаленных объектов:

– модель единственного вызова (singlecall),

- модель единственного экземпляра (singleton),

- модель активации объектов по запросу клиента (client activation).

Первых две модели так же иногда называют моделями серверной активации (server activation), хотя, строго говоря, активация всегда происходит на сервере после какого-либо запроса от клиента.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]