- •Розподілені системи
- •Історична довідка
- •Базові терміни та визначення
- •Телекомунікаційні мережі як елемент розподілених систем
- •Модель клієнт–сервер
- •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 основних етапів:
- •Комерційні системи обміну повідомленнями
-
Запитання для самоконтролю
-
У чому полягають відмінності між мультипроцесорами та мульти- комп’ютерами?
-
Коротко охарактеризуйте гомогенні та гетерогенні комп’ютерні роз- поділені системи.
-
На які категорії поділяють операційні системи для розподілених комп’ютерів? Коротко охарактеризуйте кожну з них.
-
Що являє собою проміжне середовище?
-
Назвіть основні служби платформи розподілу.
-
Дайте визначення поняття «розподілене середовище».
-
Назвіть основні компоненти, які беруть участь у процесі взаємодії, та опишіть процес взаємодії в розподіленому середовищі.
-
На які логічні рівні можна поділити прикладні програми. Охаракте- ризуйте кожний з них?
-
Назвіть і коротко охарактеризуйте варіанти архітектури клієнт-сервер.
-
Дайте визначення програмної компоненти.
-
Які умови необхідні для повного формального опису взаємодії двох компонент розподіленої системи?
-
Що являє собою інтерфейс компоненти розподіленої системи?
-
Що є основою мережної взаємодії віддалених систем?
-
Назвіть сервіси, які мають бути застосованими у проміжному сере- довищі для взаємодії компонент розподіленої системи?
-
Назвіть і коротко охарактеризуйте наявні концепції взаємодії про- грамних компонент.
-
Назвіть можливі варіанти віддаленого виклику процедур.
-
Дайте визначення понять «маршалізація», «серіалізація», «десеріалізація».
-
Що собою являють віддалені об’єкти? Для чого їх використовують?
-
Назвіть моделі використання віддалених об’єктів.
-
Коротко охарактеризуйте модель єдиного виклику.
-
Коротко охарактеризуйте модель єдиного екземпляра.
-
Коротко охарактеризуйте модель активації об’єктів за запитом клієнта.
-
Назвіть і охарактеризуйте підходи до обробки розподілених подій.
-
Що таке розподілена транзакція?
-
Які якості притаманні розподіленій транзакції?
-
Підтримку яких функцій має забезпечувати проміжне середовище для гарантування безпеки розподіленої системи?
-
Назвіть основні переваги та недоліки мови XML.
-
Яку роль відіграє SOAP у процесі побудови розподілених гетероген- них систем?
-
У чому полягає суть процесів серіалізації та десеріалізації об’єктів?
-
Які є основні підходи до побудови прикладних програм?
-
Які базові технології використовують для Web-орієнтованих прикла- дних програм?
-
Яким чином реалізується розподіл платформ за схемою обробки запитів?
-
ЗВ’ЯЗОКЗв’язок між процесами – це спосіб взаємодії й обміну дани- ми між процесами. Сучасні розподілені системи часто містять тисячі проце- сів, розкиданих ненадійною мережею, наприклад Internet. Щоб спростити ро- зробку масштабних прикладних систем, необхідно замінити найпростіші засоби взаємодії в телекомунікаційних мережах.
-
Рівні протоколів
Еталонна модель взаємодії відкритих систем (Open Systems Interconnection Reference Model) OSI/ISO спрощує роботу з безліччю рівнів і понять, використовуваних у передачі даних, та чітко визначає сім рівнів, дає їм стандартні імена і вказує, який рівень за що відповідає. Модель OSI розроб- лено для того, щоб надати відкритим системам можливість взаємодіяти.
Відкритою називають систему, здатну взаємодіяти з будь-якою іншою відкритою системою за стандартними правилами, що визначають формат, вміст і зміст повідомлень, які відправляються і приймаються.
Ці правила зафіксовані в чинних стандартах і їх називають протоколами
(protocols). Усі протоколи поділяють на два основні типи. Перший тип –
протоколи зі встановленням з’єднання (connection-oriented), у яких перед початком обміну даними відправник і одержувач мають встановити з’єднання і, можливо, домовитися про те, який протокол вони використовува- тимуть. Після завершення обміну вони мають розірвати з’єднання. Системою зі встановленням з’єднання є, наприклад, телефон. Другий тип – викорис- тання протоколів без установлення з’єднання (connectionless), у такому разі підготовки не потрібно. Відправник надсилає перше повідомлення, як тільки він готовий це зробити.
У моделі OSI взаємодію поділяють на сім рівнів, як показано на рис. 3.1. Кожен рівень відповідає за один специфічний аспект взаємодії, надає інтерфейс для роботи з вищим рівнем. Інтерфейс містить набір операцій, які разом визна- чають інтерфейс, що надається тим рівнем, яким користується поточний рівень.
Прикладні
|
Прикладний протокол |
|
||
|
||||
|
|
|
||
|
Протокол представлення |
|
||
|
||||
|
|
|
||
|
Сеансовий протокол |
|
||
|
||||
|
|
|
||
|
Транспортний протокол |
|
||
|
||||
|
|
|
||
|
Мережний протокол |
|
||
|
||||
|
|
|
||
|
Канальний протокол |
|
||
|
||||
|
|
|
||
|
Фізичний протокол |
|
||
|
||||
|
Мережа |
|
програми 7
Представлення 6
Сеанс 5
Транспорт 4
Мережа 3
Передача даних 2
Фізичне 1
втілення
Рис. 3.1. Рівні, інтерфейси і протоколи OSI
Приклад. Коли процес А на машині 1 хоче поспілкуватися з процесом В на машині 2, він створює повідомлення й надсилає його прикладному рівню своєї машини. Програмне забезпечення прикладного рівня додає в початок повідомлення свій заголовок (header) і передає отримане повідомлення через інтерфейс із рівня 7 на рівень 6. Рівень представлення (6), у свою чергу, додає в початок повідомлення свій заголовок і передає результат вниз, на сеансовий рівень (5) і т. д. Деякі рівні додають не лише заголовок у початок, але
і завершення в кінець. Коли повідомлення дійде до фізичного рівня, останній виконає його реальну передачу, як це показано на рис. 3.2.
Заголовок фізичного рівня
Заголовок мережного рівня Заголовок транспортного рівня
Заголовок сеансового рівня Заголовок рівня представлення
Заголовок прикладного рівня
|
|
|
|
|
|
Повідомлення |
|
Завершення канального рівня
2 3 4 5 6 7 2
Біти, які фактично передаються мережею
Рис. 3.2. Формат повідомлення, переданого мережею
Коли повідомлення надходить на машину 2, воно передається вгору, при цьому на кожному рівні зчитується й перевіряється відповідний заголовок. Зрештою повідомлення досягає одержувача, процеса В, що може відповісти на нього, у процесі надання відповіді одержувачем усе повторюється у зво- ротному напрямку. Інформацію із заголовка рівня п використає протокол рі- вня п.