Архітектура клієнт-сервер: визначення, передумови для застосування, плюси і мінуси



Архітектура клієнт-сервер

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

На певному етапі розвитку інформаційної системи підприємства всі ці обмеження стають принципово важливими. Як правило, цей стрибок відбувається при переході до вирішення в рамках автоматизованої системи завдань масштабу підприємства. При цьому постає завдання переходу до архітектури клієнт-сервер.

Рис. 1 Архітектура клієнт-сервер з клієнтської сторони

 

Як і для файл-серверної архітектури, складовими компонентами клієнт-серверної архітектури є сервер, клієнтські місця і мережна інфраструктура. Однак сервер тут є вже не сервером файлів, а сервером баз даних або навіть сервером додатків. Таким чином, на сервер лягає не просто зберігання файлів, а підтримання бази даних в цілісному стані або, в разі сервера додатків, навіть виконання тієї чи іншої частини прикладної задачі. Природно, що вимоги до сервера при цьому можуть зростати в рази.

З іншого боку, те, що сервер володіє інформацією про характер збереженої бази даних, дозволяє набагато збільшити ефективність обробки. Тому для багатьох завдань автоматизації навантаження на сервер за рахунок більш оптимального виконання операцій над даними в порівнянні з аналогічними файл-серверними додатками може навіть зменшитися.

Відповідно, спілкування між клієнтом і сервером відбувається не на рівні файлів, а на рівні обміну запитами. Клієнт передає серверу високорівневі запити на отримання тієї чи іншої інформації або на її зміну, а сервер повертає клієнту результати виконання запитів. При цьому, на відміну від файл-серверної архітектури, доступ до даних не є прозорим для користувача програми. Тому, технологія розробки таких додатків принципово відмінна від локальних і файл-серверних систем.

На сучасному етапі мережне забезпечення для архітектури клієнт-сервер аналогічно файл-серверної. Клієнт-серверні системи можуть будуватися з використанням тих же мережних технологій і на тій же мережній інфраструктурі. Більш того, як правило, на підприємстві мирно співіснують обидві ці архітектури. Це викликано двома основними причинами. По-перше, що на будь-якому підприємстві багато завдань, пов'язаних із зберіганням та обміном документами, які являють собою окремі файли, а для них архітектура файл-сервер оптимальна. По-друге, файл-серверні завдання в тому чи іншому обсязі майже завжди зберігаються в тому чи іншому обсязі і експлуатуються поряд з створюваними клієнт-серверними додатками.

З точки зору мережної взаємодії принципово новим у додатках клієнт-сервер є можливість переходу до використання глобальної мережі. Швидкість обміну в такій мережі може бути на порядок нижче, а відстані між робочими місцями можуть досягати кілометрів і навіть десятків кілометрів. Це здійснено, оскільки в додатках клієнт-сервер обсяг переданої інформації може бути радикально скорочений за рахунок використання високорівневих запитів до даних.

Але головною зміною, яка може бути здійснена промисловим підприємством при переході до клієнт-серверної архітектури - це якісний стрибок у масштабах завдань, що вирішуються при комп'ютеризації, в тому, наскільки комплексно автоматизується управління виробництвом, в рівні цілісності та достовірності даних, що зберігаються в інформаційній системі.

Слід зазначити, що поява клієнт-серверних додатків на підприємстві - процес важкий і часто болючий. Причому, крім вирішення технічних та фінансових проблем, при цьому переході дуже важливо здійснити зміну самого рівня управління, що тягне за собою величезну організаційну роботу.

 

 

Архітектура клієнт-сервер: визначення, передумови для застосування, плюси і мінуси

Строго кажучи, слід відрізняти технологію клієнт-сервер в широкому сенсі, яка може бути використана в будь-яких комп'ютерних системах від власне архітектури клієнт-сервер стосовно до інформаційним програмам взагалі і автоматизованим системам управління підприємством особливо.

Згідно онлайновому словнику комп'ютерних термінів, клієнт-сервер - це вид розподіленої системи, в якій є сервер виконує запити клієнта, причому сервер і клієнт спілкуються між собою з використанням того або іншого протоколу.

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

Таке широке визначення народжує деяку плутанину. Так, файл-серверна система теж використовує технологію клієнт-сервер, однак з точки зору архітектури прикладних програм важливим є те, якого роду ресурси сервер надає клієнтам.

Поняття архітектури клієнт-сервер в системах управління підприємством пов'язане з поділом будь прикладної програми на три основних компоненти або шару. Цими трьома компонентами є:

- компонент подання (візуалізації) даних;

- компонент прикладної логіки;

- компонент управління базою даних.

Оскільки архітектура клієнт-сервер є окремим випадком технології клієнт-сервер, в ній обов'язково є клієнт і сервер. Відповідно, виділяють клієнтську і серверну сторону додатка. Клієнтська сторона додатка функціонує на робочому місці користувача, в ролі якого в переважній кількості випадків виступає персональний комп'ютер. Серверна сторона функціонує на спеціалізованому комплексі, що включає в себе потужні апаратні засоби, необхідний набір стандартного програмного забезпечення, систему управління базами даних та власно структури даних.

Взаємодія клієнтської і серверної частин додатка здійснюється через мережу - локальну або глобальну. При цьому з точки зору клієнта і сервера взаємодія здійснюється прозоро, відповідно мережний компонент тут включає в себе сукупність необхідного мережного обладнання, набір програмних технологій, що забезпечують передачу даних між вузлами мережі, а також власне протокол або протоколи для обміну запитами та результатами їх виконання.

Компонент візуалізації прикладної задачі здійснює введення інформації користувачем за допомогою тих чи інших засобів, а також виведення інформації на екран і друк. Компонент візуалізації для архітектури клієнт-сервер завжди виконується на робочому місці користувача (оскільки повинен же він спостерігати які-небудь результати роботи програми).

Компонент прикладної логіки вирішує власне ту чи іншу задачу, пов'язану з обробкою даних в тій чи іншій предметній області. Цей компонент може бути розподілений між клієнтської і серверної частиною різним чином залежно від застосовуваної моделі.

Компонент зберігання бази даних здійснює фізичні операції, пов'язані із зберіганням даних, читанням інформації з БД і записом в неї. В архітектурі клієнт-сервер цей компонент завжди виконується на сервері.

Архітектуру сервера додатків часто називають так званим "тонким" клієнтом, на відміну від традиційного "товстого" клієнта, реалізованого в архітектурі сервера баз даних. "Тонкий" клієнт є варіантом, який може бути використаний, коли ресурсів, доступних на робочих місцях користувачів, недостатньо для виконання логіки додатка. Крім того, ця технологія дозволяє скоротити витрати на експлуатацію клієнтських компонент системи за рахунок їх сильного спрощення.

 


Дата добавления: 2018-06-27; просмотров: 977; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!