Архітектура клієнт-сервер є одним із архітектурних шаблонів програмного забезпечення та є домінуючою концепцією у створенні розподілених мережних застосунків і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:
- набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них;
- набір клієнтів, які використовують сервіси, що надаються серверами;
- мережа, яка забезпечує взаємодію між клієнтами та серверами.
Сервери є незалежними один від одного. Клієнти також функціонують паралельно і незалежно один від одного. Немає жорсткої прив'язки клієнтів до серверів. Більш ніж типовою є ситуація, коли один сервер одночасно обробляє запити від різних клієнтів; з іншого боку, клієнт може звертатися то до одного сервера, то до іншого. Клієнти мають знати про доступні сервери, але можуть не мати жодного уявлення про існування інших клієнтів.
Клієнт та сервер
Дуже важливо ясно уявляти, хто або що розглядається як «клієнт». Можна говорити про клієнтський комп'ютер, з якого відбувається звернення до інших комп'ютерів. Можна говорити про клієнтське та серверне програмне забезпечення. Нарешті, можна говорити про людей, які бажають за допомогою відповідного програмного та апаратного забезпечення отримати доступ до тієї чи іншої інформації.
Загальноприйнятим є положення, що клієнти та сервери — це перш за все програмні модулі. Найчастіше вони знаходяться на різних комп'ютерах, але бувають ситуації, коли обидві програми — і клієнтська, і серверна, фізично розміщуються на одній машині; в такій ситуації сервер часто називається локальним.
Обов'язки та взаємодія
Модель клієнт-серверної взаємодії визначається перш за все розподілом обов'язків між клієнтом та сервером. Логічно можна відокремити три рівні операцій:
- рівень представлення даних, який по суті являє собою інтерфейс користувача і відповідає за представлення даних користувачеві і введення від нього керуючих команд;
- прикладний рівень, який реалізує основну логіку застосунку і на якому здійснюється необхідна обробка інформації;
- рівень управління даними, який забезпечує зберігання даних та доступ до них.
Дворівнева клієнт-серверна архітектура передбачає взаємодію двох програмних модулів — клієнтського та серверного. В залежності від того, як між ними розподіляються наведені вище функції, розрізняють:
- модель тонкого клієнта, в рамках якої вся логіка застосунку та управління даними зосереджена на сервері. Клієнтська програма забезпечує тільки функції рівня представлення;
- модель товстого клієнта, в якій сервер тільки керує даними, а обробка інформації та інтерфейс користувача зосереджені на стороні клієнта. Товстими клієнтами часто також називають пристрої з обмеженою потужністю: кишенькові комп'ютери, мобільні телефони та ін.
Приклади
Типовим прикладом клієнт-серверної взаємодії є WWW. Існує величезна кількість вебсерверів, на яких розміщується та чи інша інформація. У найпростішому випадку ця інформація являє собою набір вебсторінок, які можуть зберігатися на сервері у вигляді файлів, розмічених за допомогою мови розмітки HTML. Але ситуація, як правило, є складнішою; значна частина на сучасному етапі є динамічними, тобто вони не існують в заздалегідь підготовленому вигляді, а створюються безпосередньо в процесі обробки запиту від користувача.
Для того, щоб людина, яка працює в Інтернеті, могла переглянути ту чи іншу сторінку, на її комп'ютері повинно бути встановлено відповідне програмне забезпечення. Програми для перегляду вебсторінок називаються браузерами (вебоглядачами). Найпоширеніші браузери: Google Chrome, Internet Explorer, Firefox, Safari і Opera.
Але, крім браузерів, до серверів можуть звертатися і інші клієнти, а саме — автономні програми. Вони можуть передбачати взаємодію з людиною, а можуть працювати в цілком автоматичному режимі. Типовим класом таких програм є роботи, призначені для автоматичного перегляду вебресурсів. Зокрема, роботи є важливим елементом пошукових систем і використовуються ними для перегляду сторінок і збору інформації про них.
Для запиту до вебсервера клієнтська програма повинна задати місцезнаходження комп'ютера, на якому розміщується серверна програма, назву потрібного документа і, можливо, інші дані, які специфікують запит. Мережа забезпечує знаходження сервера і передачу йому клієнтського запиту. Серверні програми обробляють цей запит, відповідь пересилається по мережі клієнтові.
Трирівнева архітектура
Трирівнева клієнт-серверна архітектура, яка почала розвиватися з середини 90-х років, передбачає відділення прикладного рівня від управління даними. Відокремлюється окремий програмний рівень, на якому зосереджується прикладна логіка застосунку. Програми проміжного рівня можуть функціювати під управлінням спеціальних серверів застосунків, але запуск таких програм може здійснюватися і під управлінням звичайного вебсервера. Нарешті, управління даними здійснюється сервером даних.
Для роботи з системою користувач використовує стандартне програмне забезпечення — звичайний браузер. Це позбавляє його необхідності завантажувати та інсталювати спеціальні програми (хоча інколи така необхідність все-таки виникає). Але користувачеві слід надати в розпорядженні інтерфейс, який дозволяв би йому взаємодіяти з системою і формувати запити до неї. Форми, що визначають цей інтерфейс, розміщуються на вебсторінках та завантажуються разом з ними.
Вебоглядач формує запит та пересилає його до сервера, який здійснює обробку. При необхідності сервер викликає серверні програмні модулі, які забезпечують обробку запиту і в разі потреби звертаються до сервера даних. Сервер даних здійснює операції з даними, що зберігаються в системі та складають її інформаційну основу. Зокрема, він може здійснити вибірку з інформаційної бази відповідно до запиту та передати її модулю проміжного рівня для подальшої обробки. Дані, з якими працює сервер даних, найчастіше організовані як реляційна база даних.
Найчастіше вебсервер і серверні модулі проміжного рівня розміщуються на одному комп'ютері, хоч і являють собою окремі і логічно незалежні програмні модулі.
Приклади
На сучасному етапі для програмування модулів проміжного рівня використовується мова серверних сценаріїв PHP, а для управління даними — система керування базами даних MySQL. Таким чином, зв'язку PHP-MySQL слід розглядати як стандартний інструмент для створення порівняно простих інтерактивних вебсайтів та систем електронної комерції; близько 90% комерційних систем сьогодні[] створюється саме на цій основі. Водночас як засоби управління даними, так і middleware-засоби можуть бути найрізноманітнішими. Так, для створення серверних застосунків, крім PHP, широко застосовуються Java, Perl, Python. Взагалі, технології створення розподілених, зокрема вебдодатків, стрімко розвиваються. Слід згадати про технології EJB (Enterprise Java Beans), CORBA, а також про .NET — порівняно нову ініціативу компанії Microsoft. Для зберігання даних та їх передачі часто використовується так звана розширювана мова розмітки XML (Extensible Markup Language).
Посилання
- Інтернет-термінал НСМЕП // Банківська енциклопедія / С. Г. Арбузов, Ю. В. Колобов, , . — Київ : Центр наукових досліджень Національного банку України : Знання, 2011. — С. 199. — (Інституційні засади розвитку банківської системи України). — .
- Інтернет-термінал (НСМЕП) // Термінологічний словник з питань запобігання та протидії легалізації (відмиванню) доходів, одержаних злочинним шляхом, фінансуванню тероризму, фінансуванню розповсюдження зброї масового знищення та корупції / А. Г. Чубенко, М. В. Лошицький, Д. М. Павлов, С. С. Бичкова, О. С. Юнін. — Київ : Ваіте, 2018. — С. 314. — .
Ця стаття не містить . (березень 2014) |
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina Kliyent znachennya Arhitektura kliyent server ye odnim iz arhitekturnih shabloniv programnogo zabezpechennya ta ye dominuyuchoyu koncepciyeyu u stvorenni rozpodilenih merezhnih zastosunkiv i peredbachaye vzayemodiyu ta obmin danimi mizh nimi Vona peredbachaye taki osnovni komponenti nabir serveriv yaki nadayut informaciyu abo inshi poslugi programam yaki zvertayutsya do nih nabir kliyentiv yaki vikoristovuyut servisi sho nadayutsya serverami merezha yaka zabezpechuye vzayemodiyu mizh kliyentami ta serverami Model kliyent server Serveri ye nezalezhnimi odin vid odnogo Kliyenti takozh funkcionuyut paralelno i nezalezhno odin vid odnogo Nemaye zhorstkoyi priv yazki kliyentiv do serveriv Bilsh nizh tipovoyu ye situaciya koli odin server odnochasno obroblyaye zapiti vid riznih kliyentiv z inshogo boku kliyent mozhe zvertatisya to do odnogo servera to do inshogo Kliyenti mayut znati pro dostupni serveri ale mozhut ne mati zhodnogo uyavlennya pro isnuvannya inshih kliyentiv Kliyent ta serverDuzhe vazhlivo yasno uyavlyati hto abo sho rozglyadayetsya yak kliyent Mozhna govoriti pro kliyentskij komp yuter z yakogo vidbuvayetsya zvernennya do inshih komp yuteriv Mozhna govoriti pro kliyentske ta serverne programne zabezpechennya Nareshti mozhna govoriti pro lyudej yaki bazhayut za dopomogoyu vidpovidnogo programnogo ta aparatnogo zabezpechennya otrimati dostup do tiyeyi chi inshoyi informaciyi Zagalnoprijnyatim ye polozhennya sho kliyenti ta serveri ce persh za vse programni moduli Najchastishe voni znahodyatsya na riznih komp yuterah ale buvayut situaciyi koli obidvi programi i kliyentska i serverna fizichno rozmishuyutsya na odnij mashini v takij situaciyi server chasto nazivayetsya lokalnim Obov yazki ta vzayemodiya Model kliyent servernoyi vzayemodiyi viznachayetsya persh za vse rozpodilom obov yazkiv mizh kliyentom ta serverom Logichno mozhna vidokremiti tri rivni operacij riven predstavlennya danih yakij po suti yavlyaye soboyu interfejs koristuvacha i vidpovidaye za predstavlennya danih koristuvachevi i vvedennya vid nogo keruyuchih komand prikladnij riven yakij realizuye osnovnu logiku zastosunku i na yakomu zdijsnyuyetsya neobhidna obrobka informaciyi riven upravlinnya danimi yakij zabezpechuye zberigannya danih ta dostup do nih Dvorivneva kliyent serverna arhitektura peredbachaye vzayemodiyu dvoh programnih moduliv kliyentskogo ta servernogo V zalezhnosti vid togo yak mizh nimi rozpodilyayutsya navedeni vishe funkciyi rozriznyayut model tonkogo kliyenta v ramkah yakoyi vsya logika zastosunku ta upravlinnya danimi zoseredzhena na serveri Kliyentska programa zabezpechuye tilki funkciyi rivnya predstavlennya model tovstogo kliyenta v yakij server tilki keruye danimi a obrobka informaciyi ta interfejs koristuvacha zoseredzheni na storoni kliyenta Tovstimi kliyentami chasto takozh nazivayut pristroyi z obmezhenoyu potuzhnistyu kishenkovi komp yuteri mobilni telefoni ta in Prikladi Tipovim prikladom kliyent servernoyi vzayemodiyi ye WWW Isnuye velichezna kilkist vebserveriv na yakih rozmishuyetsya ta chi insha informaciya U najprostishomu vipadku cya informaciya yavlyaye soboyu nabir vebstorinok yaki mozhut zberigatisya na serveri u viglyadi fajliv rozmichenih za dopomogoyu movi rozmitki HTML Ale situaciya yak pravilo ye skladnishoyu znachna chastina na suchasnomu etapi ye dinamichnimi tobto voni ne isnuyut v zazdalegid pidgotovlenomu viglyadi a stvoryuyutsya bezposeredno v procesi obrobki zapitu vid koristuvacha Dlya togo shob lyudina yaka pracyuye v Interneti mogla pereglyanuti tu chi inshu storinku na yiyi komp yuteri povinno buti vstanovleno vidpovidne programne zabezpechennya Programi dlya pereglyadu vebstorinok nazivayutsya brauzerami veboglyadachami Najposhirenishi brauzeri Google Chrome Internet Explorer Firefox Safari i Opera Ale krim brauzeriv do serveriv mozhut zvertatisya i inshi kliyenti a same avtonomni programi Voni mozhut peredbachati vzayemodiyu z lyudinoyu a mozhut pracyuvati v cilkom avtomatichnomu rezhimi Tipovim klasom takih program ye roboti priznacheni dlya avtomatichnogo pereglyadu vebresursiv Zokrema roboti ye vazhlivim elementom poshukovih sistem i vikoristovuyutsya nimi dlya pereglyadu storinok i zboru informaciyi pro nih Dlya zapitu do vebservera kliyentska programa povinna zadati misceznahodzhennya komp yutera na yakomu rozmishuyetsya serverna programa nazvu potribnogo dokumenta i mozhlivo inshi dani yaki specifikuyut zapit Merezha zabezpechuye znahodzhennya servera i peredachu jomu kliyentskogo zapitu Serverni programi obroblyayut cej zapit vidpovid peresilayetsya po merezhi kliyentovi Tririvneva arhitekturaTririvneva kliyent serverna arhitektura yaka pochala rozvivatisya z seredini 90 h rokiv peredbachaye viddilennya prikladnogo rivnya vid upravlinnya danimi Vidokremlyuyetsya okremij programnij riven na yakomu zoseredzhuyetsya prikladna logika zastosunku Programi promizhnogo rivnya mozhut funkciyuvati pid upravlinnyam specialnih serveriv zastosunkiv ale zapusk takih program mozhe zdijsnyuvatisya i pid upravlinnyam zvichajnogo vebservera Nareshti upravlinnya danimi zdijsnyuyetsya serverom danih Dlya roboti z sistemoyu koristuvach vikoristovuye standartne programne zabezpechennya zvichajnij brauzer Ce pozbavlyaye jogo neobhidnosti zavantazhuvati ta instalyuvati specialni programi hocha inkoli taka neobhidnist vse taki vinikaye Ale koristuvachevi slid nadati v rozporyadzhenni interfejs yakij dozvolyav bi jomu vzayemodiyati z sistemoyu i formuvati zapiti do neyi Formi sho viznachayut cej interfejs rozmishuyutsya na vebstorinkah ta zavantazhuyutsya razom z nimi Veboglyadach formuye zapit ta peresilaye jogo do servera yakij zdijsnyuye obrobku Pri neobhidnosti server viklikaye serverni programni moduli yaki zabezpechuyut obrobku zapitu i v razi potrebi zvertayutsya do servera danih Server danih zdijsnyuye operaciyi z danimi sho zberigayutsya v sistemi ta skladayut yiyi informacijnu osnovu Zokrema vin mozhe zdijsniti vibirku z informacijnoyi bazi vidpovidno do zapitu ta peredati yiyi modulyu promizhnogo rivnya dlya podalshoyi obrobki Dani z yakimi pracyuye server danih najchastishe organizovani yak relyacijna baza danih Najchastishe vebserver i serverni moduli promizhnogo rivnya rozmishuyutsya na odnomu komp yuteri hoch i yavlyayut soboyu okremi i logichno nezalezhni programni moduli Prikladi Na suchasnomu etapi dlya programuvannya moduliv promizhnogo rivnya vikoristovuyetsya mova servernih scenariyiv PHP a dlya upravlinnya danimi sistema keruvannya bazami danih MySQL Takim chinom zv yazku PHP MySQL slid rozglyadati yak standartnij instrument dlya stvorennya porivnyano prostih interaktivnih vebsajtiv ta sistem elektronnoyi komerciyi blizko 90 komercijnih sistem sogodni koli stvoryuyetsya same na cij osnovi Vodnochas yak zasobi upravlinnya danimi tak i middleware zasobi mozhut buti najriznomanitnishimi Tak dlya stvorennya servernih zastosunkiv krim PHP shiroko zastosovuyutsya Java Perl Python Vzagali tehnologiyi stvorennya rozpodilenih zokrema vebdodatkiv strimko rozvivayutsya Slid zgadati pro tehnologiyi EJB Enterprise Java Beans CORBA a takozh pro NET porivnyano novu iniciativu kompaniyi Microsoft Dlya zberigannya danih ta yih peredachi chasto vikoristovuyetsya tak zvana rozshiryuvana mova rozmitki XML Extensible Markup Language PosilannyaInternet terminal NSMEP Bankivska enciklopediya S G Arbuzov Yu V Kolobov Kiyiv Centr naukovih doslidzhen Nacionalnogo banku Ukrayini Znannya 2011 S 199 Institucijni zasadi rozvitku bankivskoyi sistemi Ukrayini ISBN 978 966 346 923 2 Internet terminal NSMEP Terminologichnij slovnik z pitan zapobigannya ta protidiyi legalizaciyi vidmivannyu dohodiv oderzhanih zlochinnim shlyahom finansuvannyu terorizmu finansuvannyu rozpovsyudzhennya zbroyi masovogo znishennya ta korupciyi A G Chubenko M V Loshickij D M Pavlov S S Bichkova O S Yunin Kiyiv Vaite 2018 S 314 ISBN 978 617 7627 10 3 Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno berezen 2014 Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi