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