Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Rishikimi i teknologjive moderne të serverëve. Teknologjitë e uebit klient-server

DB që punojnë në teknologjinë FILE-SERVER;

DB-të që punojnë në teknologjinë KLIENT-SERVER.

Serveri i skedarëve


- Qasje në bazën e të dhënave (kërkesë)
- Transferimi i të dhënave me bllokim të aksesit te përdoruesit e tjerë
- Përpunimi i të dhënave në kompjuterin e përdoruesit

Për qartësi, merrni parasysh shembuj konkretë. Supozoni se ju duhet të shikoni urdhërpagesat e dërguara për periudhën nga 19 maj deri më 25 maj në shumën prej 5,000 rubla. Përdoruesi do të duhet të nisë një aplikacion klienti në kompjuterin e tij që punon në bazën e të dhënave me urdhërpagesat dhe të vendosë kriteret e kërkuara të përzgjedhjes. Pas kësaj, një skedar që përmban të gjitha dokumentet e këtij lloji për të gjithë periudhën për çdo sasi do të shkarkohet në kompjuterin tuaj nga serveri i bazës së të dhënave dhe do të ngarkohet në RAM. Aplikacioni i klientit që funksionon në kompjuterin e përdoruesit, duke punuar me bazën e të dhënave, vetë do ta përpunojë këtë informacion (i rendit), pas së cilës do të lëshojë një përgjigje (në ekran do të shfaqet një listë e urdhërpagesave që plotësojnë kriteret tuaja). Pas kësaj, ju do të zgjidhni urdhërpagesën e kërkuar dhe do të përpiqeni të modifikoni (ndryshoni) një fushë në të - për shembull, datën. Gjatë redaktimit, burimi i të dhënave është i kyçur, domethënë i gjithë skedari që përmban këtë dokument. Kjo do të thotë që skedari ose nuk do të jetë fare i disponueshëm për përdoruesit e tjerë, ose do të jetë i disponueshëm vetëm në modalitetin e shikimit. Për më tepër, ky lloj kapjeje nuk ndodh as në nivel rekord, domethënë një dokument, por është i bllokuar dosje e tërë- domethënë e gjithë tabela që përmban dokumente të ngjashme. Vetëm pasi kjo fushë të përpunohet plotësisht dhe të dalë nga mënyra e redaktimit, ky skedar i urdhërpagesave do të zhbllokohet nga kapja nga përdoruesi. Nëse të dhënat ruhen në objekte më voluminoze, për shembull, një skedar përmban urdhërpagesa si për marrjen e fondeve ashtu edhe për dërgimin, atëherë edhe më shumë informacion nuk do të jetë i disponueshëm. Ju do të punoni me një fushë "datë" në një dokument - pjesa tjetër e punonjësve të ndërmarrjes do të presin derisa të përfundoni.

Disavantazhet e sistemit FILE-SERVER janë të dukshme:

    Ngarkesa shumë e madhe në rrjet, kërkesat e rritura të gjerësisë së brezit. Në praktikë, kjo e bën pothuajse të pamundur punë të njëkohshme një numër i madh përdoruesish me sasi të mëdha të dhënash.

    Përpunimi i të dhënave kryhet në kompjuterin e përdoruesit. Kjo kërkon rritje të kërkesave për harduerin e çdo përdoruesi. Si më shumë përdorues, tema me shume para do të duhet të shpenzojnë për pajisjen e kompjuterëve të tyre.

    Bllokimi i të dhënave gjatë redaktimit nga një përdorues e bën të pamundur që përdoruesit e tjerë të punojnë me këto të dhëna.

    Siguria. Për të qenë në gjendje të punoni me një sistem të tillë, do t'ju duhet t'i jepni çdo përdoruesi akses të plotë në të gjithë skedarin, në të cilin ai mund të jetë i interesuar vetëm në një fushë.

    klient-server

    Trajtimi i një kërkese të vetme përdoruesi:
    - Qasja në bazën e të dhënave (pyetje SQL)
    - Dërgimi i një përgjigje - rezultati i përpunimit


    Nëse është e nevojshme të përpunohet informacioni i ruajtur në bazën e të dhënave, aplikacioni i klientit që funksionon në kompjuterin e përdoruesit që punon me bazën e të dhënave gjeneron një pyetje në gjuhën SQL (emri nga shkronjat fillestare është Gjuha e Strukturuar e Pyetjes). Serveri i bazës së të dhënave merr kërkesën dhe e përpunon atë vetë. Asnjë grup (skedar) i të dhënave nuk transmetohet në rrjet. Pas përpunimit të kërkesës, vetëm rezultati transmetohet në kompjuterin e përdoruesit - domethënë, në shembullin e mëparshëm, një listë e urdhërpagesave që plotësojnë kriteret e kërkuara. Vetë skedari, i cili ruante të dhënat që shërbenin si burim për përpunim, mbetet i shkyçur për akses nga vetë serveri me kërkesë të përdoruesve të tjerë.

    Në DBMS serioze klient-server, ka mekanizma shtesë, duke reduktuar ngarkesën në rrjet, duke reduktuar kërkesat për kompjuterët e përdoruesve. Si shembull, le të marrim procedurat e ruajtura - domethënë programe të tëra për përpunimin e të dhënave të ruajtura në një bazë të dhënash. Në këtë rast, edhe shprehjet SQL nuk transmetohen nga përdoruesi në server - transmetohet një thirrje funksioni me parametrat e thirrjes. Kështu, vendin e punës përdoruesi thjeshtohet edhe më shumë, logjika e programit transferohet në server. Vendi i përdoruesit bëhet vetëm një mjet për të shfaqur informacionin. E gjithë kjo nënkupton një reduktim të mëtejshëm të ngarkesës në rrjet dhe stacionet e punës së përdoruesit.

    Kështu, të gjitha disavantazhet e mësipërme të skemës FILE-SERVER eliminohen në arkitekturën CLIENT-SERVER:

      Vargjet e të dhënave nuk transferohen përmes rrjetit nga serveri i bazës së të dhënave në kompjuterin e përdoruesit. Kërkesat për gjerësinë e brezit të rrjetit janë zvogëluar. Kjo bën të mundur që një numër i madh përdoruesish të punojnë njëkohësisht me sasi të mëdha të dhënash.

      Përpunimi i të dhënave kryhet në serverin e bazës së të dhënave, dhe jo në kompjuterin e përdoruesit. Kjo ju lejon të përdorni kompjuterë më të thjeshtë dhe për këtë arsye më të lirë në faqet e klientëve.

      Bllokimi (kapja) e të dhënave nga një përdorues nuk ndodh.

      Qasja e përdoruesit sigurohet jo për të gjithë skedarin, por vetëm për ato të dhëna prej tij me të cilat përdoruesi ka të drejtë të punojë.

      Duke shqyrtuar ndryshimin midis një FILE-SERVER dhe një KLIENT-SERVER, ne mund të përfundojmë shqyrtimin e konceptit të "ruajtjes së informacionit". Është e rëndësishme të theksohet se puna varet kryesisht nga lloji i DBMS-së së përdorur. sistemi i korporatës. Është e qartë se për ndërmarrjet e mëdha, me sasi e madhe përdoruesit, me një numër të madh të regjistrimeve në bazën e të dhënave, skema e serverit të skedarëve është plotësisht e papranueshme. Nga ana tjetër, ka dallime në bazat e të dhënave në parametra dhe aftësi të tjera:

        llojet e të dhënave që mund të ruhen në bazën e të dhënave (numrat, datat, teksti, fotografia, video, zëri, etj.);

        mbi teknologjitë e aksesit në të dhënat në bazën e të dhënave të organizuar nga vetë baza e të dhënave dhe nivelin e mbrojtjes së informacionit nga aksesi i paautorizuar;

        mbi mjetet e ofruara dhe metodat e zhvillimit që mund të përdoren për të hartuar çdo sistem informacioni bazuar në këtë bazë të dhënash;

        mbi mjetet dhe metodat e ofruara të analizës së informacionit (të dhënave) që mund të aplikohen në sistemin e informacionit bazuar në këtë bazë të dhënash;

        nga besueshmëria dhe qëndrueshmëria, domethënë (afërsisht) numri i regjistrimeve (fushave të mbushura) në bazën e të dhënave, i cili siguron një aftësi të besueshme dhe të pandërprerë për të hyrë, ndryshuar, analizuar informacionin në bazën e të dhënave;

        sipas shpejtësisë - koha e kaluar për aksesin dhe përpunimin e informacionit;

        nëse është e mundur, organizoni punën në kompjuterë nga prodhues të ndryshëm, domethënë sipas pajtueshmërisë me platformat dhe sistemet e tjera operative;

        nga niveli i mbështetjes (shërbimit) të ofruar nga zhvilluesi i bazës së të dhënave ose tregtari i tij i autorizuar;

        sipas disponueshmërisë para të mira krijimi i aplikacioneve që përdorin këtë bazë të dhënash, etj.

        Pse nuk është fitimprurëse të investosh në një zgjidhje të serverit të skedarëve sot? Sot mënyra e mëtejshme e zhvillimit të bazave të të dhënave është tashmë e dukshme. Shfaqen sisteme klient-server me shumë nivele, me klientë shumë të hollë, duke hequr çdo kufizim nga stacionet e klientëve, si për sa i përket performancës ashtu edhe platformës, sistemi operativ. Nëse për një zgjidhje klient-server zhvillim të mëtejshëm duket mjaft i qartë, dhe kalimi nga klient-server në klient-server me shumë nivele nuk është problematik, atëherë për një server skedari një kalim i thjeshtë në klient-server është një problem i madh dhe kosto e madhe pune, nëse papritmas rezulton të jetë e mundur fare.

Arkitektura klient-server përdoret gjerësisht teknologjitë e rrjetit përdoret për të hyrë në shërbime të ndryshme të rrjetit. Le të hedhim një vështrim të shpejtë në disa lloje të këtyre shërbimeve (dhe serverëve).

serverët e uebit

Fillimisht, ata siguruan akses në dokumentet e hipertekstit nëpërmjet protokollit HTTP (Huper Text Protokolli i Transferimit). Tani ata mbështesin veçori të avancuara, në veçanti, duke punuar me skedarë binare (imazhe, multimedia, etj.).

Serverët e aplikacioneve

Projektuar për zgjidhje të centralizuar të problemeve të aplikuara në një fushë të caktuar lëndore. Për ta bërë këtë, përdoruesit kanë të drejtë ekzekutoni programet e serverit për ekzekutim. Përdorimi i serverëve të aplikacionit redukton kërkesat e konfigurimit të klientit dhe thjeshton menaxhimi i përgjithshëm rrjeti.

