
- •Розрахункова робота: Принципи міжмережевої взаємодії. Архітектура клієнт-сервер
- •2. Теоретична частина
- •2.1. Обчислювальна модель клієнт-сервера
- •2.2. Еволюція архітектури клієнт-сервера
- •2.3. Додатки клієнт-сервера
- •2.4. Бази даних
- •2.5 Класи додатка клієнт-сервера
- •2.6. Трирівнева архітектура
- •3. Мови програмування, які були використані
- •4. Реалізація проекту Структура:
- •5 . Верифікація розробленої системи
- •Висновок
2.3. Додатки клієнт-сервера
Важливою особливістю обчислювальної моделі клієнт-сервера являється поділ прикладних задач між клієнтами і серверами. Як на клієнті так і на сервері базовим програмним забезпеченням являється операційна система. Апаратні платформи та операційні системи клієнтів і серверів можуть відрізнятися. Але це не має значення, якщо сервер та клієнт використовують одні і ті ж комунікативні протоколи і підтримують одинакові додатки.
Взаємодія клієнта та сервера забезпечується комунікативним програмними забезпеченням. Прикладом такого програмного забезпечення являються набори протоколів TCP/IP, -протоколи OSI, а також різні фірмові архітектури,на подобі SNA(IBM,1974).
Призначення даного програмного забезпечення заклечається в представлені бази для розподілу додатків. В ідеальному варіанті виконувана додатком функція має бути розподілена між клієнтом та сервером таким чином, щоб обчислювальні та мережеві ресурси використовувалися оптимально, а користувачі получили оптимальні можливості для виконання задач. В деяких випадках може бути необхідним, щоб більша частина програмного забезпечення виконувалася на сервері, тоді як в інших випадках більша частина логіки можу бути реалізована на клієнті.
Важливим фактором успіху являється метод взаємодії клієнта з системою, тобто користувацький інтерфейс клієнтської машини. В більшості систем клієнт-сервер графічно інтерфейсу користувача (Graphical User Interface, GUI) приділяється багато уваги – він має бути прости і зручним, одночасно гнучким і потужним. Таким чином, модуль послуг представлення на робочій станції можна вважати відповідальним за дружній інтерфейс з розподіленими додатками.
Модуль послуг представлення не потрібно путати з рівнем представлення еталонної моделі OSI. Рівень представлення займається форматуванням даних для їх коректної інтерпретації кожним з двох взаємодіючих комп’ютерів. Модуль послуг представлення має справу з взаємодією користувача та додатка, а також з функціональністю графічного інтерфейсу користувача.
2.4. Бази даних
Розглянемо концепцію додатка розподіленого між клієнтом та сервером на прикладі реляційної бази даних. В даному середовищі сервер являється сервером баз даних. Взаємодія між клієнтом та сервером виконується в формі транзакцій, в яких клієнт посилає серверу запит і получає відповідь на нього.
Сервер відповідає за управління базою даних. На клієнтських машинах можуть бути різні додатки, які використовують базу даних. Спеціальне програмне забезпечення повязує клієнта і сервер, дозволяє клієнту виконувати запити і получати доступ до бази даних за допомогою запитів SQL.
Клієнтська робоча станція
Прикладна логіка
Логіка бази даних
Комунікативне програмне забезпечення
Операційна система клієнта
Логіка бази даних
Комунікативне програмне забезпечення
Операційна система сервера
Апаратна платформа
Послуги представлення
Апаратна платформа
Система управління базою даних
Сервер
Рис.2.2. Архітектура клієнт-сервера для бази даних
На рисунку показано, що вся прикладна логіка – програми для обробки та аналізу даних – розташовується на клієнтські стороні, тоді як сервер займається тільки управлінням базою даних. Плюси такої конфігурації залежать від стилю та задачі конкретного додатка. Наприклад, якщо основна ціль додатка заклечається в забезпеченні доступу для пошуку записів в режимі on-line. В такому випадку сервер керує базою даних, в якій знаходиться 1 мільон записів (строк), і користувач хоче виконувати операцію пошуку, результатом якої можу бути 0 записів, 1 запис або певна кількість. Користувач може шукати записи за певними критеріями. Початкови запит клієнта викликає відповідь сервера про те, що в базі даних наявно 100 000 записів, які підходять критерію.
При цьому користувач задає додаткові критерії і посилає новий запит. На цей раз сервер відповідає, що в базі є 1000 записів. В кінці, клієнт посилає 3 запит з додатковими критеріями, результатом пошуку являється один запис, який повертається клієнту.
Даний додаток добре відповідає архітектурі клієнт-сервера з двох причин:
З базою даних виконуюється великий обєм робіт по сортуванню та пошуку даних. Для цього необхідний велики диск чи массив дисків, високошвидкісний центральний процессор та високошвидкісна архітектура вводу-виводу. Таки ресурси не потрібні на однокористувацькій робочій станції чи на ПК.
Переміщення на клієнтську машину файлу з мільоном записів для пошуку являлося б дуже вижким моментом для мережі. Таким чином, серверу недостатньо получати доступ до записей від імені клієнта. Сервер повинен мати логіку бази даних, яка дозволить йому виконувати операцію пошуку від імені клієнта.