Әдебиет: 1нег[596-665], 2нег[11-20], 3қос[21-35].
Бақылау сұрақтары:
1. Қолданбалы қосышмаларды клиенттер мен серверлерге бөлу не үшін қажет?
2. Бағдарламалық қамтама қандай принцип бойынша бөлінеді?
3. Файл-серверлік жүйенің мәні неде?
4. Клиент-серверлік жүйенің мәні неде?
5. Клиент-серверлік жүйенің негізгі сипаттамалары қандай?
Дәріс 2. Таратылған жүйелер мен қосымшалар. Таратылған компьютерлік жүйе ұғымы. Клиент-сервер архитектурасын ұйымдастыру түрлері.
Таратылған жүйе – бұл қолданушыларға бірыңғай біріктірілген жүйе болып көрінетін тәуелсіз компьютерлердің жиыны.
Таратылған жүйенің екі аспектісін бөліп көрсетуге болады:
- біріншісі – барлық компьютерлер автономды;
- екіншісі – қолданушы үшін бұл бірыңғай жүйе.
Интернеттегі таратылған қосымшалар көбінесе клиент-сервер моделінің – қосымшаларды немесе операциялық жүйелерді серверлік процестерге бөлу арқылы құрылымдау модельдерінің негізінде жасалады, олардың әрқайсысы клиенттік процестерге арналған арнайы қызметтер жиыны болып табылады, және әрбір серверлік процесс бір немесе бірнеше клиенттік процеспен қатынас жасай алады.
Басты сұрақтардың бірі – клиент пен серверді қалайша дәлме-дәл бөлуге болады? Деректер қорына қолжетімділікті ұйымдастыруға арналған клиент-сервер типті қосымшаларды талдау оларды үш деңгейлі логикалық бөлуге алып келді:
- қолданушылық интерфейс деңгейі;
- өңдеу деңгейі;
- деректер деңгейі.
Клиент-сервер архитектурасын құру түрлері клиент пен сервердің қандай тапсырмаларды шешетінімен өзгешеленеді (1-сурет):
1- сурет. Клиент-сервер архитектурасын құру түрлері
Мысалы, Интернетте клиент пен сервердің әрекеттесуі клиенттің серверге жіберетін сұраныстарының және сервердің клиент жіберген сұраныстарға жауаптарының көмегімен жүзеге асырылады (2-сурет).
2-сурет. Клиенттің және сервердің сұраныстары.
Таратылған жүйелердің мәні – тек компьютерлердің ғана қатынасын емес, сонымен қатар қосымшалардың бөліктерін (деңгейлерін) де жүзеге асыратын процестер арасындағы байланыс. Қосымшалар бөліктерінің өзара қатынас жасауы қойылған тапсырманы шешу үшін клиенттік және серверлік қосымшалардың сәйкес бөліктерінің бір-біріне жіберетін деректерінің құрамы мен форматын сипаттайтын протоколдардың көмегімен жүзеге асады. Интернетте қосымшаларды бөліктерге бөлу TCP/IP протоколдар стегінің негізінде іске асырылады.
Клиент пен сервердің (клиенттік және серверлік қосымшаның) өзара қатынас жасауын мысал келтіріп қарастырайық.
Оның негізінде HTTP-хабарламалар жатады, олар:
- клиенттің серверге сұранысы (request);
- сервердің клиентке жауабы (response).
HTTP-сұраныс
Сұраныс жолы
|
URI әдісі HTTP-нұсқасы
|
Хабрлама тақырыптары
|
аты: мағынасы (олар көп болады, әрқайсысы бөлек жолда)
|
Бос жол:
|
|
Хабарлама денесі:
|
жіберілетін ақпарат
|
Сұраныс жолында клиенттің серверден сұрататын құжатының адресі (URI) көрсетіледі, ал әдіс қолданушының HTML формаларында енгізген ақпаратының клиенттен серверге қалай жіберілетінін көрсетуі мүмкін. GET әдісі арқылы ақпарат тікелей сұраныс жолында жіберіледі, ол сұрататын құжат адресіне ? сұрақ белгісінен кейін қосылады (HTTP-сұраныстың денесі бұл жағдайда бос болады). POST әдісі арқылы жіберілетін ақпарат сұраныстың денесіне ауыстырылады. Көрсетілген екі әдістен басқа HTTP-сұраныстың серверде нақты әс-ірекеттерді орындауға мүмкіндік беретін басқа да бірқатар әдістері бар.
Әдістер:
OPTIONS
|
байланыстың қолжетімді нұсқалары туралы ақпаратты сұрау
|
GET
|
сұраныстың URI-нда анықталған ақпаратты алу
|
HEAD
|
GET әдісіне ұқсас, бірақ ақпарат жіберілмейді
|
POST
|
сұраныстың денесінде белгіленген ақпаратты сұрау және жіберу
|
PUT
|
денесіндегі жіберілетін ақпаратты сұраныста көрсетілген URI-мен серверде сақтау
|
DELETE
|
сұраныста көрсетілген URI-мен берілген құжатты серверден өшіру
|
TRACE
|
сұраныстардың соңғы тізбегінен не алынатынын анықтайды
|
CONNECT
|
прокси-сервермен бірге қолданылады
|
HTTP-жауап
қалып-күй жолы:
|
HTTP-нұсқасы қалып-күй_коды жол_себеп
|
хабарлама тақырыптары:
|
аты: мағынасы (олар көп болады, әрқайсысы бөлек жолда)
|
бос жол:
|
|
хабарлама денесі:
|
жіберілетін ақпарат
|
Сервердің клиенттің сұранысына жауап ретінде жіберетін құжаты әрқашан HTTP-жауаптың денесінде болады.
Бастапқыда ұсынылған гипермәтіндік құжаттары бар WWW технологиясы HTML статикалық беттерін алуға мүмкіндік беретін. Бірақ HTML-ге ақпаратты қолданушыдан алып, серверге жіберуге мүмкіндік беретін формалар енгізілгеннен бастап, форманың өрістеріне қолданушы енгізген ақпаратты өңдей алатын қосымшаларды құруға деген қажеттілік туды. Сервер үшін арнайы Common Gateway Interface (CGI) интерфейсі жасалған, ол машинада орындалатын қосымшаларға қолжетімді болып табылады.
Клиенттің CGI-сценарийге әрбір қатынас жасауы операциялық жүйе жасап шығаратын өзінің жеке процесінде орындалады. Тасымалданатын және жіберілетін ақпаратты қабылдау stdin және stdout енгізу/шығару стандартты ағындары арқылы жүзеге асырылған. Орындалатын exe-файлдар түрінде жүзеге асырылса да, серверлік CGI-сценарийлердің орындалуы әдетте айтарлықтай баяу болады, себебі бұл технологияда әрқашан процесс аралық қатынасты құрып отыру керек.
Microsoft компаниясы өзінің IIS сервері үшін CGI-интерфейстен басқа қосымша ISAPI - Internet Server Application Programming Interface интерфейсін жасады (Netscape компаниясы өзінің сервері үшін NSAPI интерфейсін жасады). Бұл интерфейс сервердің өз бағдарламасы жүзеге асатын процесте орындала беретін серверлік қосымшаларды құруға мүмкіндік береді, сонымен қатар ол сервер мен сценарийдің өзара әрекеттесуінің қосымша мүмкіндіктеріне ие болатын сценарийлерді құруға мүмкіндік береді.
CGI-технологиясының кемшіліктерінің бірі – CGI-сценарийге сұраныс жасаған сайын HTML беті толығымен басынан бастап қалыптасады. Microsoft компаниясы IDC (Internet Database Connector) технологиясын жасай отырып, соның ішінде HTML құжатының шаблоны идеясын жүзеге асырды, оның белгіленген жерлеріне қолданушының сұранысы бойынша деректер қорынан мәліметтер қойылды. Бұл технология ISAPI арқылы жүзеге асырылды.
Серверлік технологиялардың одан ары дамуы ASP - Active Server Pages технологиясының пайда болуына алып келді, бұл технологияда қарастырылған технологиялардың ең жақсы жақтары ұштастырылған. ASP беті – бұл HTML құжатының дайындамасы, бұл құжатта HTML кодынан басқа, клиентке жіберерден бұрын орындалатын, ASP-дегі JavaScript (JScript) немесе VBScript сценарийлер тілдерінің бірінде жазылған код орнатылған. Сонымен бірге ASP-де ең жиі кездесетін тапсырмаларды орындайтын арнайы компоненттер жүзеге асырылған: Интернетті қарау бағдарламасының және клиенттің операциялық жүйесінің сипаттамаларын анықтау, ДҚ-мен қатынас жасау және т.б. Осылайша, ASP технологиясының негізіндегі қосымша үш деңгейлі архитектура болып табылады.
Интернет қосымшаларының жұмысына жүргізілген зерттеулер 70% жағдайда белгілі бір әрекеттерді орындау үшін серверге қатынас жасаудың қажеті жоқ екендігін көрсетті – бұл әрекеттерді клиент қандай да бір тәсілмен программалай алатын болса, оларды клиентте жүзеге асыруға болады. Интернетті қарау бағдарламасына орнатылған JavaScript тілі осылай пайда болды, ол бағдарлама жасаушыға HTML құжатына клиентте орындалатын бағдарлама кодын жазуға мүмкіндік бере отырып, HTML таңбалар тілінің мүмкіндіктерін кеңейтті.
Әдебиет: 2нег[234-265], 4нег[11-20], 8нег[41-45].
Бақылау сұрақтары:
1. Клиент-серверлік архитектурада тапсырмаларды бөлу қалай орындалады?
2. Клиент-серверлік жүйеде сұраныстар қалай құрылған?
3. Клиент-серверлік жүйеде CGI қандай тапсырмаларды шешеді?
4. Клиент-серверлік жүйеде процесс аралық әрекеттесу қалай жүзеге асырылады?
5. Клиент-серверлік жүйеде ISAPI технологиясының мәні неде?
Достарыңызбен бөлісу: |