Serverët e bazës së të dhënave

Serverët e bazës së të dhënave përdoren për të përpunuar pyetjet e përdoruesve në gjuhën SQL. Në këtë rast, DBMS ndodhet në server, me të cilin lidhen aplikacionet e klientit.

Serverët e skedarëve

Serveri i skedarëve dyqane informacion në formën e skedarëve dhe u siguron përdoruesve akses në të. Si rregull, një server skedar siguron gjithashtu një nivel të caktuar mbrojtjeje kundër aksesit të paautorizuar.

Proxy Server

Së pari, ai vepron si një ndërmjetës, duke ndihmuar përdoruesit të marrin informacion nga interneti, ndërsa siguron rrjetin.

Së dyti, ruan informacionin e kërkuar shpesh në një memorie të fshehtë në një disk lokal, duke ua dorëzuar shpejt përdoruesve pa u ri-aksesuar në internet.

Firewalls(firewall)

Firewalls, duke analizuar dhe filtruar kalimin trafiku i rrjetit, për të siguruar rrjetin.

Serverët e postës

Ato ofrojnë shërbime për dërgimin dhe marrjen e mesazheve të postës elektronike.

Serverët akses në distancë(RAS)

Këto sisteme ofrojnë komunikim me rrjetin nëpërmjet linjave dial-up. Një punonjës në distancë mund të përdorë burimet LAN të korporatës duke u lidhur me të duke përdorur një modem të rregullt.

Këto janë vetëm disa lloje të të gjithë shumëllojshmërisë së teknologjive klient-server të përdorura si në rrjetet lokale ashtu edhe në ato globale.

Për të hyrë në shërbime të caktuara të rrjetit, përdoren klientët, aftësitë e të cilëve karakterizohen nga koncepti i "trashësisë". Ai përcakton konfigurimin e harduerit dhe softuerin që ka klienti. Merrni parasysh vlerat e mundshme kufitare:

Klient "i hollë".

Ky term përcakton një klient, burimet informatike të të cilit janë të mjaftueshme vetëm për të ekzekutuar aplikacionin e kërkuar të rrjetit përmes një ndërfaqe në internet. Ndërfaqja e përdoruesit e një aplikacioni të tillë formohet me anë të statike HTML (ekzekutimi JavaScript nuk ofrohet), e gjithë logjika e aplikacionit kryhet në server.
Që klienti i hollë të funksionojë, mjafton vetëm të sigurohet aftësia për të nisur një shfletues në internet, në dritaren e të cilit kryhen të gjitha veprimet. Për këtë arsye, shfletuesi i internetit shpesh quhet "klienti universal".

Klient "i shëndoshë".

Ky është një stacion pune ose kompjuter personal që drejton sistemin e vet operativ të diskut dhe ka grupin e nevojshëm të softuerit. për të serverët e rrjetit Klientë "të trashë" aplikojnë kryesisht për shërbime shtesë (për shembull, akses në një server në internet ose në bazën e të dhënave të korporatës).
Një klient "i trashë" nënkupton gjithashtu një aplikacion të rrjetit të klientit që funksionon nën sistemin operativ lokal. Një aplikacion i tillë kombinon një komponent të prezantimit të të dhënave (ndërfaqja grafike e përdoruesit OS) dhe një komponent aplikacioni (fuqia llogaritëse e kompjuterit të klientit).

AT kohët e fundit Një term tjetër përdoret gjithnjë e më shumë: "i pasur"-klient. Klienti "i pasur" është një lloj kompromisi midis klientit "të trashë" dhe "të hollë". Ashtu si klienti "thin", klienti "i pasur" gjithashtu paraqet një ndërfaqe grafike, të përshkruar tashmë me anë të XML dhe duke përfshirë disa funksione të klientëve të trashë (për shembull, një ndërfaqe drag-and-drop, skeda, dritare të shumta, drop- menutë poshtë, etj.)

Logjika e aplikimit të klientit "të pasur" zbatohet gjithashtu në server. Të dhënat dërgohen në format standard shkëmbim, bazuar në të njëjtin XML (protokollet SOAP, XML-RPC) dhe të interpretuara nga klienti.

Disa nga protokollet kryesore të klientëve të pasur të bazuar në XML janë renditur më poshtë:

  • XAML (EXtensible Application Markup Language) - zhvilluar nga Microsoft, përdoret në aplikacione në platformën .NET;
  • XUL (Gjuha e ndërfaqes së përdoruesit XML) - një standard i zhvilluar nga projekti Mozilla, i përdorur, për shembull, në një klient email Mozilla Thunderbird ose Shfletuesi Mozilla Firefox;
  • Flex- teknologji multimediale bazuar në XML të zhvilluar nga Macromedia/Adobe.

konkluzioni

Kështu që, Ideja kryesore e arkitekturës klient-server është ndarja e aplikacionit të rrjetit në disa komponentë, secila prej të cilave zbaton një grup të veçantë shërbimesh. Komponentët e një aplikacioni të tillë mund të funksionojnë në kompjuterë të ndryshëm, duke kryer funksione të serverit dhe/ose klientit. Kjo përmirëson besueshmërinë, sigurinë dhe performancën. aplikacionet e rrjetit dhe rrjetit në përgjithësi.

Dërgoni punën tuaj të mirë në bazën e njohurive është e thjeshtë. Përdorni formularin e mëposhtëm

Punë e mirë në sajtin">

Studentët, studentët e diplomuar, shkencëtarët e rinj që përdorin bazën e njohurive në studimet dhe punën e tyre do t'ju jenë shumë mirënjohës.

Pritur në http://www.allbest.ru/

[Fut tekstin]

Serverët. Konceptet themelore të serverëve

Modeli klient-server

Klasifikimi serverë standardë

Lista e literaturës së përdorur

Serverët. Konceptet themelore të serverëve

Server (nga anglisht server, serving). Në varësi të qëllimit, ekzistojnë disa përkufizime të konceptit të një serveri.

1. Server (rrjet) - një nyje logjike ose fizike rrjeti që shërben kërkesa për një adresë të vetme dhe/ose emër domaini (emrat e domainit ngjitur), i përbërë nga një ose një sistem serverësh harduerësh që ekzekutojnë një ose një sistem programesh serveri

2. Server (software) - softuer që pranon kërkesa nga klientët (në arkitekturën klient-server).

3. Server (hardware) - një kompjuter (ose pajisje kompjuterike speciale) i dedikuar dhe/ose i specializuar për të kryer disa funksionet e shërbimit.

3. Server në teknologjinë e informacionit - komponent softuerik sistem kompjuterik që kryen funksione shërbimi me kërkesë të klientit, duke i siguruar atij akses në burime të caktuara.

Marrëdhënia e koncepteve. Aplikacioni server (serveri) funksionon në një kompjuter, i quajtur edhe "server", ndërsa duke marrë parasysh topologjinë e rrjetit, një nyje e tillë quhet "server". AT rast i përgjithshëm mund të ndodhë që aplikacioni i serverit të funksionojë normalisht stacioni i punës, ose një aplikacion serveri që funksionon kompjuter server brenda topologjisë së konsideruar, ai vepron si klient (d.m.th., nuk është server nga pikëpamja e topologjisë së rrjetit).

Modeli klient-server

Konceptet e serverit dhe klientit dhe rolet që u janë caktuar formojnë konceptin e softuerit "klient-server". Modeli klient-server është një tjetër qasje për strukturimin e Sistemit Operativ (OS). Në një kuptim të gjerë, modeli klient-server supozon praninë e një komponenti softuer - një konsumator i një shërbimi - një klient, dhe një komponent softuer - një ofrues i këtij shërbimi - një server. Ndërveprimi ndërmjet klientit dhe serverit është i standardizuar në mënyrë që serveri t'u shërbejë klientëve të zbatuar në mënyra të ndryshme dhe ndoshta nga prodhues të ndryshëm. Në të njëjtën kohë, kërkesa kryesore është që ata të kërkojnë shërbimet e serverit në një mënyrë të kuptueshme për të. Iniciatori i shkëmbimit është zakonisht klienti, i cili dërgon një kërkesë shërbimi në server, i cili është në gjendjen e kërkesës në pritje. I njëjti komponent softuerësh mund të jetë një klient për një lloj shërbimi dhe një server për një lloj tjetër shërbimi. Modeli klient-server është më tepër një mjet konceptual i përshtatshëm për një paraqitje të qartë të funksioneve të një të veçantë elementi i programit në një situatë apo në një tjetër sesa teknologjia. Ky model përdoret me sukses jo vetëm në ndërtimin e OS, por edhe në të gjitha nivelet e softuerit, dhe në disa raste ka një kuptim më të ngushtë, specifik, duke ruajtur, natyrisht, të gjitha tiparet e tij të përbashkëta. Në lidhje me strukturimin e OS, ideja është që të ndahet në disa procese - serverë, secili prej të cilëve kryen një grup të veçantë funksionesh shërbimi - për shembull, menaxhimi i kujtesës, krijimi ose planifikimi i proceseve. Çdo server funksionon në modalitetin e përdoruesit. Klienti, i cili mund të jetë ose një komponent tjetër i OS ose një program aplikacioni, kërkon një shërbim duke dërguar një mesazh te serveri. Kerneli i OS (këtu quhet mikrokerneli), që funksionon në modalitetin e privilegjuar, dërgon mesazhin në serverin e dëshiruar, serveri kryen operacionin, pas së cilës kerneli i kthen rezultatet klientit duke përdorur një mesazh tjetër. Për të bashkëvepruar me klientin (ose klientët, nëse mbështetet puna e njëkohshme me disa klientë), serveri shpërndan burimet e nevojshme të komunikimit ndërprocesor (memorie të përbashkët, tub, fole, etj.) dhe pret kërkesat për të hapur një lidhje (ose, në fakt, kërkesat për shërbimin e ofruar). Në varësi të llojit të këtij burimi, serveri mund të shërbejë procese brenda të njëjtit sistem kompjuterik ose procese në makina të tjera nëpërmjet kanaleve të të dhënave (p.sh. porta COM) ose lidhjeve të rrjetit.

Formati i kërkesave të klientit dhe përgjigjeve të serverit përcaktohet nga protokolli. Specifikimet protokollet e hapura përshkruhen me standarde të hapura, për shembull, protokollet e Internetit përcaktohen në dokumentet RFC.

