Интерфейсы: основа RMI
Цель работы Ознакомиться с RMI. Написать клиент RMI и сервер RMI.
Что такое RMI?
Java RMI (Remote Method Invocation – удаленный вызов методов) представляет собой тип удаленного вызова процедур, независимый от сети, облегченный и полностью переносимый, так как написан на языке Java. Основные шаги работы с RMI: 1. Определите (или найдите) удаленный интерфейс, согласованный с сервером. 2. Напишите код сервера. 3. Запустите программу rmic (Java RMI stub compiler – компилятор заглушек RMI) для генерации связующего кода. 4. Напишите код клиента. 5. Убедитесь, что на сервере запущен RMI реестр (программа rmiregistry). 6. Запустите сервер. 7. Запустите одного или нескольких клиентов. Процедуры RMI определяют с помощью известного механизма Java – интерфейсов. Удаленные нтерфейсы долдны быть подклассами java.rmi. Remote, при этом и клиент и сервер должны находиться в одном пакете Java. Все параметры удаленных методов должны относиться или к примитивным типам (int, double и т.п.), либо реализовывать интерфейс java.io. Serializable. Введение в распределенные вычисления с использованием RMI Технология Remote Method Invocation (RMI), впервые представленная в JDK 1.1, продвинула сетевое программирование на более высокий уровень. Хотя RMI относительно проста в использовании, она является необыкновенно мощной технологией и раскрывает перед обычным Java‑программистом полностью новую парадигму – мир распределенных объектных вычислений. Этот курс представляет собой углубленное введение в эту универсальную технологию. RMI получила значительное развитие в JDK 1.1 и во многом была улучшена в Java 2 SDK. При необходимости, различия между этими двумя версиями будут отмечены. Цели Главной целью разработчиков RMI было предоставление возможности программистам разрабатывать распределенные Java‑программы, используя такие же синтаксис и семантику, как и при разработке обычных нераспределенных программ. Для этого они должны были преобразовать модель работы классов и объектов в одной виртуальной машине Java™ (JVM) в новую модель работы классов и объектов в распределенной (несколько JVM) вычислительной среде. Сравнение распределенных и нераспределенных Java ‑программ Разработчики RMI стремились сделать использование распределенных Java‑объектов таким же, как и использование локальных объектов. В следующей таблице перечислены некоторые важные отличия. Не беспокойтесь о том, что не все отличия вам понятны. Все прояснится после рассмотрения архитектуры RMI. Вы можете использовать эту таблицу в качестве ссылки во время изучения RMI.
Архитектура Java RMI Целью разработки архитектуры RMI было создание распределенной объектной модели Java, которая свободно интегрируется в язык программирования Java и локальную объектную модель. Разработчики RMI достигли этой цели; была создана система, которая переносит безопасность и устойчивость архитектуры Java в мир распределенных вычислений. Интерфейсы: основа RMI Архитектура RMI основана на одном важном принципе: определение поведения и реализация этого поведения считаются разными понятиями. RMI дает возможность разделить и выполнить на разных JVM код, определяющий поведение, и код, реализующий поведение. Это прекрасно соответствует требованиям распределенных систем, в которых клиенты знают об определениях служб, а серверы предоставляют эти службы. Конкретно в RMI определение удаленной службы кодируется при помощи интерфейса Java. Реализация удаленной службы кодируется в классе. Таким образом, ключ к пониманию RMI – помнить, что интерфейсы определяют поведение, а классы определяют реализацию. Следующий рисунок иллюстрирует это разделение: Помните, что интерфейсы Java не содержат исполняемого кода. RMI поддерживает два класса, реализующих один и тот же интерфейс. Первый класс является реализацией поведения и исполняется на сервере. Второй класс работает как промежуточный интерфейс для удаленной службы и исполняется на клиентской машине. Это показано на следующей диаграмме. Клиентская программа вызывает методы прокси-объекта, RMI передает запрос на удаленную JVM и направляет его в реализацию объекта. Любые возвращаемые из реализации значения передаются назад в прокси-объект и затем в клиентскую программу.
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (255)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |