- •Розподілені системи
- •Історична довідка
- •Базові терміни та визначення
- •Телекомунікаційні мережі як елемент розподілених систем
- •Модель клієнт–сервер
- •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 основних етапів:
- •Комерційні системи обміну повідомленнями
Управління конфігурацією
При проектуванні стратегії управління конфігурацією керуйтеся наступними рекомендаціями:
продумуйте, які параметри мають бути такими, що конфігуруються ззовні. Зайва настроюваність може ускладнити систему і зробити її уразливої із-за проломів безпеки і неправильного функціонування, обумовлених невірною конфігурацією.
-
Прийміть рішення про те, чи будуть відомості про конфігурацію збері- гатися централізований і завантажуватися або застосовуватися до корис-
тувачів при запуску і обмеження доступу до відомостей про конфігура- цію.
-
Розподіліть елементи конфігурації по логічних розділах на підставі то- го, чи є вони налаштуваннями користувача, застосування або середовища.
-
За наявності безлічі рівнів в застосуванні розподілите елементи конфі- гурації по логічних розділах.
-
Надайте окремий адміністративний UI для редагування конфігурацій- них даних.
Управління виключеннями
При проектуванні стратегії управління виключеннями керуйтеся наступними рекомендаціями:
-
Проектуйте відповідну стратегію поширення виключень, яка забезпе- чує обгортання або заміну виключень або внесення необхідних додатко- вих даних.
-
Забезпечте, щоб застосування не залишалося в нестабільному стані пі- сля збою, і щоб виключення не призводили до розголошування конфіден- ційних даних або відомостей про процес. Якщо не можете гарантовано за- безпечити коректне відновлення після збою, дозвольте застосуванню завершитися з необробленим виключенням;
-
Виробіть відповідну стратегію протоколювання і повідомлення для критичних помилок і виключень. Проте не надайте конфіденційні дані в повідомленнях про виключення і файли журналу.
Протоколювання
Аудит і протоколювання дій в усіх шарах застосування потрібні, тому що можуть допомогти виявити підозрілі дії і забезпечити раннє виявлення сер- йозних атак.
-
Проектуйте централізований механізм протоколювання і инструменти- рования, перехоплення критично важливих для системи і бізнесу подій, що забезпечує.
-
Створюйте політики безпечного управління файлами журналу. Не бе- режіть конфіденційні дані у файлах журналу і захищайте їх від неавтори- зованого доступу.
-
Зробіть свої приймачі журналу, або слухачі трасування, що настрою- ються, щоб забезпечити можливість їх зміни під час виконання відповідно до вимог інфраструктури розгортання.
Управління станом
Управління станом - це питання, пов'язані зі зберіганням даних, що предста- вляють стан компонента, операції або етапу процесу. Для зберігання даних стану можуть використовуватися різні формати і сховища. При проектуванні стратегії управління станом керуйтеся наступними рекомендаціями:
-
Зберігайте мінімальний об'єм даних стану.
-
Якщо для збереження або спільного використання ці стани повинні пе- редаватися через межі процесів і мереж, забезпечте їх сериализуемость.
-
Правильно вибирайте сховище стану. Зберігання стану в процесі або в пам'яті забезпечить найкращу продуктивність, але ця техніка може вико- ристовуватися, тільки якщо стан не повинен зберігатися між повторними запусками процесу або системи. Якщо хочете, щоб ці стани були доступні після перезапуску процесу або системи, зберігайте їх на локальному диску або локальному SQL Server. Якщо стан є критично важливим аспектом за- стосування, або якщо ці стани повинні використовуватися спільно декіль- кома комп'ютерами, зберігаєте стан централізованого, наприклад, на виді- леному SQL Server.
-
Проблеми і загальні принципи проектування взаємодії додатків
При проектуванні стратегії зв'язку для застосування необхідно врахувати, як впливає на продуктивність взаємодія між шарами і рівнями. Оскільки будь- яка взаємодія через логічні або фізичні межі підвищує витрати на обробку, проектування повинне забезпечити ефективний зв'язок за рахунок скорочен- ня звернень до мережі і зменшення об'ємів даних, що передаються по мережі.