І. Б. Трегубенко Г. Т. Олійник О. М. Панаско Сучасні технології програмування в мережах
Вид материала | Документы |
- Робоча навчальна програма дисципліни " сучасні технології програмування в середовищі, 103.96kb.
- Сучасні інформаційні технології та інноваційні методи навчання у вивченні англійської, 93.41kb.
- Тема: Охарактеризуйте сучасні мови програмування. Назвіть принципи, що встановлюють, 76.56kb.
- Інформатика та сучасні інформаційні технологіі, 40.87kb.
- Н. Ю. Сучасні інформаційні технології у професійній підготовці майбутніх технологів, 170.31kb.
- Програма кредитного модуля " програмування процедурне програмування " для напрямків, 151.91kb.
- Сучасні технології прийняття управлінських рішень, 100.09kb.
- Програма фахового вступного екзамену з «менеджмент організацій І адміністрування» для, 125.76kb.
- Динамічне програмування один із видів задач математичного програмування, 83.38kb.
- О. В. Сучасні педагогічні технології: Курс лекцій, 86.47kb.
1.2. Архітектура клієнт-сервер
З появою поняття Web актуальними стали системи клієнт/сервер, де в ролі клієнта виступав би web–браузер. Інструментальні засоби конструювання Web–сторінок були у меншій мірі пов'язані з мовою баз даних SQL і тому більш підходили для реалізації третього рівня.
В даний час можна вважати, що бум технологій, пов'язаних з клієнт–серверною архітектурою все ще продовжується. Більшість сучасних інформаційних систем виконана за цією технологією.
Розподілені системи сьогодні досить широко використовуються, так як їх застосування є більш ефективним, ніж використання монолітних. Наведемо їх переваги.
Обмін інформацією. Необхідність обміну даними між різними вузлами зросла в шестидесятих, коли більшість основних університетів і компаній почали користуватися своїми власними мейнфреймами. Взаємодія між людьми з різних організацій полегшилася завдяки обміну даними між комп'ютерами цих організацій, і це дало зростання розвитку так званих глобальних мереж (WAN).
Комп'ютерна система, сполучена в глобальну мережу, як правило забезпечувалася всім необхідним користувачеві: резервними сховищами даних, дисками, багатьма застосовними програмами та принтерами.
Пізніше комп'ютери стали більш компактиними та дешевшими. Сьогодні одна організація в більшості випадків має багато комп'ютерів – часто один комп'ютер на одного працівника (робочу станцію). В цьому випадку також доцільно, щоб комп'ютери були сполучені для електронного обміну інформацією між персоналом фірми.
Розподілення ресурсів. З приходом більш дешевих комп'ютерів стало можливим забезпечення кожного співробітника організації особистим комп'ютером, але це не завжди можливо або доцільно для інших ресурсів (принтери, резервні сховища, блоки дисків і так далі). У цьому випадку кожен комп'ютер може використовувати спеціалізовані вузли – сервери, які забезпечують його даними і надають доступ до спеціалізованих ресурсів. Мережа, що сполучає комп'ютери в масштабі підприємства називається локальною обчислювальною мережею (LAN).
Причини, за якими організація встановлює мережу невеликих комп'ютерів, а не мейнфрейми – зниження вартості і розширюваність. По-перше, менші комп'ютери мають краще співвідношення ціна/продуктивність, ніж більші комп'ютери. По-друге, якщо потужність системи більше не задовільняє потреби, то мережа може бути розширена додаванням інших машин (файлових серверів, принтерів і робочих станцій). Якщо ж потужність монолітної системи стає незадовільною, залишається тільки повна її заміна.
Велика надійність завдяки реплікації. Розподілені системи мають потенціал надійності більший, ніж монолітні системи завдяки властивості їх часткового виходу з ладу. Це означає, що коли деякі вузли системи видуть з ладу, інші, як і раніше, функціонуватимуть і можуть взяти на себе завдання зіпсованих компонентів. Вихід з ладу монолітного комп'ютера діє на всю систему цілком і приводить до можливості продовжувати обчислення. З цієї причини розподілена архітектура при розробці високонадійних комп'ютерних систем є більш доцільною.
Високонадійна система як правило складається з декількох уніпроцесорів, які виконують застосовну програму. Правильне функціонування розподіленої системи за наявності пошкоджених компонент вимагає досить складної алгоритмічної підтримки.
Велика продуктивність завдяки розпаралелюванню. Наявність багатьох процесорів в розподіленій системі відкриває можливість зниження часу обробки завдяки розділенню роботи серед декількох процесорів.
Розподілення для забезпечення паралельного виконання часто застосовується при побудові обчислювальних систем, призначених для вирішення складних обчислювальних завдань. Мета такої розподіленої системи – зменшення часу виконання завдання.
Велика продуктивність завдяки балансуванню навантаження. Часто мотивом для створення розподіленої системи виступає збільшення загальної пропускної спроможності системи шляхом балансування навантаження складових її вузлів. При цьому підході завдання повністю потрапляє на найменш завантажену частину (вузол) системи. Як приклад можна привести будь-яку з систем пошуку в Internet, в якій запит користувача перенаправляється на найменш завантажений на даний момент веб-сервер.
Спрощення розробки завдяки спеціалізації. Розробка комп'ютерної системи може бути складною, особливо якщо потрібна значна функціональність. Розробка може бути часто спрощена розбиттям системи на модулі, кожен з яких відповідає за частину функціональності і взаємодіє з іншими модулями.
На рівні однієї програми модульність досягається визначенням абстрактних типів даних і процедур для різних завдань. Велика система представляється як набір взаємопов’язаних процесів. Модулі можуть бути виконані в рамках одного комп'ютера. Одночасно доцільно мати локальну мережу з різними типами комп'ютерів: один забезпечений спеціальним устаткуванням для обчислень, інший – графічним устаткуванням, третій – дисками і так далі.
Як приклад розподілених систем можна привести систему Інтернет. Із самого початку ця мережа розроблялася як розподілена система, здатна продовжувати функціонування при знищенні частини (можливо навіть великої) її складових (вузлів). В результаті з’явилася технологія об'єднання незалежних мереж за допомогою єдиного комунікаційного протоколу, що дозволяє динамічно перенастроювати маршрути передачі пакетів даних. З одного боку, Інтернет є яскравим прикладом системи, побудованої згідно архітектури P2Р, – всі вузли в ньому незалежні. З іншого боку, якщо піднятися на рівень сервісів, то простежуються приклади практично всіх відомих архітектур.
Іншим прикладом розподіленої системи є Інтранет. Під інтранетом зазвичай розуміють мережі, об'єднані за якоюсь ознакою (мережі великого підприємства, наприклад). В інтранеті задіяні вузли, доступ до яких необхідний для його користувачів для здійснення певних потреб. Це вузли, що є серверами друку, баз даних, файл-сервера, пошти, сервера додатків та інше. Створення подібних мереж виникає внаслідок потреби в обміні інформацією та забезпечення сумісного доступу до розподілених ресурсів (принтерів та інших пристроїв, доступ до Інтернет, корпоративних даних та інше).
Інтранет часто називають «малим Інтернетом», так як він заснований переважно на тих же технологіях, що і «великий» Інтернет. У той же час йому притамана більша захищеність, яка забезпечується централізованим управлінням.