- •Розподілені системи
- •Історична довідка
- •Базові терміни та визначення
- •Телекомунікаційні мережі як елемент розподілених систем
- •Модель клієнт–сервер
- •1.3. Особливості розподілених систем
- •Переваги розподілених систем
- •Недоліки розподілених систем
- •Класифікація розподілених систем
- •Характеристики розподілених систем
- •Висновки
- •Запитання для самоконтролю
- •Розподілене середовище
- •Концепції апаратних рішень
- •Архітектура багатопроцесорних систем
- •Системи зі спільною пам’яттю
- •Системи з роздільною пам’яттю
- •Топології багатопроцесорних систем
- •Концепції програмних рішень
- •Та засобів проміжного рівня
- •Операційні системи й розподіленість
- •Проміжне середовище
- •2.5. Поняття розподіленого середовища
- •Розподіл прикладних програм за рівнями
- •Варіанти архітектури клієнт–сервер
- •Програмні компоненти розподілених систем
- •Основи мережної взаємодії
- •2.6. Взаємодія компонент розподіленої системи
- •Концепції взаємодії компонент розподіленої системи
- •Обмін повідомленнями
- •Віддалений виклик процедур
- •Використання віддалених об’єктів
- •Розподілені події
- •Розподілені транзакції
- •Безпека в розподілених системах
- •Опис інтерфейсу програмної компоненти
- •Мова і схеми Extensible Markup Language
- •Soap: мова повідомлень розподіленої системи
- •Wsdl: опис інтерфейсу програмної компоненти
- •Базові технології подання інформації в розподілених системах
- •Вимоги до прикладних програм серверної сторони
- •Висновки
- •Запитання для самоконтролю
- •Рівні протоколів
- •Низькорівневі протоколи
- •Транспортні протоколи
- •Протоколи верхнього рівня
- •Віддалений виклик процедур
- •Виклик локальної процедури та повернення результату
- •Звертання до віддалених об’єктів
- •Розподілені об’єкти
- •Прив’язка клієнта до об’єкта
- •Статичне й динамічне віддалене звертання до методів
- •Передача параметрів
- •1.4 Зв’язок на основі потоків даних
- •Підтримка безперервних середовищ
- •Потік даних
- •Синхронізація потоків даних
- •1.5 Протоколи проміжного рівня
- •Протокол soap
- •Сімейство протоколів xmpp
- •Протокол umsp
- •Висновки
- •Запитання для самоконтролю
- •2. Процеси
- •Потоки виконання. Визначення і структура
- •Стан процесів та потоків виконання
- •Реалізація потоків виконання
- •Потоки виконання в нерозподілених системах
- •Потоки виконання в розподілених системах
- •Багатопотокові клієнти
- •Багатопотокові сервери
- •Інтерфейси користувача
- •Клієнтське програмне забезпечення і прозорість розподілу
- •4.6 Сервери
- •Підходи до побудови серверів прикладного програмного забезпечення
- •Сервери об’єктів
- •Частина 2
- •Представлення додатка розподіленної системи
- •Рівнева організація додатку
- •Рівнева організація, застосування, виділення рівнів
- •Використання рівня Сервісів(Services Layer)
- •Дизайн рівневої структури
- •Вибір стратегії розбиття на рівні
- •Визначення наскрізної функціональності
- •Визначення інтерфейсу між рівнями
- •Вибір стратегії реалізації і впровадження
- •Вибір протоколів взаємодії
- •3. Дизайн Рівню Представлення
- •Дизайн рівня представлення включає наступні кроки:
- •Специфічні проблеми дизайну рівня представлення
- •Кешування
- •Комунікації
- •Композиція
- •Управління виключеннями
- •User Experience(Зручність Використання)
- •Інтерфейс користувача
- •Перевірка даних вводу користувача (Validation)
- •Batching(Пакетування)
- •З'єднання
- •Формат даних
- •Управління виключеннями
- •Реляційне відображення об'єктів(Object Relational Mapping)
- •Процедури, що зберігаються
- •Транзакції
- •Перевірка вводу
- •Типи бізнес-процесів
- •Загальні правила складання сміття:
- •Вибір стратегії визначення виключень
- •Стратегія протоколювання виключень
- •Стратегія повідомлення про виключення
- •Ухвалення рішення про необхідність обробки необроблених виключень
- •Спеціальні питання проектування
- •Аутентифікація
- •Авторизація
- •Кешування
- •Мережева взаємодія
- •Управління конфігурацією
- •Управління виключеннями
- •Протоколювання
- •Управління станом
- •Проблеми, які виникають при проектуванні взаємодії
- •Загальні завдання проектування стратегії зв'язку
- •Обмін файлами
- •Розподілена база даних
- •Виклик видалених процедур
- •Обмін повідомленнями
- •Процедура передачі повідомлення включає 5 основних етапів:
- •Комерційні системи обміну повідомленнями
Виклик видалених процедур
Взаємодія відбувається за допомогою видаленого виклику процедур, які ви- користовуються для виконання дій або обміну даними.
Видалений виклик процедур дозволяє застосуванню викликати функцію ін- шого застосування і передавати їй для обробки дані.
Взаємодія шляхом видаленого виклику процедур хорактеризуется сильною мірою зв'язування застосувань.
Виклик видаленої процедури набагато повільніше і менш надійний чим ви- клик локальної процедури. Збій в роботі одного застосування приведе до збою в роботі усіх застосувань, які покладаються на його функціональність.
Дозволяє отримати доступ до функціональності іншого процесу.
Обмін повідомленнями
Взаємодія між застосуваннями відбувається за допомогою системи обміну повідомленнями, які використовуються для обміну даними і виконання дій.
Для передачі даних не потрібно одночасну доступність посилача і одержува- ча. Система обміну повідомленнями підтримує слабку связываемость засто- сувань. При необхідності виконується перетворення повідомлень без повідо-
млення посилача або одержувача. Дозволяє використати різні способи доста- вки повідомлень(широкомовна розсилка, маршрутизація повідомлення одно- го одержувача або групи).
Не дозволяє повністю виключити затримку при доставці повідомлення. Рі- шення грунтовані на обміні повідомленнями складно тестувати і відлагоджу- вати.
Дозволяє обмінюватися даними і використати функціональність іншого про- цесу.
Системи обміну повідомленнями
Основні поняття і термінологія систем обміну повідомленнями
Система обміну повідомленнями - це окрема програмна система, яка вико- нує функції обміну повідомленнями. Системи обміну повідомленнями нази- вають єднальним ПО, орієнтованим на обмін повідомленнями(message - oriented middleware, MOM ).
Необхідність наявності систем обміну повідомленнями обумовлена ненадій- ністю мереж передачі даних. Система гарантує доставку даних одержувачеві у разі збою в мережі шляхом повторної відправки.
Обмін повідомленнями - ця асинхронна взаємодія між програмами з гаран- тією доставки інформації. Програми обмінюються між собою пакетами да- них, які називаються повідомленнями.
Канал або черга - це логічний маршрут, який об'єднує програми і викорис- товується для транспортування повідомлень. Канал нагадує масив повідом- лень, доступних для одночасного використання багатьма застосуваннями.
Посилач або постачальник - програма яка розміщує повідомлення в каналі. Одержувач або споживач - це програма, яка отримує і потім видаляє повідо- млення з каналу.
Повідомлення є деякою структурою даних - рядком, байтовим масивом, за- писом або об'єктом.
Повідомлення може бути інтерпретоване:
-
Як дані, що містяться в нім
-
Як команда, яку необхідно виконати одержувачеві
-
Як опис події, яка сталася на стороні посилача
Повідомлення складається з двох частин - заголовка і тіла повідомлення.
Заголовок повідомлення містить метадані(хто відправив, куди слід передати, і так далі), які використовуються системою обміну повідомленнями і ігно- руються одержувачем повідомлення.
Тіло повідомлення містить інформацію, яка ігнорується системою обміну по- відомленнями.