Архитектура клиент-сървър

7.1.Arhitektura "клиент-сървър".

7.1.1.Osnovnye концепции.

Обикновено компютри и програми, които са част от информационната система не са равни. Някои от тях собствени ресурси (файлова система, CPU, принтер, бази данни и т.н.), докато други имат възможност за достъп до тези ресурси. Компютърът (или програмата), управление на ресурси, наречен сървър ресурс (файлов сървър, сървър за база данни, изчисляване на сървъра.). Клиентът и сървърът на ресурс може да се намира в рамките на една компютърна система или на различни компютри, свързани чрез мрежа.

Основният принцип на технологията "клиент-сървър" е да се разделят функциите на заявлението в три групи:
  • въвеждане и показване на данни (взаимодействие с потребителя);
  • приложни функции, които са типични за това приложение домейн;
  • функция за управление на ресурсите (файлова система, база данни danyh и т.н.)
Поради това, че следните компоненти са разпределени във всяко приложение:
  • докладване на компонент
  • компонент на приложението
  • компонент за управление на ресурсите
Комуникацията между компонентите се извършва в съответствие с определени правила, които се наричат ​​"протокол за сътрудничество".

7.1.2.Modeli клиент-сървър взаимодействие.

компания Gartner Group. специализирана в изучаването на информационните технологии, предложи следните класификация dvuhzvennyh модели на взаимодействие между клиент-сървър (двустепенна модел, те се наричат, защото трите съставни приложения са разпределени по различни начини между два възела):

Исторически погледнато, първото, модел на разпределена представяне на данни, което се осъществява на мейнфрейм с прикрепен към нея, неинтелигентни терминали. управление на данни и взаимодействие с потребителя, като в същото време обединени в една програма, терминал за предаване само "картина", образуван от централен компютър.

След това, с появата на персоналните компютри (PC) и локални мрежи са въведени модел достъп до отдалечена база данни. Известно време база за PC Networks има файлов сървър архитектура. По този начин един от компютрите е файлов сървър, екзекутиран на клиентското приложение, в които се комбинират компоненти за презентации и компонентите на приложения (СУБД и прилагат оригинална програма). Така Комуникационният протокол е настроен nizkourovnenyh призовава операцията на файловата система. Тази архитектура, изпълнена обикновено чрез личната база данни (., Точка 4.8), тя има очевидни недостатъци - натоварен трафик в мрежата и липсата на единен достъп до ресурси.

С въвеждането на първите специализирани сървъри за бази данни имат възможност на друго изпълнение на модел на достъп до отдалечената база данни. В този случай, машината на базата данни се изпълнява на сървъра, протокол, предоставена от SQL. Този подход е в сравнение с файловия сървър е намаляване на натоварването на мрежата и хармонизиране на интерфейс "клиент-сървър". Въпреки това, мрежовия трафик е достатъчно висок, освен това, все още не може да бъде задоволително прилагане на приложения, като една програма съчетава различни функции.

По-късно се развива концепцията на активното сървъра, който се използва механизма на съхранени процедури. Това позволи прехвърлянето на компонента за прилагане на сървъра (по модела на разпределени приложения). Процедури се съхраняват в базата данни речника поделя между няколко клиента и се изпълнява на същия компютър като SQL-сървър. Предимствата на този подход: възможност за централизирано администриране на приложни функции, се намалява значително трафика в мрежата (тъй като тя не се предава на SQL заявки и запомнената процедура за разговори). Недостатък - ограничени фондове за развитие на съхранени процедури, в сравнение с езици с общо предназначение (C и Паскал).

На практика в момента се използват рутинно смесен подход:
  • Прости функции за кандидатстване Извършваме съхранени процедури на сървъра
  • по-сложна, изпълнява на клиента директно към заявлението

Сега редица търговски производители на бази данни обяви плановете си за изпълнение на изпълнение на съхранени процедури, използвайки езикови механизми на Java. Това съответства на понятието "тънък клиент", чиято функция може да показва само данни (дистанционно представяне моделиране).

През последните години, тъй като има тенденция за увеличаване на използването на модел на разпределена приложение. Характерна особеност на тези приложения е приложение логическа разделяне на две или повече части, всяка от които може да работи на отделен компютър. Изолираните части на приложението да общуват помежду си чрез обмен на съобщения в предварително съгласуван формат. В този случай, клиент-сървър архитектура двустепенна става тристепенна, както и за някои случаи тя може да включва линкове и др.

7.1.3.Monitory сделки.

В този случай, когато информационната система обединява много различни информационни ресурси и сървъри за приложения, не е въпрос за оптимално управление на всички негови компоненти. В този случай, използвайте специализирани инструменти - за обработка на транзакции монитори (често наричани просто като "обработка на транзакции монитори"). Това понятие за сделка, се разширява, в сравнение с база данни, използвана в теорията. В този случай, не е атомна операция на базата данни, както и всяко действие в системата - пунктове за издаване, вписване в индекс файла, доклад печат и т.н.

За да общува с монитора на сделката приложение се използва специализиран API (приложен програмен интерфейс - programmmirovaniya заявление интерфейс), която се изпълнява като библиотека, която съдържа призив основни функции (свързват, да предизвика определена услуга и т.н.). Сървъри на приложения (услуги) са създадени с помощта на този API, всяка услуга се определя уникално име. TP монитор, който получи искане от приложната програма, го предава на съответната услуга повикване (ако той не се изпълнява, се генерира желания процес), след обработка на искането от сървъра на приложения връща резултатите до клиента. TP следи за взаимодействие с сървъри на бази данни, предназначени протокола XA. Наличието на такъв единен интерфейс позволява използването на едно приложение няколко различни бази данни.