+380 (68) 223 35 83 +380 (50) 192 03 11 tov@notai.ua

Технологія клієнт-сервер


У попередній статті було використано два терміни: клієнт та сервер. Спробуємо розібратися. Я не буду вдаватися до визначень з вікіпедії та інших джерел. Розповім про ці сутності зі свого досвіду і практики. Розібратися з розумінням цих термінів важливо для визначення класу системи обліку, яку ви збираєтеся або вже використовуєте на підприємстві. У переважній більшості випадків системи, що використовуються в бізнесі, повинні бути засновані на технології клієнт-сервер, інакше ці системи не здатні впораться з навантаженнями навіть при невеликій кількості користувачів. Як правило без цієї технології ви можете обійтися тільки якщо програму використовує одна людина на одному комп'ютері. Такі програми зараз прийнято називати десктопними (дослівно - програми, які запускають з робочого столу). На противагу їм (на слуху зараз) існують веб-орієнтовані програми.

Однак повернемося до клієнта і сервера. Всі програми, які запускаються на комп'ютері можуть виступати і клієнтом, і сервером. Традиційно прийнято вважати що програма-клієнт щось запитує, а програма-сервер щось на цей запит відповідає. Це не уся правда, але вона пояснює принцип (рис.1): є програма-сервер, вона запущена на комп'ютері і знаходиться в очікуванні що її спитають і десь на іншому комп'ютері запускається користувачем інша програма, яка звертається до програми-сервера, і (увага!) є ще один комп'ютер і ще один користувач, і він запускає ще одну програму-клієнта. Таких користувачів може бути дуже багато. Таким чином традиційно вважається що сервер один, а клієнтів безліч. Це добре і це правильно для розуміння принципу.

І на цьому можна було б зупинитися, проте я вище згадував, що програми діляться на десктопні і веб-орієнтовані. Іншими словами десктопні запускаються на одному комп'ютері, а веб-орієнтовані (раніше їх називали мережеві програми) десь в "хмарах". Отже, правда у тому, що програми, які запускаються тільки на одному комп'ютері, можуть виявитися мережевими, веб-орієнтованними і навіть хмарними (рис. 2). Це до речі називається масштабуванням. А ось десктопна програма, як б її не намагалися роздмухати завжди залишиться деськтопной. "Народжений повзати літати не може."

Наведу найпоширеніший приклад клієнт-серверної програми. Будь-яка облікова програма, якщо дуже узагальнити, складається з власне програми і бази даних. Програма отримує і обробляє дані і повинна десь їх зберігати. Є програми, які самі працюють з базою даних, а є ті які працюють опосередковано через іншу програму-сервер. Як приклад дуже наочно можна привести програму 1С 7-й версії. Досить часто її використовують як десктопну. Тобто вона сама зберігає дані в файли таблиць (формат dbf) і сама їх звідти зчитує. Але її можна налаштувати інакше. Наприклад, на взаємодію з іншою базою даних MS SQL Server. Це, як ви повинні зрозуміти з назви, не просто база даних, а програма, і не просто програма, а сервер. Таким чином, якщо ви налаштуєте 1С7 на роботу з базою даних MS SQL Server, то це може означати що програма 1С7 є клієнтом, а програма "база даних MS SQL Server" є сервером. Ви можете поставити обидві ці програми на один комп'ютер, але від цього 1С7 не перестане бути клієнтом, а база даних - сервером. Їх також можна встановити на різні комп'ютери або взагалі сервер встановити на комп'ютер в іншій країні. Тоді ви можете хизувато казати своїм товаришам, що ваша складська програма працює з "хмарами".

Всі сучасні програми повинні вміти працювати з серверами бази даних, інакше вони не зможуть витримувати істотне навантаження, коли з програмою працює декілько користувачів. Але і цього недостатньо, щоб бути повноцінною клієнт-серверної програмою. В "хмарах" повинна знаходиться не тільки база даних, але і сама програма, а клієнтом в даному випадку виступає вікно звичайного браузера. "Облік-НОТАІ" працює саме так. Ви працюєте з нею через вікно браузера, для браузера "Облік-НОТАІ" є сервером. Але "Облік-НОТАІ" працює з сервером бази даних MySql і для сервера бази даних програма "Облік-НОТАІ" є клієнтом (рис.3). Так що все відносно. Задавайте питання.

КОНТАКТИ:
ТОВ "НОТАІ"
+380 (68) 223 35 83
+380 (50) 192 03 11
tov@notai.ua
62103, м.Богодухів, Харьківська обл.
вул.Свято-Духівська, 7а, офіс № 7