Në varësi të detyrave që kryhen, disa serverë, në mungesë të kërkesave për shërbim, mund të jenë në pritje të papunë. Të tjerët mund të jenë duke bërë disa punë (për shembull, duke mbledhur informacion), për serverë të tillë, puna me klientët mund të jetë një detyrë dytësore.

Klasifikimi i serverëve standardë

Në mënyrë tipike, çdo server shërben një (ose disa të ngjashëm) protokolle, dhe serverët mund të klasifikohen sipas llojit të shërbimit që ata ofrojnë.

Serverët universalë janë një lloj i veçantë programi serveri që nuk ofron asnjë shërbim më vete. Në vend të kësaj, serverët gjenerikë ofrojnë serverë shërbimi me një ndërfaqe të thjeshtuar me burimet IPC dhe/ose akses të unifikuar të klientit në shërbime të ndryshme. Ekzistojnë disa lloje të serverëve të tillë:

inetd nga anglishtja. super-server interneti daemon shërbimi IP daemon - një mjet standard në sistemet UNIX - një program që ju lejon të shkruani serverë TCP/IP (dhe protokollet e rrjetit familje të tjera) që punojnë me klientin përmes rrymave standarde hyrëse dhe dalëse të ridrejtuara (stdin dhe stdout).

RPC nga anglishtja. Procedura në distancë Thirrja e procedurës në distancë - sistemi i integrimit të serverit në formën e procedurave të disponueshme për thirrje përdorues në distancë përmes një ndërfaqe të unifikuar. Ndërfaqja e shpikur nga Sun Microsystems për sistemin e saj operativ (SunOS, Solaris; sistemi Unix) aktualisht përdoret në shumicën e sistemeve Unix si dhe në Windows.

Teknologjitë e aplikuara klient-server Windows:

(D-)COM (Anglisht (Shpërndarë) Model Objekt i Komponentit) etj. - Lejon një program të kryejë operacione mbi objektet e të dhënave duke përdorur procedurat e programeve të tjera. Fillimisht këtë teknologjiështë menduar për "vendosjen dhe lidhjen e objekteve" të tyre (OLE English Object Linking and Embedding), por, në përgjithësi, ju lejon të shkruani gamë të gjerë serverë të ndryshëm aplikacionesh. COM punon vetëm brenda një kompjuteri, DCOM është i disponueshëm nga distanca përmes RPC.

Active-X - Shtesa COM dhe DCOM për krijimin e aplikacioneve multimediale.

Serverët gjenerikë përdoren shpesh për të shkruar të gjitha llojet e serverët e informacionit, serverë që nuk kanë nevojë për ndonjë rrjet specifik, serverë që nuk kanë asnjë detyrë tjetër përveç shërbimit të klientëve. Për shembull, programet dhe skriptet e rregullta të konsolës mund të veprojnë si serverë për inetd.

Më e brendshme dhe specifike e rrjetit serverët Windows punoni përmes serverëve universalë (RPC, (D-)COM).

Shërbimet e rrjetit sigurojnë funksionimin e rrjetit, për shembull, serverët DHCP dhe BOOTP ofrojnë inicializimin e serverëve dhe stacioneve të punës, DNS - përkthimin e emrave në adresa dhe anasjelltas.

Serverët e tunelit (për shembull, serverët e ndryshëm VPN) dhe serverët proxy sigurojnë komunikim me një rrjet që nuk është i aksesueshëm nga rrugëtimi.

Serverët AAA dhe Radius ofrojnë një autentikim të vetëm të rrjetit, autorizim dhe regjistrim të aksesit.

Shërbimet e Informacionit. Shërbimet e informacionit përfshijnë si serverët më të thjeshtë që raportojnë informacione rreth hostit (koha, dita, motd), përdoruesit (gishti, identifikimi) dhe serverët monitorues, si SNMP. Shumica shërbimet e informacionit punoni përmes serverëve universalë.

Serverët e sinkronizimit të kohës janë një lloj i veçantë i shërbimeve të informacionit - NTP, përveç informimit të klientit për kohën e saktë, serveri NTP anketon periodikisht disa serverë të tjerë për të korrigjuar kohën e tyre. Përveç korrigjimit të kohës, shpejtësia e udhëtimit analizohet dhe korrigjohet. ora e sistemit. Korrigjimi i kohës kryhet duke përshpejtuar ose ngadalësuar orën e sistemit (në varësi të drejtimit të korrigjimit) për të shmangur problemet që mund të ndodhin me një shkëmbim të thjeshtë të kohës.

Serverët e skedarëve janë serverë për të siguruar akses në skedarët në diskun e serverit.

Para së gjithash, këta janë serverë të transferimit të skedarëve sipas kërkesës që përdorin protokollet FTP, TFTP, SFTP dhe HTTP. Protokolli HTTP është i orientuar drejt transferimit skedarët e tekstit, por serverët mund të japin gjithashtu të dhëna arbitrare si skedarë të kërkuar, për shembull, faqe ueb të krijuara në mënyrë dinamike, fotografi, muzikë, etj.

Serverë të tjerë ju lejojnë të montoni ndarjet e diskut të serverit hapësirë ​​në disk klient dhe punoni plotësisht me skedarët në to. Serverët lejojnë Protokollet NFS dhe SMB. Serverët NFS dhe SMB punojnë përmes ndërfaqes RPC.

Disavantazhet e një sistemi të serverit të skedarëve:

Ngarkesa shumë e madhe në rrjet, kërkesat e rritura të gjerësisë së brezit. Në praktikë, kjo e bën pothuajse të pamundur që një numër i madh përdoruesish të punojnë me sasi të mëdha të dhënash në të njëjtën kohë.

Përpunimi i të dhënave kryhet në kompjuterin e përdoruesit. Kjo kërkon rritje të kërkesave për harduerin e çdo përdoruesi. Sa më shumë përdorues, aq më shumë para do të duhet të shpenzohen për pajisjen e kompjuterëve të tyre.

Bllokimi i të dhënave gjatë redaktimit nga një përdorues e bën të pamundur që përdoruesit e tjerë të punojnë me këto të dhëna.

Siguria. Për të qenë në gjendje të punoni me një sistem të tillë, do t'ju duhet t'i jepni çdo përdoruesi akses të plotë në të gjithë skedarin, në të cilin ai mund të jetë i interesuar vetëm në një fushë.

Serverët e aksesit të të dhënave mirëmbajnë bazën e të dhënave dhe i kthejnë të dhënat sipas kërkesës. Një nga më serverë të thjeshtë të një lloji të ngjashëm - LDAP (English Lightweight Directory Access Protocol - një protokoll i lehtë për të hyrë në listat).

Nuk ka asnjë protokoll të vetëm për të hyrë në serverët e bazës së të dhënave, megjithatë, të gjithë serverët e bazës së të dhënave janë të bashkuar me përdorimin e rregullave uniforme të gjenerimit të pyetjeve - gjuha SQL (Structured Query Language).

Shërbimet e mesazheve lejojnë përdoruesin të dërgojë dhe të marrë mesazhe (zakonisht mesazhe me tekst).

Serverët së pari. Email duke punuar në Protokolli SMTP. Serveri SMTP merr mesazhin dhe e dërgon atë në kutinë postare lokale të përdoruesit ose në një server tjetër SMTP (server destinacioni ose ndërmjetës). Në kompjuterët me shumë përdorues, përdoruesit punojnë me postë direkt në terminal (ose ndërfaqe në ueb). Për të punuar me postën në një kompjuter personal, posta merret nga kutia postare përmes serverëve që funksionojnë në protokollet POP3 ose IMAP.

Për të organizuar konferenca, ka serverë lajmesh që funksionojnë nëpërmjet protokollit NNTP.

Për mesazhe në kohë reale, ka serverë chat, një server standard chat funksionon duke përdorur protokollin IRC - biseda e shpërndarë për internetin.

Ka shumë protokolle të tjera chat, të tilla si ICQ ose Jabber.

Serverët e qasjes në distancë

Serverët e aksesit në distancë, nëpërmjet të duhurit program klienti, t'i sigurojë përdoruesit aksesin e konsolës në sistemin në distancë.

Për të siguruar akses në vijën e komandës, përdoren serverët telnet, RSH, SSH.

Ndërfaqja grafike për sistemet Unix - X Window System, ka një server të integruar me qasje në distancë, pasi fillimisht u zhvillua me këtë aftësi. Mundësia për të hyrë në distancë në ndërfaqen X-Window nganjëherë quhet gabimisht si "X-Server" (termi X-Window për një drejtues video).

Serveri standard për qasje në distancë në GUI të Microsoft Windows quhet server terminal.

Një lloj menaxhimi (më saktë, monitorimi dhe konfigurimi) ofrohet gjithashtu nga protokolli SNMP. Kompjuteri ose pajisja harduerike duhet të ketë një server SNMP për këtë.

Serverët e lojërave shërbejnë për lojën e njëkohshme të disa përdoruesve në një situatë të vetme loje. Disa lojëra kanë një server në shpërndarjen kryesore dhe ju lejojnë ta ekzekutoni atë në një modalitet jo të dedikuar (d.m.th., ato ju lejojnë të luani në makinën në të cilën funksionon serveri).

Zgjidhjet e serverëve - sisteme operative dhe / ose paketa softuerike të optimizuara për kryerjen e funksioneve të serverit nga një kompjuter dhe / ose që përmbajnë një grup programesh për zbatimin e shërbimeve tipike.

Një shembull i zgjidhjeve të serverëve janë sistemet Unix që fillimisht ishin krijuar për të zbatuar një infrastrukturë serveri, ose modifikime të serverit. platformat e Microsoft Dritaret.

Është gjithashtu e nevojshme të ndahen paketat e serverëve dhe programeve të lidhura (për shembull, një server në internet / PHP / kit MySQL për një vendosje të shpejtë të pritjes) për instalim nën Windows (Unix karakterizohet nga instalimi modular ose "i paketuar" i secilit komponent, kështu që zgjidhje të tilla janë të rralla).

Në zgjidhjet e integruara të serverëve, të gjithë komponentët instalohen në të njëjtën kohë, të gjithë komponentët janë pak a shumë të integruar fort dhe të para-konfiguruar me njëri-tjetrin. Megjithatë, në këtë rast, zëvendësimi i një prej serverëve ose aplikacioneve dytësore (nëse aftësitë e tyre nuk i plotësojnë nevojat) mund të jetë problem.

Zgjidhjet e serverëve shërbejnë për të thjeshtuar organizimin e infrastrukturës bazë IT të kompanive, domethënë për të ndërtuar shpejt një rrjet të plotë në një kompani, duke përfshirë nga e para. Kombinimi i aplikacioneve individuale të serverëve në një zgjidhje nënkupton që zgjidhja është krijuar për të kryer shumicën e detyrave tipike; në të njëjtën kohë, kompleksiteti i vendosjes dhe kostoja totale e pronësisë së një infrastrukture IT të ndërtuar mbi zgjidhje të tilla reduktohet ndjeshëm.

Proxy server (nga proxy anglisht - "përfaqësues, i autorizuar") është një shërbim në rrjetet kompjuterike që lejon klientët të bëjnë kërkesa indirekte për shërbime të tjera të rrjetit. Së pari, klienti lidhet me serverin proxy dhe kërkon një burim (për shembull, e-mail) të vendosur në një server tjetër. Proxy pastaj ose lidhet me serveri i specifikuar dhe merr një burim prej tij, ose kthen një burim nga cache e tij (në rastet kur proxy ka cache-in e tij). Në disa raste, një kërkesë klienti ose një përgjigje e serverit mund të modifikohet nga një server proxy në qëllime të caktuara. Gjithashtu, një server proxy ju lejon të mbroni kompjuter klient nga disa sulme në rrjet.

konkluzionis

formati i serveritPdritare roxy

Kështu, çdo rrjet kompjuterik, në fakt, është një rrjet klient-server. Një përdorues që lidh kompjuterin e tij me internetin do të ketë të bëjë me një rrjet klient-server, dhe edhe nëse kompjuteri nuk ka akses në rrjet, programi i tij, dhe në të vërtetë ai, ka shumë të ngjarë të organizohet sipas skemës klient-server. .

Lista e përdorimeveovannoyletërsi

1. Droga A.A., Zhukova P.N., Koponev D.N., Lukyanov D.B., Prokopenko A.N. Shkenca kompjuterike dhe matematika. - Minsk, 2008.

2. Connolly T., Begg K. Bazat e të dhënave. Projektimi, zbatimi dhe mbështetja. Teoria dhe praktika - botimi 3. - M.: "Williams", 2003.

3. Kuznetsov S.D. Bazat e bazës së të dhënave. - Ed. 1. - M.: "Universiteti i Internetit i Teknologjive të Informacionit - INTUIT.ru", 2005.

4. Scott W. Ambler, Pramodkumar J. Sadalaj. Rifaktorimi i bazës së të dhënave: dizajni evolucionar - M.: "Williams", 2007.

5. A.N. Morozevich, A.M. Informatikë Zenevich. Minsk, 2008.

6. Titorenko G.A. Menaxhimi i teknologjisë së informacionit. M., Uniteti: 2002.

7. Melnikov V. Siguria e informacionit në sistemet kompjuterike. - M.: Financa dhe statistika, Electroninform, 1997.

Organizuar në Allbest.ru

...

Dokumente të ngjashme

    Konceptet themelore të serverëve. modeli klient-server. Klasifikimi i serverëve standardë. Disavantazhet e sistemit të serverit të skedarëve. Metodat kriptografike të mbrojtjes së informacionit. Serverët e aksesit në distancë. Metodat dhe mjetet për të garantuar sigurinë e informacionit.

    punë kontrolli, shtuar 13.12.2010

    Informacion i pergjithshem në lidhje me sistemin operativ Linux. Analiza e informacionit të serverit. Teknologjitë bazë të aplikuara klient-server të Windows. Informacion rreth serverit SQL. Informacione të përgjithshme rreth serverit MySQL. Specifikat e instalimit dhe konfigurimit të serverit MYSQL në LINUX.

    punim afatshkurtër, shtuar 16.12.2015

    Analiza e arkitekturës së një sistemi informacioni, struktura e të cilit përfshin sistemet skedar-server dhe klient-server. Krahasimi i gjuhëve të pyetjeve SQL dhe QBE. Parimet për zhvillimin e aplikacioneve të arkitekturës klient-server duke përdorur gjuhë e strukturuar Pyetjet SQL.

    punim afatshkurtër, shtuar 04/11/2010

    Arkitektura "klient-server". Analiza e Sistemit databaza “Gazeta e njoftimeve”, dizajni i saj infologjik dhe fizik. Programimi në anën e serverit SQL. Zhvillimi i anës së klientit në Borland C++ Builder 6.0 dhe përdorimi i teknologjive të Uebit.

    punim afatshkurtër, shtuar 07/07/2013

    Metodologjia dhe fazat kryesore të zhvillimit të një sistemi testimi për vlerësimin e nivelit të njohurive të studentëve duke përdorur teknologjinë "Klient-Server". Dizenjimi i klientit, pjesës së serverit të këtij sistemi testimi, procedura e përpilimit të raporteve përfundimtare.

    tezë, shtuar 11/08/2010

    Hartimi i modeleve fizike dhe logjike të një databaze në distancë për pikat e karburantit. Zhvillimi i një baze të dhënash në Firebird DBMS duke përdorur programin IBExpert. Krijim aplikacioni i klientit për Windows duke përdorur teknologjinë klient-server në mjedisin C++ Builder.

    punim afatshkurtër, shtuar 18.01.2017

    Krijimi i një produkti softuerik të bazuar në teknologjinë klient-server që zbaton funksionimin tolerant ndaj gabimeve të sistemit, i cili është në gjendje të lidhë klientin me serverin kryesor në rast të humbjes së komunikimit server alternativ(në shembullin e një serveri të motit).

    punim afatshkurtër, shtuar 24.08.2012

    Dizajnimi dhe zhvillimi i një baze të dhënash në Firebird RDBMS. Sekuenca e krijimit të një aplikacioni të bazuar në teknologjinë klient-server dhe funksionimin në sallën e operacionit Sistemi Windows. Procedurat dhe nxitësit e ruajtur. Qasja në rrjet dhe transaksionet.

    punim afatshkurtër, shtuar 27.07.2013

    Bazat relacionale të dhënat si pjesë e sistemeve të informacionit të korporatës, ndërtimi i tyre mbi parimet e teknologjisë klient-server. Karakteristikat kryesore të Firebird DBMS. Hartimi i bazës së të dhënave për sistemin e informacionit "Përbërësit kompjuterikë".

    punim afatshkurtër, shtuar 28.07.2013

    Arkitektura "klient-server". Përpunimi paralel i të dhënave në sistemet multiprocesorike. Modernizimi i sistemeve të vjetëruara të informacionit. Tiparet e karakterit server modern DBMS. Serveri më i njohur DBMS. Kërkesat dhe transaksionet e shpërndara.

Qëllimi i leksionit: të tregojë se si zbatohen parimet e përgjithshme të teknologjive klient-server në teknologjitë e ueb-it. Merrni parasysh elementet kryesore bazë Protokolli HTTP.

Lënda e këtij kursi është teknologjitë e rrjetit global World Wide Web (shkurtuar si WWW ose thjesht Web). Në rusisht, një variant i zakonshëm është emri "Web".

Në veçanti, kursi do të mbulojë çështje të tilla si: standardet dhe protokollet bazë të ueb-it, gjuhët e shënjimit dhe programimit për faqet e internetit, mjetet për zhvillimin dhe menaxhimin e përmbajtjes së ueb-it dhe aplikacioneve për ueb, mjetet për integrimin e përmbajtjes së ueb-it dhe aplikacioneve në ueb.

Rrjeti Webështë një hapësirë ​​globale informacioni e bazuar në infrastrukturën fizike të internetit dhe protokollin e transmetimit Të dhënat HTTP. Shpesh, kur flasim për internetin, nënkuptojnë rrjetin. Web.

Teknologjitë klient-server Web

Protokolli bazë i rrjetit të burimeve të hipertekstit në ueb është protokolli HTTP. Ai bazohet në ndërveprim klient-server", që do të thotë se:

    Konsumatori- klient fillimi i një lidhjeje me ofrues-server i dërgon atij një kërkesë;

    Furnizuesi - server, pasi ka marrë një kërkesë, kryen veprimet e nevojshme dhe i kthen klientit një përgjigje me rezultatin.

Në këtë rast, ekzistojnë dy mënyra për të organizuar punën e një kompjuteri klient:

    Klient i hollëështë një kompjuter klient që transferon të gjitha detyrat e përpunimit të informacionit në server. Një shembull i një klienti të hollë është një kompjuter i bazuar në shfletues që përdoret për të ekzekutuar aplikacione në internet.

    klient i trashë, përkundrazi, përpunon informacionin në mënyrë të pavarur nga serveri, e përdor këtë të fundit kryesisht për ruajtjen e të dhënave.

Përpara se të kalojmë tek teknologjitë specifike të uebit klient-server, le të shohim parimet dhe strukturën bazë të protokollit themelor HTTP.

protokolli http

http(HyperText Transfer Protocol - RFC 1945, RFC 2616) është një protokoll i shtresës së aplikimit për transferimin e hipertekstit.

Objekti qendror në HTTP është burim, e cila tregon për URI në kërkesën e klientit. Në mënyrë tipike, këto burime janë skedarë të ruajtur në server. Një tipar i protokollit HTTP është aftësia për të specifikuar në kërkesë dhe përgjigje se si i njëjti burim përfaqësohet nga parametra të ndryshëm: formati, kodimi, gjuha etj. Falë aftësisë për të specifikuar se si është koduar mesazhi, klienti dhe serveri mund të shkëmbejnë të dhëna binare, megjithëse fillimisht këtë protokoll projektuar për të përcjellë informacion simbolik. Në pamje të parë, kjo mund të duket si humbje burimesh. Në të vërtetë, të dhënat në formë simbolike marrin më shumë memorie, mesazhet krijojnë një ngarkesë shtesë në kanalet e komunikimit, por ky format ka shumë përparësi. Mesazhet e transmetuara përmes rrjetit janë të lehta për t'u lexuar, dhe duke analizuar të dhënat e marra, administratori i sistemit mund ta gjejë lehtësisht gabimin dhe ta rregullojë atë. Nëse është e nevojshme, roli i një prej aplikacioneve ndërvepruese mund të kryhet nga një person, duke futur manualisht mesazhe në formatin e kërkuar.

Ndryshe nga shumë protokolle të tjera, HTTP është një protokoll pa memorie. Kjo do të thotë që protokolli nuk ruan informacion në lidhje me kërkesat e mëparshme të klientit dhe përgjigjet e serverit. Komponentët që përdorin HTTP mund të ruajnë në mënyrë të pavarur informacionin e gjendjes në lidhje me kërkesat dhe përgjigjet e fundit. Për shembull, një aplikacion i klientit në ueb që dërgon kërkesa mund të mbajë gjurmët e vonesave të përgjigjes dhe një server në internet mund të ruajë adresat IP dhe titujt e kërkesave të klientëve të fundit.

