Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
92
Добавлен:
07.02.2016
Размер:
789.52 Кб
Скачать

Архитектура java rmi

В RMI стаб и скелетон генерируются с помощью компилятора RMIС на основе интерфейса определения удаленной службе.

Транспортный уровень в RMI реализован на TCP/IP.

RMI включает в себя службу которая называется реестром RMI (rmiregistry). Реестр RMI по умолчанию использует порт 1099.

На стороне клиента доступ к реестру RMI осуществляется с помощью класса Naming. Он представляет метод lookup(), который клиент использует для запросов к реестру.

Метод lookup() принимает URL(Uniform Resouerse Locator) – универсальный указатель ресурса. Он указывает на имя хоста и имя требуемой службы (например: rmi://localhost:1099/имя_службы).

Метод возвращает клиенту удаленную ссылку на обслуживающий объект. Но на самом деле клиент получает ссылку на стаб, действующий в качестве передаточного механизма. Задача стаба и скелетона – маршаллинг и демаршаллинг параметров удаленного вызова и возвращаемых значений.

В JAVA маршаллинг называется сериализацией. Интерфейс активации предназначен для вызова и загрузки байт-кода серверной программы.

Достоинства и недостатки java-rmi

RMI имеет следующие положительные и отрицательные стороны.

Достоинства

Недостатки

  1. Быстрое и простое создание приложений

  2. JAVA-оптимизация

  3. Возможность передачи объекта

  4. Встроенная безопасность

  1. Поддержка только одного языка программирования JAVA

  2. Собственный протокол взаимодействия

  3. Трудность интегрирования с существующими приложениями

  4. Плохая масштабируемость

Благодаря своей легкоиспользуемой JAVA-модели RMI является самым простым и быстрым способом создания распределенных систем.

Поддержка только одного языка программирования делает невозможным взаимодействие с другими объектами написанными не на JAVA.

Таким образом роль JAVA-RMI в создании больших масштабируемых промышленных систем снижается.

Технология corba

Технология CORBA (Common Object Request Broker Architecture) стандарт написания распределенных приложений предложенный консорциумом OMG (Open Management Group). Архитектура CORBA имеет вид:

Назначение стаба и скелетона в технологии CORBA тоже, что и технологиях RPC и Java RMI.

При этом дополнительно на низком уровне они взаимодействуют с ORB.

ORB (Object Request Broker) объектный брокер запросов, определяет отображение типов данных для различных языков программирования, а также управляет взаимодействием объектов CORBA в распределенной сети.

На рынке имеется множество реализаций ORB. Наиболее популярны: Visibroker от фирмы Inprise; Orbix от фирмы IONA Technologes и JAVA ORB – Sun.

ORB взаимодействует в сети с помощью протокола IIOP (Internet Inter ORB Protocol). IIOP одна из реализаций GIOP(General Inter ORB Protocol) который работает поверх любого транспортного протокола.

Каждый ORB должен реализовать переносимый адаптер объекта POA (Portable Object Adapter).

POA используется для связи ORB. Для этих целей он создает объект сервант. Сервант – реализация объекта CORBA на конкретном языке программирования.

В CORBA входит также служба наименований COSNaming (Common Object Service). В частности, она использует IOR(Interoperatibility Object Reference) – стандартную ссылку, содержащую необходимые сведения о серванте и его местоположении в сети.

Средства CORBA реализованы в JAVA начиная с jdk v. 1.2. Эти средства реализованы в пакете org.ong.CORBA и ряде вспомогательных пакетов и носят название JAVA IDL.

Соседние файлы в папке [КОМП СИСТЕМЫ]