Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций РСОИ.doc
Скачиваний:
20
Добавлен:
04.11.2018
Размер:
1.93 Mб
Скачать

Передмова

Навчальний посібник створено за змістом лекцій з дисципліни «Розподілені системи обробки інформації», яку викладають автори на кафедрі автоматизації проектування енергетичний процесів та систем (АПЕПС) Національного технічного університету України «КПІ», а також користуючись власним досвідом у галузі створення розподілених систем обробки інформації.

Основним предметом зазначеної дисципліни є технології розробки розподілених систем робочого стола комп’ютера. Мета дисципліни – розгляд теоретичний основ побудови розподілених програмних застосунків та технологій їх практичного застосування для систем робочого стола комп’ютера.

Дисципліна “Розподілені системи обробки інформації” входить до освітньо-професійної програми підготовки бакалавра з напрямку 6.050101 “Комп’ютерні науки” багатьох вищих навчальних закладів. Крім того, специфіка викладання цієї дисципліни залежить від трактовки проблематики розподілених систем викладачами та методистами кафедри вищого навчального закладу. Але оскільки для сучасного спеціаліста з розробки програмного забезпечення володіння технологіями розподіленої обробки інформації є необхідною складовою та забезпечує передумови для успішної роботи, вищезгадана дисципліна є важливою складовою якісної освіти.

Сучасна література з комп’ютерної тематики має тенденцію диференціації за такими ознаками як мова або середовище програмування [14, 23], технологія реалізації [15, 18] та середовище виконання (локально, локальна мережа або глобальні мережі) [24, 19]. Цілком зрозуміло, що в такому випадку зрозуміти суть розподіленої обробки даних та технологій побудови розподілених систем без орієнтації на конкретну реалізацію досить важке завдання. Зазвичай, це завдання виконує навчальна література, але й у цій сфері існують досить великі розбіжності. Так, найпоширенішими є навчальні видання, які присвячені розробці систем, що використовують розподілені бази даних [17]. Друге місце посідають навчальні видання, які розглядають проблематику розробки розподілених систем в Web-реалізації для використання у глобальних мережах [19]. І на останньому місці знаходиться навчальна література, яка розкриває суть побудови розподілених систем обробки інформації у межах одного комп’ютера або локальної мережі [20].

Описану вище картину розповсюдженості навчальної літератури можна подати у вигляді списку наступним чином:

1 місце. Навчальна література щодо систем з розподіленими базами даних.

2 місце. Навчальна література щодо розподілених систем у Web-реалізації.

3 місце. Навчальна література щодо розподілених систем робочого стола комп’ютера.

Розташовані на 3 місці розподілені системи робочого стола комп’ютера при вивченні дисципліни “Розподілені системи обробки інформації” повинні бути розглянуті найперше, адже вони дозволяють сформувати фундаментальне уявлення про розподілені об’єкти та методи їх функціонування без необхідності отримання додаткових знань в інших галузях комп’ютерних наук. Але, через брак відповідних літературних джерел, цьому питанню приділяється найменше уваги.

Розміщені на другому місці розподілені системи у Web-реалізації вже являють собою новий рівень розуміння проблематики розподілених систем, адже розробка таких систем вимагає розуміння організації самої мережі і наявності знань та умінь у галузі мережевих технологій. Таким чином, переходити до вивчення методів та засобів побудови розподілених систем для роботи у глобальній мережі необхідно після того, як студенти ознайомляться з розподіленими системами робочого стола комп’ютера та прослухають такі курси як «Комп’ютерні мережі (локальні, корпоративні, глобальні)» та «Прикладне програмування в комп'ютерних мережах» (остання дисципліна може викладатись паралельно).

Найвищий рівень, тобто 1-е місце, розповсюдженості займають системи з розподіленими базами даних і це не випадково. Питання проектування та використання розподілених баз даних складається з великої кількості теоретичних аспектів, а практична реалізація акумулює майже усі можливі технології побудови розподілених застосунків. Отже, перед авторами навчальної (і не тільки) літератури відкриваються безмежні можливості! Але не можна подолати вершину без проходження попередніх етапів, тобто вивчення дисципліни «Розподілені системи обробки інформації» не можливо починати зі знайомства з розподіленими базами даним, уникаючи перші два тематичні розділи.

Головна мета посібника полягає у формуванні практичних навичок з розробки систем «клієнт-сервер» на базі різноманітних технологій для здійсненя розподіленої обробки, а також розуміння основних загальнотеоретичних принципів, що покладені в основу розподіленої обробки інформації, а саме:

  1. процес створення об’єктів, що містять оголошення функцій у вигляді інтерфейсів та їхньої реалізації;

  2. формування та створення серверів як носіїв цих об’єктів;

  3. реєстрація серверів та об’єктів для забезпечення можливостей звернення до них;

  4. наявність технологій звернення клієнтів до серверів і використання їхньої функціональності.

Матеріал посібника є основою для опанування інших споріднених дисциплін. У посібнику розглянуті питання розробки (в середовищі Windows-операційних систем) програмних комплексів щодо розподіленої обробки інформації. Викладання базується на застосуванні поширених засобів інструментальних середовищ Delphi та Microsoft Visual Studio (мова С#). Надані необхідні теоретичні відомості щодо використання системних технологій СОМ/DCOM, Remoting та CORBA для створення прикладних розподілених систем «клієнт–сервер». Наведені приклади з реалізації подібних систем.

Вважається, що до вивчення дисципліни «Розподілені системи обробки інформації» студенти вже опанували такі курси як «Основи програмування та алгоритмічні мови», «Об’єктно-орієнтоване програмування», «Технологія програмування та створення програмних продуктів» і тому набули певного досвіду з програмування мовами високого рівня (Object Pascal, C++ та C#).

В першому розділі подано огляд компонентних технологій створення розподілених програмних систем.

В другому розділі розглянуті питання проектування систем розподіленої обробки на основі використання можливостей загальної системної технології COM/DCOM і заснованих на ній технологіях ActiveX та OLE.

В третьому розділі розглянуті питання про проектування систем розподіленої обробки в .NET платформі з технологією Remoting.

В четвертому розділі розглянуті засади проектування систем розподіленої обробки на основі використання можливостей загальної кросплатформної технології CORBA для інструментального середовища розробки програмних засобів Delphi.

Автори вдячні за слушні зауваження науковим рецензентам посібника: д.т.н. проф.. Пасічнику В.В., д.т.н. проф.. Бадаєву Ю. І., к.т.н. доц.. Зеленському К. Х., к.т.н. доц.. Коваль О. В. Окрема подяка за підтримку у підготовці цього посібника завідуючому кафедрою АПЕПС професору Лук’яненку С.О.

Посібник розраховано на студентів, які навчаються за напрямом підготовки «Комп’ютерні науки», але автори сподіваються, что посібник стане у нагоді студентам не тільки технічних спеціальностей вищих навчальних закладів.