- •Міністерство освіти і науки україни
- •1 Лабораторна робота №3 corba
- •1.1 Теоретичні відомості про corba
- •1.1.1 Загальні відомості про corba
- •1.1.2 Ior-доступ до віддалених об'єктів
- •1.1.3 Мова idl
- •1.2 Завдання до лабораторної роботи
- •1.2.1 Порядок створення java corba-додатка
- •1.2.2 З'єднання із сервером без використання служби імен
- •1.3 Контрольні питання
- •1.4 Зміст письмового звіту
- •2 Лабораторна робота №4 java-сервлети
- •2.1 Теоретичні відомості
- •2.2 Завдання до лабораторної роботи
- •2.2.1 Створення і розгортання Web-додатку на основі сервлет-технології
- •2.2.2 Перший сервлет
- •2.2.3 Завдання 1
- •2.2.4 Робота сервлетів з протоколом http
- •2.2.5 Завдання 2
- •2.2.6 Завдання 3 – самостійна робота за індивідуальним варіантом
- •2.3 Контрольні питання
- •2.4 Зміст письмового звіту
- •Література для додаткового вивчення
- •Додаток а Індивідуальні варіанти до лабораторної роботи №3
- •Додаток б Конфігурування Web-додатків з використанням сервлет-технології
- •Додаток в Основні поняття html
- •Обов'язкові мітки html-документів
- •Форми html-документів
1.1.2 Ior-доступ до віддалених об'єктів
Об'єктне посилання спеціального типу IOR (Interoperable Object Reference) - стандартний формат об'єктного посилання для розподілених об'єктів.
Кожний CORBA-об'єкт має IOR-посилання. IOR-посилання - це дескриптор, що унікально ідентифікує об'єкт. У той час як звичайний вказівник містить просту машинну адресу для об'єкта, IOR-посилання може містити номер порту, ім'я хоста (ім'я комп'ютера в мережі), об'єктний ключ та ін.
Стандартне IOR-посилання діє як різновид розподіленого вказівника на віддалений об'єкт. Після того як клієнтська програма отримає доступ до IOR-посилання об'єкта, можна використовувати брокер об'єктних запитів для взаємодії з віддаленим об'єктом за допомогою виклику методів, механізму передачі параметрів, повернення значень і т.п.
Одна з головних властивостей IOR-посилання полягає в тому, що його можна зберігати як простий рядок і передавати іншим програмам. Передачу IOR-посилання найпростіше реалізувати за допомогою аргументів командного рядка, перемінних осередку або файлів. IOR-посилання можна відправити по електронній пошті або за допомогою протоколу передачі файлів (File Transfer Protocol - FTP). IOR-посилання спільно використовують файлові системи, і їх можна завантажувати з Web-сторінок.
1.1.3 Мова idl
Мова опису інтерфейсів (IDL) - стандартна мова об‘єктно-орієнтованого проектування, що використовується для розробки класів, призначених для розподіленого програмування. Він застосовується для відображення інтерфейсу класу й відношень між класами, а також для визначення прототипів функцій-членів, типів параметрів і типів значень, що повертаються функціями.
Одне з основних призначень мови IDL - відокремити інтерфейс класу від його реалізації. Але для визначення самих функцій-членів і членів даних IDL не використовується. Мова IDL визначає тільки інтерфейс функції. Основні ключові слова IDL перераховані в таблиці 1.1.
Таблиця 1.1 - Ключові слова IDL
|
abstract |
Enum |
native |
struct |
|
Any |
factory |
Object |
supports |
|
attribute |
FALSE |
octet |
typedef |
|
boolean |
Fixed |
oneway |
unsigned |
|
Case |
float |
out |
union |
|
Char |
in |
raises |
ValueBase |
|
const |
inout |
readonly |
valuetype |
|
Cell |
interface |
sequence |
void |
|
double |
long |
short |
wchar |
|
exception |
Module |
string |
|
Ключові слова, перераховані в таблиці, являють собою зарезервовані слова, використовувані в CORBA-програмах (виділені ключові слова використовуються в даній лабораторній роботі).
Наведемо приклад IDL-визначення:
interface Counter
{
long count(in string msg);
};
Це визначення починається із ключового слова CORBA interface. Зверніть увагу на те, що дане оголошення інтерфейсу Counter не включає жодної перемінної. Метод count() приймає як параметр одне значення типу string. Оголошення типу параметра супроводжується ключовим словом CORBA in, що говорить про те, що даний параметр є вхідним. Це оголошення класу зберігається в окремому вихідному файлі Counter.idl. Вихідні файли, що містять IDL-визначення, повинні мати idl-розширення.
Перш ніж такий файл можна буде використовувати, його необхідно перетворити до java-формату. Це перетворення, як правило, здійснюють із використанням IDL-компілятора.
Всі CORBA-реалізації включають IDL-компілятори. Такі компілятори існують для мов С, Smalltalk, C++, Java і ін.
У технології Java стандартний компілятор, що переводить IDL-опис у вихідний модуль мовою Java, називається idlj. Він входить у комплект Java IDL.
IDL-компілятор перетворить IDL-визначення в код відповідної мови.
У цьому випадку java IDL-компілятор перетворить оголошення інтерфейсу в java-код. Java IDL-компілятор викликається з використанням команди:
idlj -fall Counter.idl
Ключ –fall указує компілятору створити набір java-файлів, необхідних для роботи CORBA-додатка. Їх назва і призначення наведені в таблиці 1.2.
Таблиця 1.2 - Назва й призначення java-файлів CORBA-додатка, що сформовані IDL-компілятором
|
Файл *.java |
Призначення |
|
Counter |
Інтерфейс Counter, що розширює інтерфейс CounterOperations |
|
_CounterImplBase |
Скелетон, що реалізує Counter |
|
_CounterStub |
Стаб, що реалізує Counter |
|
CounterHelper |
Допоміжний клас |
|
CounterHolder |
Реалізація CORBA-вводу/виводу |
|
CounterOperations |
Java-інтерфейс IDL-інтерфейсу Counter |
