Java RMI

Характеристика Локальный объект Удаленный объект
Определение объекта Класс Java Интерфейс
Реализация объекта Класс Java Класс Java, который реализует удаленный интерфейс
Создание объекта Локальный вызов new На хосте (new)
Доступ Переменная-ссылка Переменная-ссылка, указывающая на реализацию стаба, замещающего удаленный интерфейс
Ссылки на объект Указывает на его расположение в памяти Указатель на стаб в локальной памяти
Активная ссылка Пока есть хотя бы 1 ссылка на объект (в одной JVM) Если к объекту производился доступ в течении определенного времени
Финализация объектов Перед утилизацией сборщиком мусора При удалении всех удаленных ссылок
Сборка мусора При удалении всех локальных ссылок При удалении всех удаленных ссылок и нет локальных

Архитектура RMI основана на разделении определения и реализации поведения.

Клиент  
интерфейс
Сервер  
реализация
RMI

Архитектура RMI включает несколько уровней.

Stub (скелеты)
Удаленные ссылки (скелеты)
Stub (скелеты)
Удаленные ссылки (скелеты)
транспортный
Клиент
Сервер
RMI

Уровень заглушек (скелет) перехватывает вызовы методов при помощи переменной ссылки на интерфейс и переадресует их в удаленную службу RMI.

Уровень удаленных ссылок интерпретирует и управляет ссылками на удаленные объекты служб.

Транспортный уровень: все соединения, даже между JVM (Java Virtual Machine), на одном компьютере сочетаются через стек TCP/IP.

Java
Java
ОС
Транспортный ур.
сеть

На вершине стека используется протокол JRMP (Java Remote Method Protocol). Модификация – RMI –IIOP.

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: