🗊Презентация Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5

Нажмите для полного просмотра!
Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №1Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №2Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №3Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №4Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №5Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №6Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №7Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №8Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №9Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №10Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №11Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №12Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №13Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №14Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №15Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №16Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №17Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №18Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №19Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №20Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №21Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №22Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №23Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №24Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №25Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №26Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №27Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №28Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №29Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №30Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №31Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №32Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №33Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №34Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №35Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №36Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №37Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №38Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №39Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №40Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5, слайд №41

Содержание

Вы можете ознакомиться и скачать презентацию на тему Remote Method Invocation. Порядок разработки и запуска RMI-приложений. Нововведения в Java 5. Доклад-сообщение содержит 41 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Remote Method Invocation
Описание слайда:
Remote Method Invocation

Слайд 2





План лекции
Общие принципы RMI
Элементы распределенной системы RMI
Порядок разработки и запуска RMI-приложений
Нововведения в Java5
Описание слайда:
План лекции Общие принципы RMI Элементы распределенной системы RMI Порядок разработки и запуска RMI-приложений Нововведения в Java5

Слайд 3





Remote Method Invocation
Основной принцип: 
определение поведения и реализация этого поведения считаются разными понятиями
RMI дает возможность разделить и выполнить на разных JVM 
код, определяющий поведение, и 
код, реализующий поведение
Описание слайда:
Remote Method Invocation Основной принцип: определение поведения и реализация этого поведения считаются разными понятиями RMI дает возможность разделить и выполнить на разных JVM код, определяющий поведение, и код, реализующий поведение

Слайд 4





Remote Method Invocation
В RMI удаленная служба определяется при помощи интерфейса Java 
Реализация удаленной службы кодируется в классе, реализующем интерфейс
Ключ к пониманию RMI:
интерфейсы определяют поведение
классы определяют реализацию
Описание слайда:
Remote Method Invocation В RMI удаленная служба определяется при помощи интерфейса Java Реализация удаленной службы кодируется в классе, реализующем интерфейс Ключ к пониманию RMI: интерфейсы определяют поведение классы определяют реализацию

Слайд 5





RMI: принцип действия
Интерфейсы Java не содержат исполняемого кода
RMI поддерживает два класса, реализующих один и тот же интерфейс:
первый класс является реализацией поведения и исполняется на сервере
второй класс работает как промежуточный интерфейс для удаленной службы и исполняется на клиентской машине
Описание слайда:
RMI: принцип действия Интерфейсы Java не содержат исполняемого кода RMI поддерживает два класса, реализующих один и тот же интерфейс: первый класс является реализацией поведения и исполняется на сервере второй класс работает как промежуточный интерфейс для удаленной службы и исполняется на клиентской машине

Слайд 6





RMI: принцип действия
Клиентская программа вызывает методы прокси-объекта, RMI передает запрос на удаленную JVM и направляет его в реализацию объекта
Любые возвращаемые из реализации значения передаются назад в прокси-объект и затем в клиентскую программу
Описание слайда:
RMI: принцип действия Клиентская программа вызывает методы прокси-объекта, RMI передает запрос на удаленную JVM и направляет его в реализацию объекта Любые возвращаемые из реализации значения передаются назад в прокси-объект и затем в клиентскую программу

Слайд 7





Уровни архитектуры RMI
Уровень заглушки и скелета
Уровень удаленной ссылки
Транспортный уровень
Описание слайда:
Уровни архитектуры RMI Уровень заглушки и скелета Уровень удаленной ссылки Транспортный уровень

Слайд 8





Уровень заглушки и скелета
Непосредственно с ним взаимодействует разработчик
Перехватывает вызовы методов, произведенные клиентом при помощи ссылки типа интерфейса, и переадресует их в удаленную службу RMI
Основан на образце проектирования Proxy (Заместитель)
Описание слайда:
Уровень заглушки и скелета Непосредственно с ним взаимодействует разработчик Перехватывает вызовы методов, произведенные клиентом при помощи ссылки типа интерфейса, и переадресует их в удаленную службу RMI Основан на образце проектирования Proxy (Заместитель)

Слайд 9





Уровень удаленной ссылки
Удаленная ссылка (remote reference)
Может включать в себя адрес компьютера, адрес приложения и адрес собственно объекта
Ссылка на удаленный объект должна быть получена в начале работы с этим объектом с помощью службы именования
Этот уровень понимает, как интерпретировать и управлять ссылками на удаленные объекты
Описание слайда:
Уровень удаленной ссылки Удаленная ссылка (remote reference) Может включать в себя адрес компьютера, адрес приложения и адрес собственно объекта Ссылка на удаленный объект должна быть получена в начале работы с этим объектом с помощью службы именования Этот уровень понимает, как интерпретировать и управлять ссылками на удаленные объекты

Слайд 10





Транспортный уровень
Основан на соединениях TCP/IP между сетевыми машинами
Обеспечивает основные возможности соединения и некоторые стратегии защиты от несанкционированного доступа
Поддерживаются протоколы RMI-JRMP и RMI-IIOP
Описание слайда:
Транспортный уровень Основан на соединениях TCP/IP между сетевыми машинами Обеспечивает основные возможности соединения и некоторые стратегии защиты от несанкционированного доступа Поддерживаются протоколы RMI-JRMP и RMI-IIOP

Слайд 11





Вызов удаленного метода
Описание слайда:
Вызов удаленного метода

Слайд 12





Действия при вызове удаленного метода
Заглушка 
Высылает серверу пакет с идентификатором удаленного объекта, описанием вызываемого метода и упакованными параметрами
Получает пакет от сервера, распаковывает результат
Описание слайда:
Действия при вызове удаленного метода Заглушка Высылает серверу пакет с идентификатором удаленного объекта, описанием вызываемого метода и упакованными параметрами Получает пакет от сервера, распаковывает результат

Слайд 13





Передача параметров
	Аргументы методов и возвращаемое значение могут быть следующих типов:
Простые типы
Объектные типы
Удаленные объектные типы
Описание слайда:
Передача параметров Аргументы методов и возвращаемое значение могут быть следующих типов: Простые типы Объектные типы Удаленные объектные типы

Слайд 14





Параметры простых типов
Когда в качестве параметра в удаленный метод передается простой тип данных, RMI передает их по значению
RMI делает копию значения простого типа и передает ее в удаленный метод 
Если метод возвращает значение простого типа, также используется передача по значению
Значения передаются между JVM в стандартном, машинно-независимом формате; это позволяет JVM, работающим на разных платформах, надежно взаимодействовать друг с другом
Описание слайда:
Параметры простых типов Когда в качестве параметра в удаленный метод передается простой тип данных, RMI передает их по значению RMI делает копию значения простого типа и передает ее в удаленный метод Если метод возвращает значение простого типа, также используется передача по значению Значения передаются между JVM в стандартном, машинно-независимом формате; это позволяет JVM, работающим на разных платформах, надежно взаимодействовать друг с другом

Слайд 15





Параметры объектных типов
RMI передает между JVM сам объект, а не ссылку на него, т.е. объект передается по значению
Когда удаленный метод возвращает объект, в вызывающую программу передается копия объекта
Для передачи состояния объекта RMI использует сериализацию: состояние объекта преобразуется в набор байтов, пересылаемых по сети
Описание слайда:
Параметры объектных типов RMI передает между JVM сам объект, а не ссылку на него, т.е. объект передается по значению Когда удаленный метод возвращает объект, в вызывающую программу передается копия объекта Для передачи состояния объекта RMI использует сериализацию: состояние объекта преобразуется в набор байтов, пересылаемых по сети

Слайд 16





Параметры удаленных объектных типов
При передаче в качестве параметра или возвращаемого значения ссылки на заглушку удаленного объекта сериализация не используется
Вместо этого передается удаленная ссылка
Получатель получает для работы локальную ссылку на заглушку удаленного объекта
Это еще один способ получить ссылку на удаленный объект
Описание слайда:
Параметры удаленных объектных типов При передаче в качестве параметра или возвращаемого значения ссылки на заглушку удаленного объекта сериализация не используется Вместо этого передается удаленная ссылка Получатель получает для работы локальную ссылку на заглушку удаленного объекта Это еще один способ получить ссылку на удаленный объект

Слайд 17





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

Слайд 18





Динамическая загрузка классов
Класс заглушки должен быть доступен клиенту
RMI-клиенты могут сами динамически загружать классы заглушек
Также могут быть загружены дополнительные классы, необходимые для передачи параметров
Для обеспечения корректности применяется менеджер безопасности (security manager)
Описание слайда:
Динамическая загрузка классов Класс заглушки должен быть доступен клиенту RMI-клиенты могут сами динамически загружать классы заглушек Также могут быть загружены дополнительные классы, необходимые для передачи параметров Для обеспечения корректности применяется менеджер безопасности (security manager)

Слайд 19





Пример работы
Описание слайда:
Пример работы

Слайд 20





Именование удаленных объектов
Как клиент находит удаленный объект RMI?
Клиенты находят удаленные объекты, используя службу имен или каталогов 
RMI может использовать различные службы, включая Java Naming and Directory Interface (JNDI) 
RMI включает в себя простую службу – реестр RMI (rmiregistry)
Реестр RMI работает на каждой машине, содержащей объекты удаленных служб и принимающей запросы на обслуживание (по умолчанию используется порт 1099)
Описание слайда:
Именование удаленных объектов Как клиент находит удаленный объект RMI? Клиенты находят удаленные объекты, используя службу имен или каталогов RMI может использовать различные службы, включая Java Naming and Directory Interface (JNDI) RMI включает в себя простую службу – реестр RMI (rmiregistry) Реестр RMI работает на каждой машине, содержащей объекты удаленных служб и принимающей запросы на обслуживание (по умолчанию используется порт 1099)

Слайд 21





На стороне сервера
Программа сервера создает удаленный объект, создавая локальный объект, реализующий нужную функциональность
Затем программа экспортирует этот объект в RMI
Как только объект экспортирован, RMI создает службу прослушивания, ожидающую соединения с клиентом и запроса к объекту
После экспорта сервер регистрирует объект в реестре RMI, используя публичное имя
Описание слайда:
На стороне сервера Программа сервера создает удаленный объект, создавая локальный объект, реализующий нужную функциональность Затем программа экспортирует этот объект в RMI Как только объект экспортирован, RMI создает службу прослушивания, ожидающую соединения с клиентом и запроса к объекту После экспорта сервер регистрирует объект в реестре RMI, используя публичное имя

Слайд 22





На стороне клиента
Доступ к реестру RMI обеспечивается через статический класс Naming
Он предоставляет метод lookup(), который клиент использует для запросов к реестру
Метод принимает URL, указывающий на имя хоста и имя требуемой службы
URL принимает следующий вид: 
rmi://<host_name> [:<name_service_port>] /<service_name> 
Метод возвращает удаленную ссылку на объект
Описание слайда:
На стороне клиента Доступ к реестру RMI обеспечивается через статический класс Naming Он предоставляет метод lookup(), который клиент использует для запросов к реестру Метод принимает URL, указывающий на имя хоста и имя требуемой службы URL принимает следующий вид: rmi://<host_name> [:<name_service_port>] /<service_name> Метод возвращает удаленную ссылку на объект

Слайд 23





Основные элементы распределенной RMI-системы
Интерфейс удаленного объекта
Класс, реализующий удаленный объект
Файлы классов stub'а и skeleton'а.
Программа серверной части
Служба именования RMI
Провайдер файлов классов (HTTP- или FTP- сервер) 
Программа-клиент
Описание слайда:
Основные элементы распределенной RMI-системы Интерфейс удаленного объекта Класс, реализующий удаленный объект Файлы классов stub'а и skeleton'а. Программа серверной части Служба именования RMI Провайдер файлов классов (HTTP- или FTP- сервер) Программа-клиент

Слайд 24





Соглашения именования классов
Описание слайда:
Соглашения именования классов

Слайд 25





Порядок разработки серверной части
Определение интерфейса удаленного объекта
Написание класса, реализующего этот интерфейс
Создание программы серверной части, которая реально создает объект и регистрирует его
Запуск специального компилятора (rmic), автоматически создающего код для заглушки
Описание слайда:
Порядок разработки серверной части Определение интерфейса удаленного объекта Написание класса, реализующего этот интерфейс Создание программы серверной части, которая реально создает объект и регистрирует его Запуск специального компилятора (rmic), автоматически создающего код для заглушки

Слайд 26





Описание интерфейса
Product
Описание слайда:
Описание интерфейса Product

Слайд 27





Реализация интерфейса
ProductImpl
Описание слайда:
Реализация интерфейса ProductImpl

Слайд 28





Сервер
ProductServer
Описание слайда:
Сервер ProductServer

Слайд 29





Порядок работы клиентской части
Запуск менеджера безопасности (Security Manager)
Поиск удаленного объекта
Вызов какого-либо метода удаленного объекта
Описание слайда:
Порядок работы клиентской части Запуск менеджера безопасности (Security Manager) Поиск удаленного объекта Вызов какого-либо метода удаленного объекта

Слайд 30





Клиент
ProductClient
Описание слайда:
Клиент ProductClient

Слайд 31





Файл политики безопасности
Определяет права на доступ к различным ресурсам
Используется менеджером безопасности
Необходимо любому загружаемому коду с любого места разрешить:
Соединяться или принимать соединения по непривилегированным портам (> 1024) с любого хоста
Подключаться к порту 80 (HTTP-порт)
Описание слайда:
Файл политики безопасности Определяет права на доступ к различным ресурсам Используется менеджером безопасности Необходимо любому загружаемому коду с любого места разрешить: Соединяться или принимать соединения по непривилегированным портам (> 1024) с любого хоста Подключаться к порту 80 (HTTP-порт)

Слайд 32





Разделение кода для распределенного приложения
Server
Папка, где располагается сервер
Не должна быть доступна клиенту
Должна содержать, как минимум, следующие файлы:
ProductServer.class
ProductImpl.class
Product.class
ProductImpl_Stub.class
Описание слайда:
Разделение кода для распределенного приложения Server Папка, где располагается сервер Не должна быть доступна клиенту Должна содержать, как минимум, следующие файлы: ProductServer.class ProductImpl.class Product.class ProductImpl_Stub.class

Слайд 33





Разделение кода для распределенного приложения
Client
Папка, где располагается клиент
Должна содержать, как минимум, следующие файлы:
ProductClient.class
client.policy
Если интерфейс удаленного объекта известен заранее, также должна содержать файл:
Product.class
Описание слайда:
Разделение кода для распределенного приложения Client Папка, где располагается клиент Должна содержать, как минимум, следующие файлы: ProductClient.class client.policy Если интерфейс удаленного объекта известен заранее, также должна содержать файл: Product.class

Слайд 34





Разделение кода для распределенного приложения
Download
Содержит классы, используемые с данного сервера
Классы из нее могут быть загружены клиентом динамически
Указывается как значение переменной java.rmi.server.codebase
Должна содержать, как минимум, следующие файлы:
Product.class
ProductImpl_Stub.class
Описание слайда:
Разделение кода для распределенного приложения Download Содержит классы, используемые с данного сервера Классы из нее могут быть загружены клиентом динамически Указывается как значение переменной java.rmi.server.codebase Должна содержать, как минимум, следующие файлы: Product.class ProductImpl_Stub.class

Слайд 35





Запуск серверной части
Запуск программы RMIRegistry
Запуск программы сервера удаленного объекта
Описание слайда:
Запуск серверной части Запуск программы RMIRegistry Запуск программы сервера удаленного объекта

Слайд 36





Запуск клиентской части
Файл политики безопасности должен быть доступен менеджеру безопасности
Запуск производится как запуск обычного приложения Java
Описание слайда:
Запуск клиентской части Файл политики безопасности должен быть доступен менеджеру безопасности Запуск производится как запуск обычного приложения Java

Слайд 37





Нововведения Java5
Стала необязательной компиляция заглушек с помощью rmic
Расширились возможности службы именования
Немного изменился подход к регистрации объекта на сервере
Общие принципы и порядки разработки и работы приложений сохранились
Описание слайда:
Нововведения Java5 Стала необязательной компиляция заглушек с помощью rmic Расширились возможности службы именования Немного изменился подход к регистрации объекта на сервере Общие принципы и порядки разработки и работы приложений сохранились

Слайд 38





Интерфейс и реализация
в стиле Java5
Описание слайда:
Интерфейс и реализация в стиле Java5

Слайд 39





Сервер в стиле Java5
Описание слайда:
Сервер в стиле Java5

Слайд 40






Спасибо за внимание!
Описание слайда:
Спасибо за внимание!

Слайд 41





Дополнительные источники
Хорстманн, К.С. Java2. Библиотека профессионала. Том 2. Тонкости программирования [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010. – 816 с.
Grosso, W. Java RMI [Текст] / William Grosso. – O’Reilly, 2001. – 572 с.
Harold, E.R. Java Network Programming [Текст] / Elliotte Rusty. – O’Reilly, 2004. – 504 с.
Remote Method Invocation home [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html, дата доступа: 21.10.2011.
Trial: RMI [Электронный ресурс]. – Режим доступа: http://download.oracle.com/javase/tutorial/rmi/index.html, дата доступа: 21.10.2011.
jGuru: Remote Method Invocation (RMI) [Электронный ресурс]. – Режим доступа: http://java.sun.com/developer/onlineTraining/rmi/RMI.html, дата доступа: 21.10.2011.
Описание слайда:
Дополнительные источники Хорстманн, К.С. Java2. Библиотека профессионала. Том 2. Тонкости программирования [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010. – 816 с. Grosso, W. Java RMI [Текст] / William Grosso. – O’Reilly, 2001. – 572 с. Harold, E.R. Java Network Programming [Текст] / Elliotte Rusty. – O’Reilly, 2004. – 504 с. Remote Method Invocation home [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html, дата доступа: 21.10.2011. Trial: RMI [Электронный ресурс]. – Режим доступа: http://download.oracle.com/javase/tutorial/rmi/index.html, дата доступа: 21.10.2011. jGuru: Remote Method Invocation (RMI) [Электронный ресурс]. – Режим доступа: http://java.sun.com/developer/onlineTraining/rmi/RMI.html, дата доступа: 21.10.2011.



Похожие презентации
Mypresentation.ru
Загрузить презентацию