Дәріс «Клиент-сервер» технологиясының негіздері



бет1/2
Дата28.11.2023
өлшемі34,51 Kb.
#131170
  1   2

Дәріс 1. «Клиент-сервер» технологиясының негіздері. Желілік компьютерлік жүйелердегі клиенттер және серверлер ұғымы. Клиент-серверлік архитектуралар.
Клиент-серверлік жүйе өзара әрекеттесетін екі процестің – клиенттің және сервердің болуымен сипатталады, олар жалпы жағдайда желі ішінде мәлімет алмастыра отырып, әр түрлі компьютерлерде орындала алады.
Қандай да бір қызметті, мысалы файлдық жүйенің қызметін немесе деректер қорының қызметін жүзеге асыратын процестер серверлер (servers) деп аталады. Серверлерден сұраныс жіберу арқылы және одан кейін серверден жауап күту арқылы қызмет сұрататын процестер клиенттер (clients) деп аталады.
Осындай сұлба бойынша ДҚБЖ негізіндегі деректерді өңдеу жүйелері, пошталық және басқа да жүйелер құрылуы мүмкін. Түсініктірек болу үшін клиент-серверлік архитектураны файл-серверлік архитектурамен салыстырып көрейік.
Файл-серверлік жүйеде деректер файлдық серверде сақталады, ал олардың өңделуі жұмыс станцияларында жүзеге асырылады, жұмыс станцияларында «күнделікті ДҚБЖ-лардың» біреуі қызмет атқарады.
Жұмыс станциясындағы қосымша «барлығына жауап береді» - қолданушылық интерфейсті қалыптастыруға, деректерді логикалық өңдеуге және деректерді тікелей басқаруға жауап береді. Файлдық сервер тек ең төменгі деңгейдегі қызметтерді ұсынады – файлдарды (деректер қорын емес, файлдарды) ашу, жабу және өзгерту. Деректер қорын басқару жүйесі жұмыс станциясында орналасқан.
Осылайша, деректерді тікелей басқарумен бірнеше өзара тәуелсіз және үйлеспейтін процестер айналысады. Сонымен бірге, кез келген өңдеуді (іздеу, өзгерту, қосындылау және т.б.) жүзеге асыру үшін барлық деректерді желі ішінде серверден жұмыс станциясына жіберу керек. Клиент-серверлік жүйеде кем дегенде екі қосымша қызмет атқарады – клиент және сервер, олар файл-серверлік архитектурадағы жұмыс станциясының қосымшасы атқаратын қызметтерді өзара бөліп алады. Деректерді сақтаумен және оларды тікелей басқарумен деректер қорының сервері айналысады, деректер қорының сервері болып Microsoft SQL Server, Oracle, Sybase және т.с.с. қызмет атқара алады. Қолданушылық интерфейсті қалыптастырумен клиент айналысады, оны құру үшін бірқатар құралдарды, сонымен қатар күнделікті ДҚБЖ-лардың көпшілігін қолдануға болады. Деректерді өңдеу логикасы клиентте де, серверде де орындала алады. Клиент серверге SQL тілінде жазылған сұраныстарды жібереді. Сервер бұл сұраныстарды өңдеп, клиентке нәтижесін жібереді (әрине, клиенттер көп болуы мүмкін).
Осылайша, деректерді тікелей басқарумен бір процесс айналысады. Бұл ретте деректерді өңдеу деректер сақталған жерде, яғни серверде орындалады, бұл желі ішінде үлкен көлемді деректерді тасымалдау қажеттілігінен арылтады.
Клиент-сервер архитектурасы бізге не береді?
Осы архитектураны бизнеске қажеттілік жағынан қарастырайық. Клиент-сервер ақпараттық жүйеге қандай артықшылық алып келеді?
Сенімділік
Деректер қорының сервері транзакциялар ретінде жарияланған кез келген операциялар жиынына келесідей қасиеттер беретін транзакциялар механизмі негізінде деректерді өзгертеді:
- атомдық – кез келген жағдайда транзакцияның барлық операциялары орындалады немесе ешбір операциясы орындалмайды; транзакция аяқталған кезде деректердің бүтіндігі;
- тәуелсіздік – әр түрлі қолданушылар бастаған транзакциялар бір-бірінің істеріне араласпайды;
- кедергілерге төзімділік – транзакцияны аяқтаған кезде оның нәтижелері жоғалмайды.
Деректер қорында болатын транзакциялар механизмі күнделікті ДҚБЖ-лардағы сондай механизмге қарағанда әлдеқайда тиімді, себебі сервер транзакциялар жұмысын орталықтан бақылап отырады. Сонымен қатар, файл-серверлік жүйеде жұмыс станцияларының кез келгенінде болған іркіліс деректердің жоғалуына және олардың басқа станцияларға қолжетімсіз болып қалуына алып келуі мүмкін, ал клиент-серверлік жүйеде клиентте болған іркіліс деректердің бүтіндігіне және олардың басқа клиентке қолжетімділігіне ешқашан әсер етпейді.
Масштабталуы
Масштабталу – бағдарламалық қамтаманы ауыстырмастан, аппараттық платформаның өнімділігін сәйкесінше арттырған кездегі жүйенің қолданушылар санын және деректер қорының көлемін арттыруға бейімделу қабілеттілігі.
Күнделікті ДҚБЖ мүмкіншіліктері айтарлықтай шектеулі. Бұл кемшіліктерден аппаратураның мүмкіншіліктерін арттыру есебінен арылу мүмкін емес.
Деректер қорынының серверлеріне негізделген жүйелер болса, мыңдаған қолданушыларды және үлкен көлемді ақпаратты ұстап тұра алады.
Қауіпсіздік
Деректер қорларының сервері деректерге рұқсатсыз кіруден қорғаудың қуатты құралдарын ұсынады, ал күнделікті ДҚБЖ-да бұл мүмкін емес. Бұл ретте қолжетімділік құқықтары өте ыңғайлы басқарылады – кестелердің жолдарына дейін шектеу қойыла алады. Сонымен қатар, кестелерге тікелей қатынас жасауға мүлдем тыйым салуға болады, қолданушы деректермен көрсетілімдер мен сақталатын процедуралар сияқты аралық объектілер арқылы қатынас жасайды.
Икемділік
Деректермен жұмыс істейтін қосымшада үш логикалық қабатты бөліп көрсетуге болады:

  • қолданушылық интерфейс;

  • логикалық өңдеу ережелері (бизнес-ережелер);

  • деректерді басқару (логикалық қабаттарды физикалық деңгейлермен шатастырмаған жөн, олар туралы төменде айтылады).

Жоғарыда айтылып өткендей, файл-серверлік архитектурада барлық үш қабат жұмыс станциясында қызмет атқаратын біртұтас қосымшада жүзеге асырылады. Сондықтан қабаттардың кез келгенінде жасалған өзгерістер қосымшаның өзгеруіне және оның жұмыс станцияларындағы нұқсаларының жаңартылуына алып келеді.
Екі деңгейлі клиент-серверлік қосымшада негізінен қолданушылық интерфейсті қалыптастыру бойынша барлық функциялар клиентте орындалады, деректерді басқару бойынша барлық функциялар серверде орындалады, ал бизнес-ережелерді сервердің программалау механизмдерін (сақталатын процедуралар, триггерлер, көрсетілімдер және т.с.с.) қолдана отырып, серверде де, сонымен қатар клиентте де жүзеге асыруға болады.
Үш деңгейлі қосымшада үшінші аралық деңгей пайда болады, ол қосымшаның ең жиі өзгертілетін компоненттері болып табылатын бизнес-ережелерді жүзеге асырады (Клиент-серверлік қосымшаның үш деңгейлі моделі).
Бір емес, бірнеше деңгейдің болуы қосымшаны бизнестің өзгеріп тұратын талаптарына икемді және аз көлемді шығынмен бейімдеуге мүмкіндік береді.
Көрнекі мысал қарастырайық. Қандай да бір ұйымда еңбек ақыны есептеу тәртібі (бизнес-ережелер) өзгерді деп санайық және соған сәйкес бағдарламалық қамтаманы жаңарту керек.
1) Файл-серверлік жүйеде біз қосымшаға өзгерістер енгізіп, оның басқа жұмыс станцияларындағы нұсқаларын жаңартамыз. Бірақ бұл көп еңбек пен қаражатты талап етеді.
2) Екі деңгейлі клиент-серверлік жүйеде егер еңбек ақыны есептеу алгоритмі еңбек ақыны есептеу ережелері түрінде серверде жүзеге асырылған болса, оны бизнес-ережелер сервері орындайды, сосын біз клиенттік қосымшада да, деректер қорларының серверінде де еш нәрсені өзгертпестен оның объектілерінің бірін жаңартамыз.


Достарыңызбен бөлісу:
  1   2




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет