- •Рейтинг №1 Java-технологии распределенных компьютерных систем
- •Инструментальные средства java для создания распределенных приложений
- •Первая java-программа
- •Реализация стандартного вывода
- •Интерфейсы
- •Наследование
- •Import имя_пакета.*;
- •Ссылки this и super
- •Исключения
- •Массивы
- •Классы, методы пакета java.Net используемое для создания socket
- •Виртуальная машина java
- •Распределительные компьютерные системы и их характеристики
- •Промежуточное программное обеспечение распределительных компьютерных систем
- •Архитектура java rmi
- •Порядок создания распределенного rmi-приложения
- •Достоинства и недостатки java-rmi
- •Технология corba
- •Этапы создания corba приложений
- •Определение интерфейса
- •Создание файлов client и server corba-приложений
- •Код локального интерфейса
- •Html. Основные теги html. Html-документы
- •Основные теги html
- •Форма html-документа
- •Основной поток cgi-программ
- •Сервлет. Технология java
- •Компоненты ejb
- •Реляционные структуры баз данных
- •Основные команды ddl
- •Основные команды dml
- •Основные команды dcl
- •Создание бд и таблиц с использованием sql
- •Основные этапы создания бд и таблиц
- •Использование idbc api
- •Пример java-приложения работающего с субд
- •Страницы jsp
- •Теги и встроенные объекты jsp
- •Основные теги jsp-страниц.
- •Xml. Структура xml-документа
- •Пространство имен
- •Схемы xml
- •Архитектуры распределенных приложений. Web-сервисы
- •Простая web-служба
- •Код клиента web-службы
- •Архитектура web-служб
- •Jms. Архитектура jms
- •Модели сообщений jms
- •Архитектура “точка-точка”
- •Пример распределенного jms-приложения
Достоинства и недостатки java-rmi
Достоинства |
Недостатки |
|
|
Поддержка только одного языка программирования делает невозможное взаимодействие с другими объектами написанными на JAVA. Таким образом роль JAVA-RMI создание больших масштабируемых промышленных систем снижается.
Технология corba
Технология CORBA (Common Object Request Broker Architecture) стандарт написания распределенных приложений предложенный концорпционом OMG (Open Management Group). Архитектура CORBA имеет вид:
Основу CORBA составляет объектный брокер запроса ORB. В адресном пространстве клиента функционирует заглушка stub. Получив запрос от клиента она упаковывает в специальный формат и передает скелетону. Скелетон получив его, передает серверу при необходимости выполняется обратное преобразование. Для коммуникации между собой stub и Skeleton использует ORB. На рынке имеется множество реализаций ORB. Наиболее популярны: Visibroker от фирмы Inprise; Orbix от фирмы IONA Techno loges и JAVA ORB – Sun. ORB взаимодействует в сети с помощью протокола IIOP (Internet Inter ORB Protocol). IIOP одна из реализаций GIOP(General Inter ORB Protocol) который работает поверх любого транспортного протокола. Каждый ORB должен реализовать переносимый адаптер объекта POA (Portable Object Adapter). POA используется для связи ORB. Для этих целей он создает объект сервант. Сервант – реализация объекта CORBA на конкретном языке программирования. В CORBA входит также служба наименований COS Naming (Common Object Service). Ее назначение тоже что и RPC. Средства CORBA реализованные в JAVA начинаются с jdk v. 1.2. В основном они находятся в пакете org.ong.CORBA и ряде вспомогательных пакетов называемые JAVA IDL.
Этапы создания corba приложений
Создание CORBA приложений состоит из следующих действий:
Создается программа на языке OMG-IDLописывающая интерфейс удаленного метода.
Выбирается язык программирования для реализации объекта.
Запускается IDL-компилятор для генерации stub и skeleton.
Кодируются файлы реализации для сервера и клиента.
Определение интерфейса
Интерфейсы для CORBA приложений создаются на специальном С-подобном языке определения интерфейса OMG-IDL.
Общий синтез объявления интерфейса:
[module Имя_модуля{]
interface Имя_Интерфейса{
[тип данных метод1(список Параметров1);
тип данных метод2(список Параметров2);
……………………………………………………………………………………………………
тип данных метод n(список ПараметровN);]
};
[}]
Если указано наличие модуля с именем Имя_модуля то при работе с JAVA мы получим пакет с именем Имя_модуля.
Пример:
interface Stringer getString()
interface Stringer
{string getString()
};
Выполнив команду IDLj –fall Stringer.idl мы вызовем компилятор JAVA-IDL с ключом fall позволяющим компилятору создать необходимы для работы CORBA приложений набор файлов.
Stringer.java |
Интерфейс Stringer расширяющий интерфейс StringerUP |
Stringer stub.java |
Stub реализация Stringer |
Stringer Holder.java |
Реализация CORBA ввод-вывод |
Stringer Helper.java |
Вспомогательный класс |
Stringer Operations |
JAVA-интерфейс соответствует интерфейсу Stringer. |