- •Розподілені системи обробки інформації
- •Передмова
- •Розділ 1. Огляд компонентних технологій створення розподілених програмних систем
- •1.1. Узагальнена архітектура і механізм функціонування об'єктних розподілених систем
- •1.2. Основні приклади технологій створення розподілених систем
- •1.3. Переваги використання розподілених технологій
- •Розділ 2. Розроблення розподілених систем на основі модели com/dcom у Delphi
- •2.1. Використання dll у Delphi
- •2.1.1. Поняття dll
- •2.1.2. Створення dll у середовищі Delphi (експорт)
- •2.1.3. Використання dll у Delphi (імпорт)
- •2.1.4. Створення динамічних бібліотек для редагування ресурсів
- •2.2. Основи сом-технології
- •2.2.1. Загальний опис
- •2.2.2. Базові поняття
- •2.2.3. Бібліотека сом
- •2.2.4. Бібліотека типів
- •2.3.2. Сервер сом у Delphi
- •2.3.3. Бібліотека типів у delphі
- •2.4. Створення системи клієнт-сервер на основі базового com-об’єкту у складі внутрішнього сервера
- •2.4.1. Створення сом-сервера
- •2.4.2. Створення сом-клієнта
- •2.4.3. Використання сом-об’єкту в клієнтській програмі
- •2.5. Механізм міжпроцесного обміну
- •2.6. Створення систем клієнт-сервер на основі зовнішнього базового сом-об’єкту
- •2.6.1. Основні поняття
- •2.6.2. Засоби організації потокової взаємодії клієнта і сервера
- •2.6.3. Методи формування екземпляра сом-об’єкту
- •2.6.4. Формування екземпляра зовнішнього сом-об’єкту
- •2.6.5. Створення сом-сервера
- •2.6.6. Створення сом-клієнта
- •2.7. Автоматизація
- •Створення сервера автоматизації;
- •2.7.1. Базові поняття
- •2.7.2. Сервер автоматизації
- •2.7.3. Контролер автоматизації
- •2.8. Створення системи клієнт-сервер на основі внутрішнього сервера автоматизації
- •2.8.1. Об'єкт автоматизації. Клас tAutoObject
- •2.8.2. Вбудований сервер автоматизації
- •2.8.3. Створення клієнта автоматизації
- •2.9. Зовнішній сервер автоматизації
- •2.9.1. Основні визначення
- •2.9.2. Виконання маршалінгу з рядками, шрифтами і зображеннями
- •2.9.3. Перетворення наявного застосунка в сом-сервер автоматизації
- •2.9.4. Створення клієнта автоматизації
- •2.10. Події в сом і зворотні виклики на основі інтерфейсів диспетчирування
- •2.10.1. Створення сервера автоматизації
- •3. Формування бібліотеки типів
- •4. Формування методів
- •5. Реєстрація сервера
- •2.10.2. Створення клієнтського застосунка
- •2.10.3. Підключення множини клієнтів до сервера
- •2.11. Інтерфейси зі зворотним викликом
- •2.11.1. Створення сервера
- •2.11.2. Створення клієнтського застосунка
- •2.12. Технологія ActiveХ
- •2.12.1. Використання готових елементів АctiveХ
- •2.12.2. Розроблення власних елементів АctiveХ
- •2.12.3. Поширення елементів керування ActiveХ і форм ActiveХForm у Web-середовище
- •2.14. Dcom технологія
- •2.14.1. Загальна схема взаємодії сом-клієнта і сом-сервера
- •2.14.2. Розроблення системи «клієнт-віддалений сом-сервер»
- •Розділ 3. Проектування розподілених систем на платформі Microsoft .Net
- •3.1.1. Здійсненя викликань з типів .Net до типів сом
- •3.1.2. Звернення клієнта сом до збірки .Net
- •3.2. Об’єктно-орієнтована архітектура .Net Remotіng – основа створення розподілених систем Mіcrosoft .Net.
- •3.2.1. Створення системи клієнт-сервер на основі технології Remoting
- •Розділ 4. Створення системи "клієнт - сервер" на основі технології corba
- •4.1. Загальні теоретичні відомості
- •4.2. Створення серверного застосунка
- •1. Створення файла опису інтерфейсу
- •Викликання конструктора створення corba сервера
- •Формуємо модуль Unit1
- •Формуємо реалізацію методу
- •4.3. Створення клієнтського застосунка
- •Викликання конструктора corba-клієнта
- •2. Формування форми
- •3. Запуск застосунка
- •Приклад програмних кодів сервера
- •4.4. Порівняльний аналіз технологій сом і соrва
- •4.4.1. Основні принципи об'єктних моделей
- •4.4.2. Об'єктні моделі
- •4.4.3. Підтримка операційних систем
- •4.4.4. Формальний опис архітектури і проблеми реалізації
- •4.4.5. Підсумки порівняння
- •Літературні джерела
1.3. Переваги використання розподілених технологій
Система, побудована за технологією розподілених об'єктів, складається з набору компонентів (об'єктів), що взаємодіють між собою. При цьому об'єкти, як правило, розкидані по мережі і виконуються незалежно один від одного. Застосування розподілених технологій надає розробникам ряд переваг. Вкажемо кілька основних.
Використання ООП. Використання технології розподілених об'єктів дає можливість користуватися всіма перевагами об'єктно-орієнтованого підходу [8], а саме:
• скорочення часу розробки (ізольована розробка);
• скорочення кількості помилок;
• повторне використання програмних компонентів;
• полегшується подальша модифікація.
Ще однією важливою властивістю таких систем є можливість побудови так званих тонких клієнтів.
Повторне використання коду. У програмістів з'являється можливість швидко й ефективно створювати багатофункціональні застосунки, використовуючи розроблені раніше компоненти застосовуючи технологією plug-and-play, що помітно знижує вартість побудови нових систем.
Ізольована розробка. Завдяки модульному принципові розподілені застосування дають можливість відокремити процеси створення й удосконалення компонентів, що підвищує гнучкість системи. Вся система розбивається на окремі замкнуті автономні модулі, робота над якими може йти окремо, але модулі зберігають здатність взаємодіяти з іншими модулями системи. Для цього модулі повинні підтримувати протоколи й інтерфейси, що визначають принципи їхньої взаємодії. Але, оскільки методи, визначені в окремих модулях, ізольовані від методів інших модулів, то вони можуть розроблюватися незалежно. Таким чином, ступінь реалізації компонентів не залежить від стану коду в інших частинах системи і тому стає можливою паралельна робота кількох команд над різними частинами системи.
Супроводження застосунків. Завдяки використанню в системі модульного підходу заміна деякої функціональної частини застосування для вирішення проблем не потребує глобальної перебудови всієї системи. Навпаки, заміна коду відбувається тільки в тих модулях, в яких реалізовано цю функціональну частину. Внаслідок цього підвищується швидкість модернізації системи та зменшується ризик виникнення помилок, оскільки зміни відбуваються у внутрішньої частини окремих об’єктів
Використання тонких клієнтів. У розподілених системах з’являється можливість перенести всю функціональну логіку системи на її серверну частину. У такому випадку застосунки–клієнти, з якими спілкується користувач, залишаються досить простими й невеликими за розміром, тому їх називають тонкими клієнтами. Системні ресурси користувача залишаються більш вільними, а вся функціональна логіка реалізується потужними серверами. Незважаючи на відносну простоту клієнта, він отримує можливість звертатися до практично необмеженої кількості баз даних та інших об’єктів. З’являється можливість створення багатофункціональних мобільних компонентів (наприклад ActiveX компонентів), які можна легко використовувати під час розробки прикладних систем.
Контрольні запитання та завдання:
-
Що таке розподілена програмна система?
-
Назвіть основні складові прозподіленої програмної системи та опишіть особливості їх функціонування.
-
Опишіть механізм віддаленого виклику об'єктних процедур.
-
Назвіть основні технології розробки розподілених систем.
-
Назвіть основні характеристики технологій DCOM, CORBA, RMI та DCOP/D-Bus.
-
Які переваги надає використання розподілених технологій?