
- •Рейтинг №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-приложения
Пример распределенного jms-приложения
Создадим JMS-приложение использующее модель “издание-подписка”. На основе программного продукта OpenJMS v. 0.7.7 фирма Sun. Настройка конфигурирования на основе Windows, Linux описана в документации. Код клиента-отправителя имеет вид:
import javax.naming.*;
import javax.jms.*;
public class Sender;
{public static void main(string[]args){
String factory Name = “Connection Factory”;
Static text = args[0];
try{System.setProperty(“javax.naming.provider url”,”tcp://localhost:3035”);Context cnt = new Initial lontext();
Connection Fatory fact(Connection Factory)cnt.lookup(factory Name));
Distination(Distination)cnt.lookup(“topic1”);
Connection con = fact.create Connection();
Session session = con.create Session(false,Session.AUTO_ACKNOW LEDGE);Message Produar;sender = session.createProducer(dst);
con start()TextMessage = session.createText Message();message set Text(“Hello”);sender sent(message);
System.out.println(“set:”+message.gettext());
cnt close();con close();}
cathe(Exception e){}}}
Код клиента-получателя имеет вид:
import javax.naming.*;
import javax.jms.*;
public class Receiver;
{public static void main(string[]args){
String factory Name = “Connection Factory”;
Static text = args[0];
try{System.getProperty(“javax.naming.provider url”,”tcp://localhost:3035”);Context cnt = new Initial lontext();
Connection Fatory fact(Connection Factory.cnt.lookup(factory Name));
Distination(Distination)cnt.lookup(“topic1”);
Connection.con = fact.create Connection();
Session session = con.create Session(false,Session.AUTO_ACKNOW LEDGE);
Message lonsummer reciver = session.createConsummer(dst);
con start()Message message = reciver.recive();
Text Message text = (Text Message)message; System.out.println(“Recived:”+text.getText());
cnt class();con close();}
cathe(Exception e){}}}
>java Reciver
>java Sender Hello
Java Reciver
Recived Hello
После компиляции и запуска JMS-Server запускаем на выполнение программу клиента-получателя.
Название |
Назначение |
Context |
Создает контекст имен JNDI для данного приложения |
Connection Factory |
Получает IP-адрес JMS-сервера |
Connection |
Осуществляет соединения с JMS-сервером |
Destination |
Определяет тему или очередь соответствующей модели JMS |
Session |
Отправка-получение сообщений и их подтверждение |
Message Producer |
Используется для передачи сообщений |
Message Consumer |
Прием сообщений |
Text Message |
Создает отформатированный текст |