
- •Міністерство освіти і науки україни
- •1 Лабораторна робота №1 java-сокети
- •1.1 Теоретичні відомості
- •1.1.1 Загальні відомості про сокети
- •1.1.2 Програмні засоби Java для роботи з сокетами
- •1.2 Приклади розподілених java-додатків на основі сокетів
- •1.2.1 Приклад 1
- •1.2.2 Приклад 2
- •1.2.3 Приклад 3
- •1.3 Завдання до лабораторної роботи
- •1.3.1 Завдання 1
- •1.3.2 Завдання 2
- •1.3.3 Завдання 3
- •Завдання
- •1.4 Контрольні питання
- •1.5 Зміст письмового звіту
- •2 Лабораторна робота №2 java rmi
- •2.1 Теоретичні відомості про Java rmi
- •2.1.1 Загальні відомості
- •2.1.2 Рівень заглушок
- •2.1.3 Рівень віддаленого посилання
- •2.1.4 Транспортний рівень
- •2.1.5 Віддалені об'єкти
- •2.1.6 Архітектура Java rmi
- •2.1.7 Створення віддаленого інтерфейсу
- •2.2 Завдання до лабораторної роботи
- •2.2.1 Створення віддаленого інтерфейсу
- •2.2.2 Створення реалізації віддаленого інтерфейсу
- •2.2.3 Створення стаба й скелетона
- •2.2.4 Створення серверного додатка
- •2.2.5 Створення клієнтського додатка
- •2.2.6 Запуск розподіленого додатка
- •2.2.7 Завдання 1 – створення rmi-додатка
- •2.2.8 Завдання 2 – створення власного rmi-додатка
- •2.2.9 Завдання 3 – створення власного rmi-додатка
- •2.2.10 Завдання 4 – самостійна робота за індивідуальним варіантом
- •2.3 Контрольні питання
- •2.4 Зміст письмового звіту
- •Література для додаткового вивчення
- •Додаток а Java-методи для перетворення рядків (тип String) у числові типи даних
- •Додаток б
- •Приклад використання деяких математичних методів Java:
1.4 Контрольні питання
Що являє собою сокет?
Яка інформація необхідна для створення ТСР-сокета?
Поясніть призначення конструкторів класу Socket з пакета java.net.
Які задачі вирішують об'єкти класу InetAddress при програмуванні сокетів?
Поясніть призначення методів getInputStream() та getOutputStream() класу Socket з пакета java.net.
Поясніть призначення конструкторів класу ServerSocket з пакета java.net.
Яке призначення має метод accept() класу ServerSocket?
Поясніть зміст терміна блокування, яке використовується при описі роботи сокетів?
Які класи пакета java.io використовуються при програмуванні сокетів?
Яке призначення має клас DataInputStream?
Укажіть назву та призначення основних методів класу DataInputStream.
Яке призначення має клас PrintStream?
Укажіть назву та призначення основних методів класу PrintStream.
1.5 Зміст письмового звіту
У звіті наведіть тексти програм, які вирішують індивідуальне завдання.
Приведіть блок-схему алгоритму методу, який виконує обчислення на стороні сервера.
Дайте відповіді на контрольні питання та зробіть висновок.
Письмовий звіт повинен бути оформлений на комп‘ютері, мати титульну сторінку із зазначенням назви дисципліни, теми лабораторної роботи, автора звіту та викладача, дати складання письмового звіту. Далі на кожній сторінці звіту в колонтитулах має міститись прізвище, ім‘я та номер групи студента (верхній колонтитул), тема лабораторної роботи та номер сторінки (нижній колонтитул). В іншому випадку звіт може бути оформлений в рукописному варіанті.
2 Лабораторна робота №2 java rmi
Мета роботи: вивчити основи RMI, створити ряд розподілених додатків на основі технології RMI
2.1 Теоретичні відомості про Java rmi
2.1.1 Загальні відомості
Remote method invocation (віддалений виклик методів) - одна з перших технологій створення розподілених додатків мовою java.
RMI додаток складається із трьох рівнів:
Рівень заглушок.
Рівень віддаленого посилання.
Транспортний рівень.
Рівень заглушок перехоплює виклики методів, виконаних клієнтом за допомогою змінної-посилання на інтерфейс, і переадресує їх віддаленій службі RMI.
Рівень віддаленого посилання розуміє, як інтерпретувати й управляти посиланнями на віддалені об'єкти служб. Цей рівень з'єднує клієнтів з віддаленими об'єктами служб, які виконуються на сервері.
Транспортний рівень заснований на з'єднаннях TCP/IP між мережевими машинами. Він забезпечує основні можливості з'єднання й деякі стратегії захисту від несанкціонованого доступу.
Кожний з рівнів може бути замінений (модифікований) без впливу на іншу систему. Наприклад, на транспортному рівні можна використовувати стек протоколів TCP/IP або UDP без впливу на інші рівні.
2.1.2 Рівень заглушок
Стаб і скелетон - заглушки клієнта й сервера розподіленого RMI-додатка, відповідно. Стаб серіализє дані запиту клієнта - приводить їх до лінійного вигляду, підготовляє їх до пересилання по мережі, і відправляє їх у мережу. Скелетон на стороні сервера приймає послідовність серіалізованих біт з мережі, виконує їх десеріалізацію (операція зворотна серіалізації) і передає запит на обробку серверу. Після обробки сервер передає результат скелетону й процес передачі даних виконується у зворотному порядку - від сервера до клієнта.