
- •Оглавление
- •Java-технологии распределенных компьютерных систем
- •Инструментальные средства java для создания распределенных систем
- •Первая java-программа
- •Интерфейсы
- •Наследование
- •Import имя_пакета.*;
- •Ссылки this и super
- •Исключения
- •Массивы
- •Виртуальная машина java (jvm)
- •Распределенные компьютерные системы и их характеристики
- •Промежуточное программное обеспечение распределенных компьютерных систем
- •Архитектура java rmi
- •Достоинства и недостатки java-rmi
- •Технология corba
- •Достоинства и недостатки corba
- •Структура распределенного j2ee java-приложения
- •Hello World распределенное j2ee java-приложение Средства разработки
- •Структура
- •Код локального интерфейса
- •Html. Основные теги html.
- •Основные теги html
- •Формы html-документов
- •Cgi. Java web-сервер
- •Сервлет-технология java
- •Компоненты ejb
- •Страницы jsp
- •Теги и встроенные объекты jsp
- •Основные теги jsp-страниц.
- •Архитектуры распределенных приложений. Web-сервисы
- •Jms. Архитектура jms
Архитектура 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 имеет следующие положительные и отрицательные стороны.
Достоинства |
Недостатки |
|
|
Благодаря своей легкоиспользуемой 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.