Технологія клієнт-сервер
Технологія клієнт-сервер передбачає наявність двох самостійних взаємодіючих процесів - сервера і клієнта, зв`язок між якими здійснюється через мережу.
Відео: ТЕХНОЛОГІЯ КЛІЄНТ-СЕРВЕР
Серверами називаються процеси, що відповідають за підтримку бази даних і файлової системи, а клієнтами - процеси, які надсилають запит і чекає на відповідь від сервера.
Модель клієнт-сервер використовується при побудові системи обробки інформації на основі СУБД, а також поштові системи. Існує ще так звана файл-серверна архітектура, яка істотно відрізняється від клієнт-серверної.
Дані в файл-серверної системи зберігаються на файловому сервері (Novell NetWare або WindowsNT Server), а обробляються вони на робочих станціях за допомогою функціонування "настільних СУБД", Таких як Access, Paradox, FoxPro і т.п.
СУБД розташовується на робочої станції, а маніпулювання даними проводиться декількома незалежними і неузгодженими між собою процесами. Всі дані при цьому передаються з сервера по мережі на робочу станцію, що уповільнює швидкість обробки інформації.
Технологія клієнт-сервер реалізована функціонуванням двох (як мінімум) додатків - клієнтів і сервера, які ділять функції між собою. За зберігання і безпосереднє маніпулювання даних відповідає сервер, прикладом якого може бути SQLServer, Oracle, Sybase та інші.
Інтерфейс формує клієнт, в основі побудови якого використовуються спеціальні інструменти або настільні СУБД. Логічна обробка даних виконується частково на клієнті, і частково на сервері. Посилка запитів на сервер виконується клієнтом, зазвичай на мові SQL. Отримані запити обробляються сервером, і клієнтові (клієнтам) повертається результат.
При цьому дані обробляються там же, де вони зберігаються - на сервері, тому великий обсяг їх не передається по мережі.
Відео: [Java] Створюємо клієнт-сервер-клієнт чат
Переваги архітектури клієнт-сервер
Технологія клієнт-сервер привносить в інформаційну систему такі якості:
- надійність
Модифікація даних здійснюється сервером баз даних за допомогою механізму транзакцій, що додає сукупності операцій такі властивості, як: 1) атомарность, яка забезпечує цілісність даних при будь-якому завершенні транзакціі- 2) незалежність транзакцій різних корстувачів 3) стійкість до збоїв - збереження результатів завершення транзакції.
- Масштабованість, тобто здатність системи не залежати від кількості користувачів і обсягів інформації без заміни використовуваного програмного забезпечення.
Технологія клієнт-сервер підтримує тисячі користувачів і гігабайти інформації при відповідній апаратній платформі.
- Безпека, тобто надійний захист інформації від несанкціонованого доступу.
- Гнучкість. У додатках, що працюють з даними, виділяють логічних шари: призначений для користувача інтерфейс- правила логічної обробки-управління даними.
Як вже було зазначено, в файл-серверної технології все три шару об`єднуються в одне монолітне додаток, яке функціонує на робочій станції, а всі зміни в шарах обов`язково призводять до модифікації додатки, розрізняються версії клієнта і сервера, і потрібно проводити оновлення версій на всіх робочих станціях .
Технологія клієнт-сервер в дворівневому додатку передбачає виконання всіх функцій по формуванню інтерфейсу користувача на клієнті, а всіх функцій з управління інформацією баз даних - на сервері, бізнес-правила можливо реалізовувати як на сервері, так і на клієнті.
Трирівневе додаток допускає проміжний рівень, який реалізує бізнес-правила, які є найбільш змінними компонентами.
Кілька рівнів дозволяють гнучко і з найменшими витратами адаптувати наявну додаток до постійно модифікується вимогам бізнесу.