I gjithë softueri për të punuar me protokollin HTTP ndahet në tre kategori kryesore:

    Serverët- ofruesit e shërbimeve të ruajtjes dhe përpunimit të informacionit (përpunimi i kërkesave).

    Klientët- përdoruesit fundorë të shërbimeve të serverit (dërgimi i kërkesave).

    Proxy servers për të mbështetur shërbimet e transportit.

Skema "klasike" e sesioneve HTTP duket kështu.

    Krijimi i një lidhjeje TCP.

    Kërkesa e klientit.

    Përgjigja e serverit.

    Ndërprerja e lidhjes TCP.

Kështu, klienti dërgon një kërkesë në server, merr një përgjigje prej tij, pas së cilës ndërveprimi ndalon. Në mënyrë tipike, një kërkesë klienti është një kërkesë për një dokument HTML ose ndonjë burim tjetër, dhe përgjigja e serverit përmban kodin për atë burim.

Kërkesa HTTP e dërguar nga klienti në server përbëhet nga komponentët e mëposhtëm.

    Linja e statusit (nganjëherë për t'iu referuar asaj përdoren edhe termat linjë statusi ose rreshti i pyetjes).

    Fushat e kokës.

    Linjë bosh.

    Trupi i kërkesës.

shiriti i statusit së bashku me fushat e kokës ndonjëherë quhet edhe kreu i kërkesës.

Oriz. 1.1. Struktura e kërkesës së klientit.

Shiriti i statusit ka formatin e mëposhtëm:

query_method URL_pecypca protocol_version_HTTP

Le të hedhim një vështrim në komponentët e shiritit të statusit, me vëmendje të veçantë për metodat e pyetjes.

Metoda, i specifikuar në shiritin e statusit, përcakton se si të veprohet në burim, URL-ja e të cilit është dhënë në të njëjtën linjë. Metoda mund të marrë vlerat GET, POST, HEAD, PUT, DELETE, etj. Megjithë bollëkun e metodave, vetëm dy prej tyre janë vërtet të rëndësishme për një programues në internet: GET dhe POST.

    MARR. Sipas përkufizimit formal, metoda GET synon të marrë një burim me një URL të specifikuar. Duke marrë GET kërkesë, serveri DUHET të lexojë burimin e specifikuar dhe të përfshijë ID-në e burimit në përgjigjen ndaj klientit. Burimi, URL-ja e të cilit kalohet si pjesë e kërkesës, nuk duhet të jetë një faqe HTML, skedar imazhi ose të dhëna të tjera. URL-ja e burimit mund të tregojë kodin e ekzekutueshëm të programit, i cili, në kushte të caktuara, duhet të ekzekutohet në server. Në këtë rast, klientit i kthehet jo kodi i programit, por të dhënat e krijuara gjatë ekzekutimit të tij. Megjithëse, sipas definicionit, metoda GET është për marrjen e informacionit, ajo mund të përdoret edhe për qëllime të tjera. Metoda GET është e mirë për kalimin e pjesëve të vogla të të dhënave në server.

    POST. Sipas të njëjtit përkufizim formal, qëllimi kryesor i metodës POST është dërgimi i të dhënave në server. Megjithatë, si metoda GET, metoda POST mund të përdoret në shumë mënyra dhe shpesh përdoret për të marrë informacion nga një server. Ashtu si me metodën GET, URL-ja e dhënë në shiritin e statusit tregon për një burim specifik. Metoda POST mund të përdoret gjithashtu për të nisur një proces.

    Metodat HEAD dhe PUT janë modifikime të metodave GET dhe POST.

Versioni i protokollit HTTP zakonisht jepet në formatin e mëposhtëm:

HTTP/version.modifikimi

Fushat e kokës, duke ndjekur vijën e statusit, ju lejon të përsosni pyetjen, d.m.th. dërgoni informacion shtesë në server. Fusha e kokës ka formatin e mëposhtëm:

Emri i fushës: Vlera

Qëllimi i një fushe përcaktohet nga emri i saj, i cili ndahet nga vlera me dy pika.

Janë dhënë emrat e disa prej fushave më të zakonshme të kokës në një kërkesë klienti dhe qëllimi i tyre skedën. 1.1.

Tabela 1.1. Fushat e kokës së kërkesës HTTP.

Fushat e kokës së kërkesës HTTP

Kuptimi

Emri i domenit ose adresa IP e hostit që klienti po i qaset

URL-ja e dokumentit që lidhet me burimin e specifikuar në shiritin e statusit

Adresa e emailit posta e përdoruesit duke punuar me një klient

Llojet MIME të të dhënave të përpunuara nga klienti. Kjo fushë mund të ketë vlera të shumta të ndara me presje. Shpesh fusha e titullit Prano përdoret për t'i treguar serverit se cilat lloje skedarësh imazhi mbështet klienti.

Një grup identifikuesish me dy karaktere të ndarë me presje që përfaqësojnë gjuhët e mbështetura nga klienti

Lista e grupeve të karaktereve të mbështetur

Lloji MIME i të dhënave të përfshira në trupin e kërkesës (nëse kërkesa nuk përbëhet nga një kokë e vetme)

Numri i karaktereve të përfshira në trupin e kërkesës (nëse kërkesa nuk përbëhet nga një titull i vetëm)

Prezantoni nëse klienti nuk kërkon të gjithë dokumentin, por vetëm një pjesë të tij

Përdoret për të menaxhuar një lidhje TCP. Nëse fusha përmban Close, do të thotë që pas përpunimit të kërkesës, serveri duhet të mbyllë lidhjen. Vlera Keep-Alive sugjeron që të mos mbyllet lidhja TCP në mënyrë që të mund të përdoret për kërkesat e mëvonshme

Informacioni i klientit

Në shumë raste, kur punoni në ueb, nuk ka asnjë organ të kërkesës. Kur ekzekutoni skriptet CGI, të dhënat e kaluara për ta në një kërkesë mund të vendosen në trupin e kërkesës.

Më poshtë është një shembull i një kërkese HTML të krijuar nga një shfletues

MERRNI http://oak.oakland.edu/ HTTP/1.0

Lidhja: Keep Alive

Agjenti i përdoruesit: Mozilla/4.04 (Win95; I)

Pritësi: oak.oakland.edu

Prano: imazh/gif, imazh/x-xbitmap, imazh/jpeg, imazh/pjpeg, imazh/png, */*

Prano-Gjuha: en

Prano-Charset: iso-8859-l,*,utf-8

Pasi të ketë marrë një kërkesë nga klienti, serveri duhet t'i përgjigjet asaj. Njohja e strukturës së përgjigjes së serverit është e nevojshme për një zhvillues të aplikacionit në internet, pasi programet që funksionojnë në server duhet të formojnë në mënyrë të pavarur një përgjigje ndaj klientit.

Ashtu si një kërkesë klienti, një përgjigje e serverit gjithashtu ka katër komponentë të renditur më poshtë.

    Shiriti i statusit.

    Fushat e kokës.

    Linjë bosh.

    Trupi i reagimit.

Përgjigja e serverit ndaj klientit fillon me një linjë statusi që ka formatin e mëposhtëm:

Protocol_version Kodi_përgjigje_mesazh_shpjegues

    Versioni i Protokollit specifikohet në të njëjtin format si në kërkesën e klientit dhe ka të njëjtin kuptim.

    përgjigje_kodiështë një numër dhjetor treshifror që kodon rezultatin e kërkesës që shërbehet nga serveri.

    mesazh_shpjegues kopjon kodin e përgjigjes në formë simbolike. Ky është një varg karakteresh që nuk përpunohet nga klienti. Është menduar për administratori i sistemit ose një operator që mirëmban sistemin dhe është deshifrimi i kodit të përgjigjes.

Nga tre shifrat që përbëjnë kodin e përgjigjes, e para (më e larta) përcakton klasën e përgjigjes, dy të tjerat përfaqësojnë numrin e përgjigjes brenda klasës. Kështu, për shembull, nëse kërkesa është përpunuar me sukses, klienti merr mesazhin e mëposhtëm:

HTTP/1.0 200 OK

Siç mund ta shihni, versioni i protokollit HTTP 1.0 ndiqet nga kodi 200. Në këtë kod, karakteri 2 nënkupton përpunimin me sukses të kërkesës së klientit, dhe dy shifrat e mbetura (00) janë numri i këtij mesazhi.

Në implementimet e përdorura aktualisht të protokollit HTTP, shifra e parë nuk mund të jetë më e madhe se 5 dhe përcakton klasat e mëposhtme të përgjigjes.

    1 - një klasë e veçantë mesazhesh të quajtura informative. Një kod përgjigjeje që fillon me 1 do të thotë që serveri po vazhdon të përpunojë kërkesën. Kur shkëmbeni të dhëna ndërmjet një klienti HTTP dhe një serveri HTTP, mesazhet e kësaj klase përdoren rrallë.

    2 - përpunimi me sukses i kërkesës së klientit.

    3 - kërkoni ridrejtim. Në mënyrë që kërkesa të dorëzohet, duhet të ndërmerren hapa shtesë.

    4 - gabim i klientit. Si rregull, një kod përgjigjeje që fillon me numrin 4 kthehet nëse kërkesa e klientit plotësohet gabim sintaksor.

    5 - gabim serveri. Për një arsye ose një tjetër, serveri nuk është në gjendje të përmbushë kërkesën.

Shembuj të kodeve të përgjigjes që klienti mund të marrë nga serveri dhe mesazhet shpjeguese janë dhënë në tabelë. 1.2.

Tabela 1.2. Klasat e kodit të përgjigjes së serverit.

Deshifrimi

Interpretimi

Një pjesë e kërkesës është pranuar dhe serveri pret që klienti të vazhdojë kërkesën

Kërkesa u përpunua me sukses dhe të dhënat e specifikuara në kërkesë transmetohen në përgjigjen e klientit

Si rezultat i përpunimit të kërkesës, u krijua një burim i ri

Kërkesa është pranuar nga serveri, por përpunimi nuk ka përfunduar. Kodi i dhënë përgjigja nuk garanton që kërkesa do të përpunohet pa gabime.

Përmbajtja e pjesshme

Serveri kthen një pjesë të burimit në përgjigje të një kërkese që përmbante një fushë të kokës Range

zgjedhje e shumfishte

Kërkesa tregon për më shumë se një burim. Organi i përgjigjes mund të përmbajë udhëzime se si të identifikohet saktë burimi i kërkuar.

Lëvizur përgjithmonë

Burimi i kërkuar nuk ndodhet më në server

Lëvizur përkohësisht

Burimi i kërkuar ka ndryshuar përkohësisht adresën e tij

U gjet një gabim sintaksor në kërkesën e klientit

Burimi në server nuk është i disponueshëm për këtë përdorues

Burimi i specifikuar nga klienti nuk ekziston në server

Metoda nuk lejohet

Serveri nuk e mbështet metodën e specifikuar në kërkesë

Gabim i brendshëm i serverit

Një nga komponentët e serverit nuk funksionon siç duhet

Nuk është zbatuar

Funksionaliteti i serverit nuk mjafton për të përmbushur kërkesën e klientit

sherbim i padisponueshem

Sherbimi perkohesisht i padisponueshem

Versioni HTTP nuk mbështetet

Versioni HTTP i specifikuar në kërkesë nuk mbështetet nga serveri

Përgjigja përdor të njëjtën strukturë të fushës së kokës si kërkesa e klientit. Fushat e kokës kanë për qëllim të qartësojnë përgjigjen e serverit ndaj klientit. Një përshkrim i disa prej fushave që mund të gjenden në kokën e përgjigjes së serverit është dhënë në tabelë. 1.3.

Tabela 1.3. Fushat e kokës së përgjigjes së serverit në ueb.

Emri i fushes

Përshkrimi i përmbajtjes

Emri i serverit dhe numri i versionit

Koha në sekonda që nga krijimi i burimit

Lista e metodave të lejuara për këtë burim

Përmbajtja-Gjuha

Gjuhët që klienti duhet të mbështesë për të shfaqur saktë burimin e transmetuar

MIME-lloji i të dhënave të përfshira në trupin e përgjigjes së serverit

Numri i karaktereve të përfshira në trupin e përgjigjes së serverit

Data dhe ora e modifikimit të fundit të burimit

Data dhe ora që përcakton se kur është gjeneruar përgjigja

Data dhe ora që përcakton momentin pas të cilit informacioni i transmetuar klientit konsiderohet i vjetëruar

Kjo fushë specifikon vendndodhjen aktuale të burimit. Përdoret për të ridrejtuar një kërkesë

direktivat e caching. Për shembull, pa cache do të thotë që të dhënat nuk duhet të ruhen në memorie.

Trupi i përgjigjes përmban kodin e burimit që i kalon klientit në përgjigje të kërkesës. Nuk duhet të jetë teksti HTML i faqes së internetit. Si pjesë e përgjigjes, mund të transmetohet një imazh, një skedar audio, një fragment informacioni video, si dhe çdo lloj të dhënash tjetër të mbështetur nga klienti. Përmbajtja e fushës së titullit të llojit të përmbajtjes i tregon klientit se si të përpunojë burimin e marrë.

Më poshtë është një shembull i përgjigjes së serverit ndaj kërkesës në seksionin e mëparshëm. Trupi i përgjigjes përmban tekstin burimor të dokumentit HTML.

Serveri: Microsoft-IIS/5.1

X-Powered-By: ASP.NET

Lloji i përmbajtjes: tekst/html

Prano-Ranges: bytes

ETag: "b66a667f948c92:8a5"

Gjatësia e përmbajtjes: 426

Operandi 1:

Operandi 2:

operacion:

Fushat e kokës dhe trupi i mesazhit mund të mungojnë, por shiriti i statusit është element i detyrueshëm, pasi tregon llojin e kërkesës/përgjigjes.

Një fushë e quajtur Content-type mund të shfaqet si në një kërkesë klienti ashtu edhe në një përgjigje të serverit. Vlera e kësaj fushe është MIME- llojin e përmbajtjes së kërkesës ose përgjigjes. MIME-tipi kalohet edhe në fushën e titullit Prano i pranishëm në kërkesë.

Specifikim MIME(Zgjatja e postës në internet me shumë qëllime - postë me shumë qëllime Zgjerimi i internetit) u zhvillua fillimisht për të lejuar transmetimin e formateve të ndryshme të të dhënave si pjesë e emaileve. Megjithatë, përdorimi i MIME nuk është i kufizuar në email. Mjetet MIME përdoren me sukses në WWW dhe, në fakt, janë bërë pjesë përbërëse e këtij sistemi.

Standard MIME projektuar si një specifikim i shtrirë, me shpresën që numri i llojeve të të dhënave do të rritet me zhvillimin e paraqitjeve të të dhënave. Çdo lloj i ri duhet të regjistrohet me IANA(Autoriteti i numrave të caktuar në internet).

Para ardhjes MIME kompjuterët që komunikonin nëpërmjet protokollit HTTP shkëmbenin ekskluzivisht informacione tekstuale. Për të transferuar imazhe, si dhe për të transferuar ndonjë tjetër skedarë binare, duhej të përdorte protokollin FTP.

Specifikim MIME, për të përshkruar formatin e të dhënave përdoren lloji dhe nëntipi. Lloji përcakton se cilës klasë i përket formati i përmbajtjes së kërkesës HTTP ose përgjigjes HTTP. Nëntipi specifikon formatin. Lloji dhe nëntipi ndahen nga njëri-tjetri me një prerje:

lloji/nënlloji

Meqenëse në shumicën dërrmuese të rasteve, serveri kthen tekstin origjinal të dokumentit HTML në përgjigje të një kërkese të klientit, fusha e llojit të përmbajtjes së përgjigjes zakonisht përmban vlerën tekst/html. Këtu, identifikuesi i tekstit përshkruan llojin, duke treguar që informacioni i karakterit po i kalohet klientit, dhe identifikuesi html përshkruan nëntipin, d.m.th. tregon se sekuenca e karaktereve të përfshira në trupin e përgjigjes është një përshkrim HTML i dokumentit.

Lista e llojeve dhe nënllojeve MIME mjaftueshem i madh. Në tabelë. 1.4 janë shembuj MIME-llojet që gjenden më shpesh në titujt e kërkesave dhe përgjigjeve HTML.

Tabela 1.4. Llojet e të dhënave MIME.

Lloji/nënlloji

Zgjatja e skedarit

Përshkrim

Dokument i destinuar për përpunim nga Acrobat Reader

aplikacion/msexcel

Formati i dokumentit Microsoft Excel

aplikim/passhkrim

Dokumenti PostScript

aplikim/x-tex

Dokumenti TeX

aplikacion/msword

Formati i dokumentit Microsoft Word

dokument në Formati RTF, shfaqur me Microsoft Word

Imazhi GIF

Foto në Formati JPEG

Imazhi në formatin TIFF

Imazhi në formatin XBitmap

Teksti ASCII

dokument HTML

Skedar audio MIDI

Skedar audio WAV

mesazh me postë

Postoni në grupet e lajmeve

Mpeg, .mpg, .mpe

Videoklipi në format MPEG

Videoklipi në formatin AVI

Identifikuesit unikë të URL-ve përdoren për të identifikuar në mënyrë unike burimet në ueb.

Një Identifikues Uniform i Burimeve (URI) është një varg i shkurtër karakteresh që identifikon një burim abstrakt ose fizik. URI nuk tregon se si të merret burimi, ai vetëm e identifikon atë. Kjo bën të mundur përshkrimin e përdorimit të burimeve RDF (Resource Description Framework) që nuk mund të merren nëpërmjet internetit (emrat, titujt, etj.). Shembujt më të famshëm të URI-ve janë URL dhe URN.

    URL(Uniform Resource Locator) është një URI që përveç identifikimit të një burimi, ofron edhe informacione për vendndodhjen e këtij burimi.

    URN(Uniform Resource Name) është një URI që identifikon një burim në një hapësirë ​​të caktuar emri, por ndryshe nga një URL, një URN nuk tregon vendndodhjen e atij burimi.

URL-ja ka strukturën e mëposhtme:

<схема>://<логин>:<пароль>@<хост>:<порт>/

    skema- skema e aksesit të burimeve (zakonisht një protokoll rrjeti);

    identifikimi- emri i përdoruesit të përdorur për të hyrë në burim;

    fjalëkalimin- fjalëkalimi i lidhur me emrin e specifikuar të përdoruesit;

    mikpritës- Emri i domain i regjistruar plotësisht i hostit në sistemin DNS ose adresën IP të hostit;

    port- porta pritës për lidhje;

    Rruga e URL-së- specifikimi i informacionit për vendndodhjen e burimit.

Duhet të theksohet se, si çdo klasifikim, klasifikimi ynë i arkitekturave të sistemeve të informacionit nuk është absolutisht i ngurtë. Në arkitekturën e çdo sistemi informacioni të veçantë, shpesh mund të gjejmë ndikime nga disa vendime të përgjithshme arkitekturore. Megjithatë, kur dizajnohet arkitektonik një sistem, duket e dobishme që të ketë të paktën një bazë arkitekturore pjesërisht të ortogonalizuar. Në pjesët vijuese të kursit, ne do të shqyrtojmë në detaje tiparet e secilës arkitekturë dhe do të fokusohemi në metodologjitë dhe mjetet që mbështesin projektimin dhe zhvillimin e sistemeve të informacionit në arkitekturën përkatëse.

2.1. Aplikacionet e serverit të skedarëve

Me sa duket, organizimi i sistemeve të informacionit bazuar në përdorimin e serverëve të skedarëve të dedikuar është ende më i zakonshmi për shkak të pranisë një numër i madh kompjuterët personalë nivele të ndryshme zhvillimi dhe liria krahasuese e lidhjes së PC në rrjetet lokale. Çfarë e tërheq një organizatë të tillë te zhvilluesit e sistemeve të informacionit që nuk kanë shumë përvojë në fushën e programimit të sistemit? Me shumë mundësi, fakti që kur mbështetemi në arkitekturat e serverit të skedarëve, ruhet autonomia e softuerit të aplikacionit (dhe shumica e sistemit) që funksionon në çdo PC në rrjet. Në fakt, komponentët e një sistemi informacioni që funksionon në PC të ndryshëm ndërveprojnë vetëm për shkak të pranisë hapësirë ​​ruajtëse e përbashkët skedarët e ruajtur në serverin e skedarëve. Në rastin klasik, çdo PC kopjohet jo vetëm programet e aplikimit, por edhe mjetet e menaxhimit të bazës së të dhënave. Serveri i skedarëve është një shtesë e ndarë nga të gjithë PC-të e kompleksit. ruajtja e diskut(Figura 2.1).

Pa u ndalur në detaje në premtueset mjetet zhvillimi i aplikacioneve të serverëve të skedarëve dhe pa dhënë një analizë të tendencave në zhvillimin e teknologjive përkatëse (pjesa e tretë e kursit i kushtohet kësaj), ne do të rendisim shkurtimisht avantazhet dhe disavantazhet kryesore të arkitekturave të serverëve të skedarëve.

Sigurisht, përparësia kryesore është lehtësia e organizimit. Projektuesit dhe zhvilluesit e sistemit të informacionit janë në kushtet e njohura dhe komode të IBM PC në MS-DOS, Windows ose ndonjë peshë të lehtë. Varianti i Windows NT. Ekzistojnë mjete të përshtatshme dhe të avancuara për zhvillimin e një ndërfaqeje grafike të përdoruesit, mjete të lehta për t'u përdorur për zhvillimin e sistemeve të bazës së të dhënave dhe / ose DBMS. Por në shumë mënyra kjo thjeshtësi është e dukshme. (Siç thotë proverbi rus, "Thjeshtësia është më e keqe se vjedhja", dhe këtu zakonisht kemi thjeshtësi të bazuar në vjedhje produkte softuerike për PC.)

Oriz. 2.1. Paraqitja klasike e një sistemi informacioni në arkitekturën "skedar-server".

Së pari, sistemi i informacionit duhet të punojë me bazën e të dhënave. Prandaj, kjo bazë të dhënash duhet të dizajnohet. Për disa arsye, zhvilluesit e aplikacioneve të serverëve të skedarëve shpesh mendojnë se, për shkak të thjeshtësisë së mjeteve të menaxhimit të bazës së të dhënave, problemi i dizajnimit të bazës së të dhënave mund të neglizhohet. Sigurisht, kjo është e gabuar. Baza e të dhënave është një bazë të dhënash. Sa më mirë të jetë projektuar, aq më shumë ka gjasa që të përdoret në mënyrë efektive më vonë sistemi i informacionit. Natyrisht, kompleksiteti i dizajnit të bazës së të dhënave përcaktohet nga kompleksiteti objektiv i fushës së modeluar të lëndës. Por, në fakt, nga çfarë duhet të rrjedhë që aplikacionet e serverit të skedarëve janë të përshtatshëm vetëm në fusha të thjeshta lëndore?

Së dyti, siç e kemi theksuar vazhdimisht në pjesën e parë të kursit, kërkesat e nevojshme për bazën e të dhënave të një sistemi informacioni janë ruajtja e integritetit të tij dhe besueshmëria e garantuar e ruajtjes së informacionit. Kushtet minimale në të cilat mund të plotësohen këto kërkesa janë:

    prania e menaxhimit të transaksioneve, ruajtja e të dhënave të tepërta (për shembull, përdorimi i metodave të regjistrimit), aftësia për të formuluar kufizime të integritetit dhe për të kontrolluar përputhshmërinë e tyre.

Në parim, organizimi i serverit të skedarëve, siç tregohet në figurën 2.1, nuk bie në kundërshtim me respektimin e kushteve të shënuara. Një shembull i një sistemi që e bën këtë, por bazohet në një arkitekturë të serverit të skedarëve, është "serveri i bazës së të dhënave" të dikurshëm Informix SE.

Shënim i gjatë:
Për të ruajtur qartësinë e paraqitjes së mëtejshme, duhet të sqarojmë disi terminologjinë. Jo më kot kemi shkruar "server i bazës së të dhënave" në thonjëza në lidhje me Informix SE DBMS. Sipas këtij sistemi, një kopje e softuerit DBMS mbahej për çdo sesion DBMS të inicuar nga përdoruesi. Përafërsisht, për çdo proces përdoruesi që ndërvepron me bazën e të dhënave, u krijua një proces shërbimi DBMS, i cili funksiononte në të njëjtin procesor si procesi i përdoruesit (d.m.th., në anën e klientit). Secili prej këtyre proceseve të shërbimit në fakt sillej sikur të ishte përfaqësuesi i vetëm i DBMS. I gjithë sinkronizimi i punës së mundshme paralele me bazën e të dhënave është kryer në nivelin e skedarëve të memories së jashtme që përmbajnë bazën e të dhënave. Le të biem dakord që tani e tutje që DBMS të tilla t'i quajmë jo serverë të bazës së të dhënave, por sisteme të menaxhimit të bazës së të dhënave të bazuara në një arkitekturë të serverit skedar (DBMS-FS).

Me një server të vërtetë të bazës së të dhënave, nënkuptojmë edukimi i softuerit, i lidhur me bazën e të dhënave përkatëse (bazat e të dhënave), ekzistuese, në përgjithësi, pavarësisht nga ekzistenca e proceseve të përdoruesit (klientit) dhe të kryera, në përgjithësi (megjithëse jo domosdoshmërisht) në harduer të dedikuar (ne përdorim qëllimisht terma jo shumë specifikë "edukim softuerësh" dhe "hardware i dedikuar" sepse zbatimi i tyre specifik ndryshon në serverë të ndryshëm bazat e të dhënave).

Serverët e vërtetë të bazës së të dhënave janë shumë më komplekse në organizim sesa DBMS-FS, por ata ofrojnë një menaxhim më delikat dhe efikas të bazës së të dhënave. Gjatë gjithë këtij kursi, kur përdorim termin "server i bazës së të dhënave" do t'i referohemi serverëve të vërtetë të bazës së të dhënave.

Por nga ana tjetër, në shumicën e DBMS-ve personale këto kushte nuk plotësohen as me ndihmën e mashtrimeve të ashpra. AT rasti më i mirëështë e mundur të kompensohen pjesërisht mangësitë në nivel të programeve aplikative.

Së treti, ndërfaqja e serverëve të zhvilluar të bazës së të dhënave bazohet në përdorimin e një gjuhe të nivelit të lartë të bazës së të dhënave Të dhënat SQL, i cili lejon përdorimin e trafikut të rrjetit ndërmjet klientit dhe serverit të bazës së të dhënave vetëm për qëllime të dobishme (kryesisht deklaratat SQL dërgohen nga klienti në server, dhe rezultatet e ekzekutimit të deklaratave dërgohen nga serveri te klienti). Në një organizatë file-server, klienti punon me skedarë në distancë, gjë që shkakton një mbingarkesë të konsiderueshme të trafikut (meqenëse DBMS-FS punon në anën e klientit, në përgjithësi është e nevojshme të shikoni të gjithë skedarin përkatës në anën e klientit për të zgjedhur të dhëna të dobishme).

Në përgjithësi, në një arkitekturë të serverit të skedarëve, ne kemi një klient "të trashë" dhe një server shumë "të hollë", në kuptimin që pothuajse e gjithë puna kryhet në anën e klientit dhe kërkohet vetëm hapësirë ​​​​e mjaftueshme në disk nga serveri ( figura 2.2).

Oriz. 2.2. Klienti "i trashë" dhe serveri "i hollë" në arkitekturën e serverit skedar

Përfundime të shkurtra. I thjeshtë, me volum të ulët dhe i projektuar për përdorim nga një përdorues, një aplikacion i serverit të skedarëve mund të dizajnohet, zhvillohet dhe korrigjohet shumë shpejt. Shumë shpesh që një kompani e vogël të mbajë, për shembull, të dhënat e personelit, mjafton të ketë një sistem të izoluar që funksionon në një PC të pavarur. Natyrisht, edhe në këtë rast, kërkohet kujdes i madh nga përdoruesit fundorë (ose administratorët, prania e të cilëve është e dyshimtë në këtë rast) për të ruajtur dhe ruajtur në mënyrë të sigurt integritetin e gjendjes së të dhënave. Megjithatë, në raste pak më komplekse (për shembull, kur organizohet një sistem informacioni për të mbështetur një projekt të kryer nga një grup), arkitekturat e serverit të skedarëve bëhen të pamjaftueshme.

Aplikacionet klient-server

Me një aplikacion klient-server nënkuptojmë një sistem informacioni të bazuar në përdorimin e serverëve të bazës së të dhënave (shih shënimin e gjatë në fund të seksionit 2.1). Paraqitja e përgjithshme e sistemit të informacionit në arkitekturën "klient-server" është paraqitur në figurën 2.3.

    Në anën e klientit, ekzekutohet kodi i aplikacionit, i cili domosdoshmërisht përfshin komponentë që mbështesin ndërfaqen e përdoruesit përfundimtar, gjenerojnë raporte dhe kryejnë funksione të tjera specifike për aplikacionin (për momentin, nuk do të na interesojë se si është ndërtuar kodi i aplikacionit). Ana e klientit të aplikacionit ndërvepron me anën e klientit Softueri i menaxhimit të bazës së të dhënave, i cili është, në fakt, përfaqësuesi individual i DBMS për aplikacionin.

(Këtu përsëri ka mangësi në terminologji. Zakonisht, kur një kompani shpall lëshimin e serverit të ardhshëm të bazës së të dhënave, kuptohet në mënyrë implicite që ka edhe një komponent klienti të këtij produkti. Kombinimi "pjesë klienti i serverit të bazës së të dhënave" duket pak e çuditshme, por ne do të duhet të përdorim këtë term.)

Oriz. 2.3. Përfaqësimi i përgjithshëm i sistemit të informacionit në arkitekturën "klient-server".

Vini re se ndërfaqja midis anës së klientit të aplikacionit dhe anës së klientit të serverit të bazës së të dhënave zakonisht bazohet në përdorimin e gjuhës SQL. Prandaj, funksione të tilla si, për shembull, përpunimi paraprak i formularëve të destinuar për pyetjet e bazës së të dhënave, ose gjenerimi i raporteve që rezultojnë kryhen në kodin e aplikacionit.

Së fundi, ana e klientit të serverit të bazës së të dhënave, duke përdorur mjetet akses në rrjet, i referohet serverit të bazës së të dhënave, duke i kaluar tekstin e deklaratës SQL.

Këtu duhen bërë edhe dy vërejtje të tjera.

Në mënyrë tipike, kompanitë që prodhojnë serverë të avancuar të bazës së të dhënave përpiqen të sigurojnë që produktet e tyre të mund të përdoren jo vetëm në rrjetet e sotme standarde të orientuara nga TCP / IP, por në rrjetet e bazuara në protokolle të tjera (për shembull, SNA ose IPX / SPX). Prandaj, kur organizohen ndërveprimet e rrjetit midis klientit dhe pjesëve të serverit të DBMS, shpesh përdoren jo mjete standarde të nivelit të lartë (për shembull, mekanizmat e prizave të softuerit ose thirrjet e procedurave në distancë), por mjetet e tyre funksionale të ngjashme që janë më pak të varura. mbi veçoritë e protokolleve të transportit në rrjet. Kur flasim për një ndërfaqe të bazuar në gjuhën SQL, duhet të jeni të vetëdijshëm se pavarësisht përpjekjeve titanike për standardizimin e kësaj gjuhe, nuk ka një zbatim të tillë në të cilin tiparet standarde të gjuhës nuk do të zgjeroheshin. Përdorimi i pakujdesshëm i shtesave gjuhësore çon në varësinë e plotë të aplikacionit nga një prodhues i caktuar i serverit të bazës së të dhënave.

Tani le të shohim se çfarë ndodh në anën e serverit të bazës së të dhënave. Në produktet e pothuajse të gjitha kompanive, serveri merr nga klienti tekstin e operatorit në gjuhën SQL.

    Serveri përpilon deklaratën e marrë. Nuk do të ndalemi këtu se cila gjuhë e synuar përdoret nga një përpilues i caktuar; implementime të ndryshme marrin qasje të ndryshme (shih Pjesën 4 për shembuj). Gjëja kryesore është që në çdo rast, bazuar në informacionin që përmban tabelat e katalogut të bazës së të dhënave, përfaqësimi joprocedural i operatorit shndërrohet në një procedurë për ekzekutimin e tij. Pastaj (nëse përpilimi ishte i suksesshëm) ekzekutohet deklarata. Përsëri, ne nuk do të diskutojmë detajet teknike pasi ato ndryshojnë në zbatim. Merrni parasysh veprimet e mundshme të deklaratave SQL.
      Një operator mund t'i referohet një klase operatorësh për përcaktimin (ose krijimin) e objekteve të bazës së të dhënave (do të ishte më e saktë dhe më e saktë të flitej për elementët e skemës së bazës së të dhënave ose për objektet e bazës së të dhënave meta). Në veçanti, mund të përcaktohen domenet, tabelat, kufizimet e integritetit, aktivizuesit, privilegjet e përdoruesit, procedurat e ruajtura. Në çdo rast, kur ekzekutohet deklarata e krijimit të elementit të skemës së bazës së të dhënave, informacioni përkatës vendoset në tabelat e katalogut të bazës së të dhënave (tabelat metadata të bazës së të dhënave). Kufizimet e integritetit zakonisht ruhen në metabazën e bazës së të dhënave direkt në paraqitjen tekstuale. Për veprimet e përcaktuara në nxitësit dhe procedurat e ruajtura, kodi i ekzekutueshëm procedural gjenerohet dhe ruhet në tabelat e katalogut. Vini re se kufizimet e integritetit, nxitësit dhe procedurat e ruajtura janë, në një farë kuptimi, përfaqësuese të aplikacionit në bazën e të dhënave të mbështetur nga serveri; ato formojnë shtyllën kurrizore të pjesës së pasme të aplikacionit (shih më poshtë). Gjatë ekzekutimit të deklaratave të përzgjedhjes së të dhënave, bazuar në përmbajtjen e tabelave të prekura nga pyetja, dhe ndoshta duke përdorur indekset e ruajtura në bazën e të dhënave, formohet grupi i të dhënave që rezulton (ne qëllimisht nuk e përdorim termin "tabela e rezultateve" këtu, sepse, në varësi të për llojin specifik të operatorit, rezultati mund të renditet, dhe tabelat, d.m.th., marrëdhëniet janë të parregulluara sipas definicionit). Pjesa e serverit të DBMS dërgon rezultatin në pjesën e klientit, dhe përpunimi përfundimtar bëhet në pjesën e klientit të aplikacionit. Gjatë ekzekutimit të deklaratave të modifikimit të përmbajtjes së bazës së të dhënave (INSERT, UPDATE, DELETE), kontrollohet që kufizimet e integritetit të përcaktuara në atë kohë (ato që i përkasin klasës së kontrolluar menjëherë) nuk do të shkelen, pas së cilës ndërmerret veprimi i duhur (shoqërohet duke modifikuar të gjithë indekset përkatëse dhe ndryshimet e regjistrit). Më pas, serveri kontrollon për të parë nëse ndryshimi ndikon në gjendjen e shkrepjes së ndonjë shkas, dhe nëse gjendet një shkas i tillë, ekzekuton procedurën e veprimit të tij. Kjo procedurë mund të përfshijë operatorë shtesë modifikimet e bazës së të dhënave që mund të shkaktojnë ndezjen e nxitësve të tjerë, etj.. Mund të mendoni për veprimet që kryhen në serverin e bazës së të dhënave kur kontrolloni për kufizime të integritetit dhe kur aktivizohen aktivizuesit si veprime të pjesës së pasme të aplikacionit. Kur ekzekutoni deklaratat e modifikimit të skemës së bazës së të dhënave (shtimi ose fshirja e kolonave të tabelave ekzistuese, ndryshimi i llojit të të dhënave të një kolone ekzistuese tabela ekzistuese etj.) gjithashtu mund të ndezë shkas, d.m.th., me fjalë të tjera, mund të ekzekutojë pjesa e serverit aplikacionet. Në mënyrë të ngjashme, aktivizuesit mund të aktivizohen kur objektet e skemës së bazës së të dhënave (domainët, tabelat, kufizimet e integritetit, etj.) shkatërrohen. Një klasë e veçantë e operatorëve në gjuhën SQL janë operatorët e thirrjeve të procedurave të përcaktuara më parë dhe të ruajtura në bazën e të dhënave. Nëse një procedurë e ruajtur përcaktohet duke përdorur një gjuhë të zhvilluar mirë që përfshin deklarata SQL jo-procedurale dhe konstruksione thjesht procedurale (për shembull, gjuha PL / SQL e Oracle), atëherë një pjesë serioze e aplikacionit mund të vendoset në një procedurë të tillë. e cila, kur ekzekutohet deklarata e thirrjes së procedurës, do të ekzekutohet në anën e serverit, jo në anën e klientit. Kur ekzekuton një deklaratë të përfundimit të transaksionit, serveri duhet të kontrollojë që të respektohen të ashtuquajturat kufizime të integritetit të shtyrë (kufizime të tilla përfshijnë kufizime të vendosura në përmbajtjen e tabelës së bazës së të dhënave në tërësi ose në disa tabela në të njëjtën kohë; për shembull, paga totale e punonjësve të departamentit 999 nuk duhet të kalojë 150 milion rubla.). Përsëri, kontrollimi i kufizimeve të integritetit të shtyrë mund të mendohet si ekzekutimi i pjesës së pasme të një aplikacioni.

Siç mund ta shihni, në një organizatë klient-server, klientët mund të jenë mjaft të hollë, dhe serveri duhet të jetë mjaft i trashë që të jetë në gjendje të kënaqë nevojat e të gjithë klientëve (Figura 2.4).

Oriz. 2.4. Klient "i hollë" dhe server "i trashë" në arkitekturën klient-server

Nga ana tjetër, zhvilluesit dhe përdoruesit e sistemeve të informacionit të bazuara në arkitekturën klient-server shpesh janë të pakënaqur me shpenzimet e përgjithshme të rrjetit gjithnjë të pranishme që rezulton nga nevoja për të shkuar nga klienti në server me çdo kërkesë të njëpasnjëshme. Në praktikë, situata është e zakonshme kur punë efektive një komponent i veçantë klient i sistemit të informacionit në fakt kërkon vetëm një pjesë të vogël bazë e përbashkët të dhëna. Kjo çon në idenë e mbajtjes së një cache lokale të bazës së të dhënave të përbashkët në anën e secilit klient.

Në fakt, koncepti i memorizimit lokal të bazës së të dhënave është një rast i veçantë i konceptit të bazave të të dhënave të përsëritura (ose, siç quhen ndonjëherë në literaturën ruse, të përsëritura). Ashtu si në rastin e përgjithshëm, për të mbështetur një memorie lokale të bazës së të dhënave, softueri i stacionit të punës duhet të përmbajë një komponent të menaxhimit të bazës së të dhënave - një version të thjeshtuar të serverit të bazës së të dhënave, i cili, për shembull, mund të mos sigurojë akses me shumë përdorues. Një problem i veçantë është të sigurohet konsistenca (koherenca) e cache-ve dhe një bazë të dhënash të përbashkët. Këtu janë të mundshme zgjidhje të ndryshme- nga ruajtja automatike e konsistencës përmes mjeteve të softuerit themelor të menaxhimit të bazës së të dhënave deri te zhvendosja e plotë e kësaj detyre në shtresën e aplikimit. Sido që të jetë, klientët bëhen më të trashë pa u holluar serveri (Figura 2.5).

Oriz. 2.5. Klienti "i shëndoshë" dhe serveri "i trashë" në një arkitekturë klient-server me mbështetje lokale të cache-së në anën e klientit

Le të formulojmë disa përfundime paraprake. Arkitektura klient-server në shikim të parë duket se është shumë më e shtrenjtë se arkitektura e serverit të skedarëve. Kërkon pajisje më të fuqishme të paktën, për serverin) dhe mjete shumë më të avancuara të menaxhimit të bazës së të dhënave. Megjithatë, kjo është vetëm pjesërisht e vërtetë. Avantazh i madh arkitektura klient-serverështë shkallëzueshmëria dhe aftësia e përgjithshme e tij për t'u zhvilluar.

Gjatë projektimit të një sistemi informacioni të bazuar në këtë arkitekturë, më shumë vëmendje duhet t'i kushtohet shkrim-leximit. zgjidhje të përbashkëta. Mjetet teknike i versionit pilot mund të jetë minimal (për shembull, një nga stacionet e punës mund të përdoret si bazë harduerike e serverit të bazës së të dhënave). Pas krijimit të versionit pilot, është e nevojshme të kryhen shtesë punë kërkimore, për të zbuluar vende të ngushta sistemeve. Vetëm pas kësaj është e nevojshme të merret një vendim për zgjedhjen e harduerit të serverit që do të përdoret në praktikë.

Rritja e shkallës së sistemit të informacionit nuk krijon probleme thelbësore. Zgjidhja e zakonshme është të zëvendësoni harduerin e serverit (dhe ndoshta harduerin e stacionit të punës nëse dëshironi të kaloni në memorien e të dhënave lokale). Në çdo rast, pjesa e aplikuar e sistemit të informacionit praktikisht nuk preket. Në mënyrë ideale, e cila, natyrisht, nuk ekziston, Sistemi i informacionit vazhdon të funksionojë normalisht pas një ndryshimi të harduerit.

Artikujt kryesorë të lidhur