Kako podesiti pametne telefone i računare. Informativni portal

Pregled savremenih serverskih tehnologija. Web klijent-server tehnologije

DB-ovi koji rade na FILE-SERVER tehnologiji;

DB-ovi koji rade na tehnologiji CLIENT-SERVER.

File Server


- Pristup bazi podataka (zahtjev)
- Prijenos podataka uz blokiranje pristupa drugim korisnicima
- Obrada podataka na računaru korisnika

Radi jasnoće, razmotrite konkretnim primjerima. Pretpostavimo da trebate pogledati poslate naloge za plaćanje za period od 19. maja do 25. maja u iznosu od 5.000 rubalja. Korisnik će morati na svom računaru pokrenuti klijentsku aplikaciju koja radi u bazi sa nalozima za plaćanje i unijeti tražene kriterije odabira. Nakon toga, datoteka koja sadrži sve dokumente ovog tipa za cijeli period za bilo koji iznos će biti preuzeta na vaš računar sa servera baze podataka i učitana u RAM. Klijentska aplikacija koja radi na računaru korisnika, radeći sa bazom podataka, sama će obraditi ove podatke (složiti ih), nakon čega će dati odgovor (na ekranu će se pojaviti lista naloga za plaćanje koji ispunjavaju vaše kriterijume). Nakon toga ćete odabrati traženi nalog za plaćanje i pokušati urediti (promijeniti) jedno polje u njemu - na primjer datum. Prilikom uređivanja izvor podataka je zaključan, odnosno cijeli fajl koji sadrži ovaj dokument. To znači da datoteka ili uopće neće biti dostupna drugim korisnicima, ili će biti dostupna samo u načinu pregleda. Štaviše, ova vrsta hvatanja se čak i ne dešava na nivou zapisa, odnosno jednog dokumenta, već je blokirana cijeli fajl- odnosno cijela tabela koja sadrži slične dokumente. Tek nakon što se ovo polje u potpunosti obradi i izađe iz moda za uređivanje, korisnik će deblokirati ovu datoteku naloga za plaćanje. Ako su podaci pohranjeni u obimnijim objektima, na primjer, jedna datoteka sadrži naloge za plaćanje i za prijem sredstava i za slanje, tada više informacija neće biti dostupno. Radićete sa jednim poljem "datum" u jednom dokumentu - ostali zaposleni u preduzeću će čekati dok ne završite.

Nedostaci FILE-SERVER sistema su očigledni:

    Veoma veliko opterećenje na mreži, povećani zahtjevi za propusnost. U praksi to čini gotovo nemogućim istovremeni rad veliki broj korisnika sa velikom količinom podataka.

    Obrada podataka se vrši na računaru korisnika. To podrazumijeva povećane zahtjeve za hardverom svakog korisnika. Kako više korisnika, teme više novcaće morati da potroše na opremanje svojih računara.

    Blokiranje podataka prilikom uređivanja od strane jednog korisnika onemogućava drugim korisnicima rad s ovim podacima.

    Sigurnost. Da biste mogli raditi s takvim sistemom, morat ćete svakom korisniku dati potpuni pristup cijeloj datoteci, za koju ga može zanimati samo jedno polje.

    klijent-server

    Obrada zahtjeva jednog korisnika:
    - Pristup bazi podataka (SQL upit)
    - Slanje odgovora - rezultat obrade


    Ako je potrebno obraditi informacije pohranjene u bazi podataka, klijentska aplikacija koja radi na računaru korisnika koji radi sa bazom podataka generiše upit u SQL jeziku (naziv iz početnih slova je Structured Query Language). Server baze podataka prima zahtjev i obrađuje ga sam. Ni jedan niz podataka (fajl) se ne prenosi preko mreže. Nakon obrade zahtjeva, na računar korisnika se prenosi samo rezultat – odnosno u prethodnom primjeru lista naloga za plaćanje koji ispunjavaju tražene kriterije. Sama datoteka, u kojoj su pohranjeni podaci koji su služili kao izvor za obradu, ostaje otključana za pristup samom serveru na zahtjev drugih korisnika.

    U ozbiljnim klijent-server DBMS-ima postoje dodatni mehanizmi, smanjenje opterećenja na mreži, smanjenje zahtjeva za korisničke računare. Kao primjer, uzmimo pohranjene procedure - odnosno cijele programe za obradu podataka pohranjenih u bazi podataka. U ovom slučaju se čak ni SQL izrazi ne prenose od korisnika do poslužitelja - prenosi se poziv funkcije s parametrima poziva. Na ovaj način, radno mjesto korisnik je još više pojednostavljen, logika programa se prenosi na server. Korisničko mjesto postaje samo sredstvo za prikazivanje informacija. Sve to znači dalje smanjenje opterećenja mreže i korisničkih radnih stanica.

    Dakle, svi gore navedeni nedostaci sheme FILE-SERVER su eliminirani u arhitekturi KLIJENT-SERVER:

      Nizovi podataka se ne prenose preko mreže sa servera baze podataka na računar korisnika. Zahtjevi za propusnost mreže su smanjeni. Ovo omogućava velikom broju korisnika da istovremeno radi sa velikim količinama podataka.

      Obrada podataka se vrši na serveru baze podataka, a ne na računaru korisnika. Ovo vam omogućava da koristite jednostavnije, a time i jeftinije računare na klijentskim lokacijama.

      Ne dolazi do blokiranja (hvatanja) podataka od strane jednog korisnika.

      Pristup korisniku nije omogućen cijelom fajlu, već samo onim podacima iz njega sa kojima korisnik ima pravo raditi.

      Uzimajući u obzir razliku između FILE-SERVER i CLIENT-SERVER, možemo završiti razmatranje koncepta "skladištenja informacija". Važno je naglasiti da rad u velikoj mjeri ovisi o vrsti korištenog DBMS-a. korporativni sistem. Jasno je da za velika preduzeća, sa veliki iznos korisnicima, sa ogromnim brojem zapisa u bazi podataka, shema fajl-server je potpuno neprihvatljiva. S druge strane, postoje razlike u bazama podataka u drugim parametrima i mogućnostima:

        vrste podataka koji se mogu pohraniti u bazi podataka (brojevi, datumi, tekst, slike, video, zvuk, itd.);

        o tehnologijama pristupa podacima u bazi koju organizuje sama baza podataka i stepenu zaštite informacija od neovlašćenog pristupa;

        o pruženim alatima i metodama razvoja koji se mogu koristiti za dizajniranje bilo kojeg informacionog sistema zasnovanog na ovoj bazi podataka;

        o predviđenim sredstvima i metodama analize informacija (podataka) koji se mogu primijeniti u informacionom sistemu zasnovanom na ovoj bazi podataka;

        po pouzdanosti i stabilnosti, odnosno (približno) broju zapisa (popunjenih polja) u bazi podataka, što omogućava pouzdanu i neprekidnu mogućnost pristupa, promjene, analize informacija u bazi podataka;

        po brzini - vrijeme utrošeno na pristup i obradu informacija;

        po mogućnosti organizovati rad na računarima različitih proizvođača, odnosno prema kompatibilnosti sa drugim platformama i operativnim sistemima;

        prema nivou podrške (usluge) koju pruža programer baze podataka ili njegov ovlašteni distributer;

        po dostupnosti dobar novac kreiranje aplikacija koje koriste ovu bazu podataka, itd.

        Zašto danas nije isplativo ulagati u rješenje servera datoteka? Danas je već očigledan dalji put razvoja baza podataka. Pojavljuju se višeslojni klijent-server sistemi, sa vrlo tankim klijentima, koji uklanjaju sva ograničenja sa klijentskih stanica, kako u pogledu performansi tako iu pogledu platforme, operativni sistem. Ako je za rješenje klijent-server dalji razvoj izgleda sasvim jasno, a prelazak sa klijent-server na klijent-server na više nivoa nije problematičan, tada je za fajl server jednostavan prelazak na klijent-server ogroman problem i enormni troškovi rada, ako se odjednom ispostavi da biti moguće uopšte.

Arhitektura klijent-server se široko koristi mrežne tehnologije koristi se za pristup raznim mrežnim uslugama. Pogledajmo na brzinu neke vrste takvih usluga (i servera).

Web serveri

U početku su omogućavali pristup hipertekstualnim dokumentima putem HTTP protokola (Huper Text Transfer Protocol). Sada podržavaju napredne funkcije, posebno rad sa binarnim datotekama (slike, multimedija, itd.).

Aplikacioni serveri

Dizajniran za centralizovano rešavanje primenjenih problema u određenoj predmetnoj oblasti. Da to učine, korisnici imaju pravo pokrenuti serverske programe za izvršenje. Upotreba poslužitelja aplikacija smanjuje zahtjeve za konfiguraciju klijenta i pojednostavljuje generalni menadžment mreže.

Serveri baza podataka

Serveri baze podataka se koriste za obradu korisničkih upita u SQL jeziku. U ovom slučaju, DBMS se nalazi na serveru na koji se povezuju klijentske aplikacije.

File serveri

File Server trgovine informacije u obliku datoteka i omogućava korisnicima pristup njima. Po pravilu, fajl server takođe pruža određeni nivo zaštite od neovlašćenog pristupa.

Proxy server

Prvo, djeluje kao posrednik, pomažući korisnicima da dobiju informacije sa Interneta dok osiguravaju mrežu.

Drugo, pohranjuje često tražene informacije u keš memoriju na lokalnom disku, brzo ih isporučujući korisnicima bez ponovnog pristupa Internetu.

Zaštitni zidovi(zaštitni zidovi)

Zaštitni zidovi, analiziranje i filtriranje prolaska mrežni promet, kako bi se osigurala mreža.

Mail serveri

Pružaju usluge slanja i primanja poruka elektronske pošte.

Serveri daljinski pristup(RAS)

Ovi sistemi obezbeđuju komunikaciju sa mrežom putem dial-up linija. Udaljeni zaposlenik može koristiti korporativne LAN resurse tako što će se povezati na njega pomoću običnog modema.

Ovo su samo neke vrste čitavog niza klijent-server tehnologija koje se koriste u lokalnim i globalnim mrežama.

Za pristup određenim mrežnim uslugama koriste se klijenti čije mogućnosti karakteriše koncept "debljine". Definira hardversku konfiguraciju i softver koji korisnik ima. Uzmite u obzir moguće granične vrijednosti:

"Tank" klijent

Ovaj termin definira klijenta čiji su računarski resursi dovoljni samo za pokretanje potrebne mrežne aplikacije preko web sučelja. Korisnički interfejs takve aplikacije formira se pomoću statički HTML (izvršenje JavaScript-a nije omogućeno), sva logika aplikacije se izvodi na serveru.
Da bi tanki klijent radio, dovoljno je samo pružiti mogućnost pokretanja web preglednika u čijem se prozoru provode sve radnje. Iz tog razloga, web pretraživač se često naziva "univerzalnim klijentom".

"Debeli" klijent

Ovo je radna stanica ili personalni računar koji koristi sopstveni disk operativni sistem i koji ima potreban set softvera. TO mrežni serveri"debeli" klijenti se prijavljuju uglavnom za dodatne usluge (na primjer, pristup web serveru ili korporativnoj bazi podataka).
“Debeli” klijent također znači klijentsku mrežnu aplikaciju koja radi pod lokalnim OS. Takva aplikacija kombinuje komponentu prezentacije podataka (OS grafički korisnički interfejs) i komponentu aplikacije (računarska snaga klijentskog računara).

IN U poslednje vreme Drugi termin se sve više koristi: "bogati"-klijent. "Bogati" klijent je svojevrsni kompromis između "debelog" i "tankog" klijenta. Poput "tankog" klijenta, "bogati" klijent također predstavlja grafičko sučelje, koje je već opisano pomoću XML-a i uključuje neke funkcionalnosti debelih klijenata (na primjer, drag-and-drop interfejs, kartice, više prozora, ispusti- donji meniji, itd.)

Logika aplikacije "bogatog" klijenta je takođe implementirana na serveru. Podaci se šalju na standardni format razmena, zasnovana na istom XML-u (SOAP, XML-RPC protokoli) i interpretirana od strane klijenta.

Neki od glavnih protokola bogatih klijenata baziranih na XML-u su navedeni u nastavku:

  • XAML (eXtensible Application Markup Language) - razvijen od strane Microsofta, koristi se u aplikacijama na .NET platformi;
  • XUL (XML User Interface Language) - standard razvijen od strane Mozilla projekta, koji se koristi, na primjer, u klijentu e-pošte Mozilla Thunderbird ili Mozilla pretraživač Firefox;
  • Flex- multimedijalna tehnologija baziran na XML-u koji je razvio Macromedia/Adobe.

Zaključak

dakle, glavna ideja klijent-server arhitekture je podijeliti mrežnu aplikaciju na nekoliko komponenti, od kojih svaka implementira određeni skup usluga. Komponente takve aplikacije mogu raditi na različitim računarima, obavljajući serverske i/ili klijentske funkcije. Ovo poboljšava pouzdanost, sigurnost i performanse. mrežne aplikacije i mreže općenito.

Pošaljite svoj dobar rad u bazu znanja je jednostavno. Koristite obrazac ispod

Dobar posao na stranicu">

Studenti, postdiplomci, mladi naučnici koji koriste bazu znanja u svom studiranju i radu biće vam veoma zahvalni.

Hostirano na http://www.allbest.ru/

[Unesite tekst]

Serveri. Osnovni koncepti servera

Klijent-server model

Klasifikacija standardni serveri

Spisak korišćene literature

Serveri. Osnovni koncepti servera

Server (od engleskog server, serving). U zavisnosti od svrhe, postoji nekoliko definicija koncepta servera.

1. Server (mreža) - logički ili fizički čvor mreže koji opslužuje zahtjeve na jednu adresu i/ili ime domene (susedna imena domena), koji se sastoji od jednog ili sistema hardverskih servera koji pokreću jedan ili sistem serverskih programa

2. Server (softver) - softver koji prima zahtjeve od klijenata (u klijent-server arhitekturi).

3. Server (hardver) - računar (ili posebna računarska oprema) namenjen i/ili specijalizovan za obavljanje određenih servisne funkcije.

3. Server u informacionoj tehnologiji - softverska komponenta računarski sistem koji obavlja uslužne funkcije na zahtjev klijenta, omogućavajući mu pristup određenim resursima.

Odnos pojmova. Serverska aplikacija (server) radi na računaru, koji se naziva i "server", dok se s obzirom na topologiju mreže takav čvor naziva "server". IN opšti slučaj može biti da serverska aplikacija radi normalno radna stanica, ili serverska aplikacija koja se izvodi na njoj server računar unutar razmatrane topologije djeluje kao klijent (odnosno, nije server sa stanovišta topologije mreže).

Klijent-server model

Koncepti servera i klijenta i uloge koje su im dodijeljene čine softverski koncept "klijent-server". Klijent-server model je još jedan pristup strukturiranju operativnog sistema (OS). U širem smislu, model klijent-server pretpostavlja prisustvo softverske komponente - potrošač usluge - klijent, i softverske komponente - provajder ove usluge - server. Interakcija između klijenta i servera je standardizirana tako da server može opsluživati ​​klijente implementirane na različite načine i možda od strane različitih proizvođača. Istovremeno, glavni uslov je da zatraže usluge servera na njemu razumljiv način. Inicijator razmene je obično klijent, koji šalje zahtev za uslugu serveru koji je u stanju čekanja zahteva. Ista softverska komponenta može biti klijent za jednu vrstu usluge i server za drugu vrstu usluge. Klijent-server model je prilično zgodan konceptualni alat za jasnu reprezentaciju funkcija određenog programski element u jednoj ili drugoj situaciji od tehnologije. Ovaj model se uspješno koristi ne samo u konstrukciji OS-a, već i na svim nivoima softvera, au nekim slučajevima ima i uže, specifično značenje, zadržavajući, naravno, sve svoje zajedničke karakteristike. Što se tiče strukturiranja OS-a, ideja je da se on podijeli na nekoliko procesa – servera, od kojih svaki obavlja poseban skup uslužnih funkcija – na primjer, upravljanje memorijom, kreiranje ili raspoređivanje procesa. Svaki server radi u korisničkom modu. Klijent, koji može biti ili druga OS komponenta ili aplikativni program, zahtijeva uslugu slanjem poruke serveru. OS kernel (ovdje nazvan mikrokernel), koji radi u privilegovanom načinu rada, isporučuje poruku željenom serveru, server obavlja operaciju, nakon čega kernel vraća rezultate klijentu koristeći drugu poruku. Za interakciju sa klijentom (ili klijentima, ako je podržan istovremeni rad sa više klijenata), server dodeljuje neophodne međuprocesne komunikacione resurse (zajednička memorija, cev, utičnica, itd.) i čeka na zahteve za otvaranje veze (ili, u zapravo, zahtjevi za pruženu uslugu). U zavisnosti od vrste takvog resursa, server može opsluživati ​​procese unutar istog računarskog sistema ili procese na drugim mašinama putem kanala podataka (npr. COM port) ili mrežnih veza.

Format zahtjeva klijenta i odgovora servera definiran je protokolom. Specifikacije otvoreni protokoli opisani su otvorenim standardima, na primjer, Internet protokoli su definirani u RFC dokumentima.

Ovisno o zadacima koji se izvršavaju, neki serveri, u nedostatku zahtjeva za uslugu, mogu čekati u mirovanju. Drugi možda obavljaju neki posao (na primjer, prikupljaju informacije), za takve servere rad s klijentima može biti sekundarni zadatak.

Klasifikacija standardnih servera

Obično svaki server opslužuje jedan (ili nekoliko sličnih) protokola, a serveri se mogu klasificirati prema vrsti usluge koju pružaju.

Univerzalni serveri su posebna vrsta serverskog programa koji sam po sebi ne pruža nikakve usluge. Umesto toga, generički serveri obezbeđuju servere usluga sa pojednostavljenim interfejsom za IPC resurse i/ili objedinjeni pristup klijenta raznim uslugama. Postoji nekoliko tipova takvih servera:

inetd sa engleskog. internet super-server daemon IP service daemon - standardni alat na UNIX sistemima - program koji vam omogućava da pišete TCP/IP servere (i mrežni protokoli druge porodice) koje rade sa klijentom preko inetd preusmjerenih standardnih ulaznih i izlaznih tokova (stdin i stdout).

RPC sa engleskog. Poziv udaljene procedure Poziv udaljene procedure - sistem integracije servera u obliku procedura dostupnih za pozivanje udaljenog korisnika kroz objedinjeni interfejs. Interfejs koji je izumio Sun Microsystems za svoj operativni sistem (SunOS, Solaris; Unix sistem) trenutno se koristi na većini Unix sistema, kao i na Windowsima.

Primijenjene klijent-server tehnologije Windows:

(D-)COM (engleski (Distributed) Component Object Model - model kompozitnih objekata), itd. - Dozvoljava jednom programu da izvodi operacije nad objektima podataka koristeći procedure drugih programa. U početku ovu tehnologiju je namijenjeno njihovom "ugrađivanju i povezivanju objekata" (OLE engleski Object Linking and Embedding), ali, općenito, omogućava vam pisanje širok raspon razne servere aplikacija. COM radi samo na jednom računaru, DCOM je dostupan daljinski preko RPC-a.

Active-X - COM i DCOM ekstenzija za kreiranje multimedijalnih aplikacija.

Generički serveri se često koriste za pisanje svih vrsta informacioni serveri, serveri kojima nije potrebno nikakvo specifično umrežavanje, serveri koji nemaju nikakve druge zadatke osim opsluživanja klijenata. Na primjer, redovni konzolni programi i skripte mogu djelovati kao serveri za inetd.

Najviše interno i specifično za mrežu Windows serveri rad preko univerzalnih servera (RPC, (D-)COM).

Mrežne usluge obezbeđuju funkcionisanje mreže, na primer, DHCP i BOOTP serveri obezbeđuju inicijalizaciju servera i radnih stanica, DNS - prevođenje imena u adrese i obrnuto.

Tunelski serveri (na primjer, razni VPN serveri) i proxy serveri pružaju komunikaciju s mrežom kojoj se ne može pristupiti putem rutiranja.

AAA i Radius serveri pružaju jedinstvenu mrežnu autentifikaciju, autorizaciju i evidentiranje pristupa.

Informacijske usluge. Informacijske usluge uključuju i najjednostavnije servere koji izvještavaju informacije o hostu (vrijeme, dan, motd), korisnicima (prst, ident) i servere za nadzor, kao što je SNMP. Većina informacione usluge rade preko univerzalnih servera.

Serveri za sinhronizaciju vremena su posebna vrsta informacionih servisa - NTP, pored obaveštavanja klijenta o tačnom vremenu, NTP server periodično proziva nekoliko drugih servera da isprave svoje vreme. Pored vremenske korekcije, analizira se i koriguje brzina putovanja. sistemski sat. Korekcija vremena se vrši ubrzavanjem ili usporavanjem sistemskog sata (u zavisnosti od smera korekcije) kako bi se izbegli problemi koji se mogu javiti jednostavnom zamenom vremena.

Datotečni serveri su serveri za omogućavanje pristupa datotekama na disku servera.

Prije svega, to su serveri za prijenos datoteka na zahtjev koji koriste FTP, TFTP, SFTP i HTTP protokole. HTTP protokol je orijentiran na prijenos tekstualne datoteke, ali serveri također mogu vratiti proizvoljne podatke kao tražene datoteke, na primjer, dinamički kreirane web stranice, slike, muziku itd.

Drugi serveri vam omogućavaju da montirate particije diska servera prostor na disku klijenta i u potpunosti raditi s datotekama na njima. Serveri dozvoljavaju NFS protokoli i SMB. NFS i SMB serveri rade preko RPC interfejsa.

Nedostaci sistema fajl servera:

Veoma veliko opterećenje na mreži, povećani zahtjevi za propusnost. U praksi to čini gotovo nemogućim da veliki broj korisnika istovremeno radi sa velikim količinama podataka.

Obrada podataka se vrši na računaru korisnika. To podrazumijeva povećane zahtjeve za hardverom svakog korisnika. Što više korisnika, to će više novca morati da se potroši na opremanje svojih računara.

Blokiranje podataka prilikom uređivanja od strane jednog korisnika onemogućava drugim korisnicima rad s ovim podacima.

Sigurnost. Da biste mogli raditi s takvim sistemom, morat ćete svakom korisniku dati potpuni pristup cijeloj datoteci, za koju ga može zanimati samo jedno polje.

Serveri za pristup podacima održavaju bazu podataka i vraćaju podatke na zahtjev. Jedan od mnogih jednostavni serveri sličnog tipa - LDAP (engleski Lightweight Directory Access Protocol - lagani protokol za pristup listama).

Ne postoji jedinstven protokol za pristup serverima baze podataka, međutim, svi serveri baze podataka su ujedinjeni upotrebom jedinstvenih pravila generisanja upita - SQL jezika (Structured Query Language).

Usluge razmjene poruka omogućavaju korisniku da šalje i prima poruke (obično tekstualne poruke).

Prvo serveri. Email radi na SMTP protokol. SMTP server prima poruku i isporučuje je u lokalno poštansko sanduče korisnika ili na drugi SMTP server (odredišni ili posredni server). Na računarima sa više korisnika, korisnici rade sa poštom direktno na terminalu (ili web interfejsu). Za rad sa poštom na ličnom računaru, pošta se preuzima iz poštanskog sandučeta preko servera koji rade na POP3 ili IMAP protokolima.

Za organizovanje konferencija postoje serveri za vesti koji rade preko NNTP protokola.

Za razmjenu poruka u realnom vremenu postoje serveri za ćaskanje, standardni chat server radi na IRC protokolu - distribuirani chat za Internet.

Postoje mnogi drugi protokoli za ćaskanje, kao što su ICQ ili Jabber.

Serveri za daljinski pristup

Serveri za daljinski pristup, preko odgovarajućih klijentski program, omogući korisniku pristup konzoli udaljenom sistemu.

Da bi se omogućio pristup komandnoj liniji, koriste se telnet, RSH, SSH serveri.

Grafički interfejs za Unix sisteme - X Window System, ima ugrađen server za daljinski pristup, pošto je prvobitno razvijen sa ovom mogućnošću. Mogućnost daljinskog pristupa X-Window interfejsu se ponekad pogrešno naziva "X-Server" (izraz X-Window za video drajver).

Standardni server za daljinski pristup Microsoft Windows GUI-u naziva se terminalski server.

Neka vrsta upravljanja (tačnije, nadgledanje i konfigurisanje) takođe je obezbeđena SNMP protokolom. Računar ili hardverski uređaj mora imati SNMP server za ovo.

Serveri za igre služe za istovremenu igru ​​više korisnika u jednoj situaciji igre. Neke igre imaju server u glavnoj distribuciji i omogućavaju vam da ga pokrenete u nenamjenskom režimu (to jest, dozvoljavaju vam da igrate na mašini na kojoj server radi).

Serverska rješenja - operativni sistemi i/ili softverski paketi optimizirani za izvođenje serverskih funkcija od strane računara i/ili koji sadrže skup programa za implementaciju tipičnih usluga.

Primjer serverskih rješenja su Unix sistemi koji su prvobitno dizajnirani za implementaciju serverske infrastrukture ili modifikacije servera. Microsoft platforme Windows.

Također je potrebno odvojiti pakete servera i povezanih programa (na primjer, web server / PHP / MySQL komplet za brzu implementaciju hostinga) za instalaciju pod Windows (Unix karakteriše modularna ili "upakovana" instalacija svakog komponenta, pa su takva rješenja rijetka).

U integriranim serverskim rješenjima sve komponente se instaliraju u isto vrijeme, sve komponente su manje-više čvrsto integrirane i unaprijed konfigurirane jedna s drugom. Međutim, u ovom slučaju, zamjena jednog od servera ili sekundarnih aplikacija (ako njihove mogućnosti ne zadovoljavaju potrebe) može biti problem.

Serverska rješenja služe za pojednostavljenje organizacije osnovne IT infrastrukture kompanija, odnosno za brzu izgradnju punopravne mreže u kompaniji, uključujući i od nule. Kombinovanje pojedinačnih serverskih aplikacija u rešenje implicira da je rešenje dizajnirano za obavljanje tipičnih zadataka; istovremeno se značajno smanjuje složenost implementacije i ukupni trošak vlasništva nad IT infrastrukturom izgrađenom na takvim rješenjima.

Proxy server (od engleskog proxy - “predstavnik, ovlašten”) je usluga u računarskim mrežama koja omogućava klijentima da upućuju indirektne zahtjeve drugim mrežnim servisima. Prvo, klijent se povezuje na proxy server i traži neki resurs (na primjer, e-mail) koji se nalazi na drugom serveru. Proxy se tada povezuje na specificirani server i prima resurs od njega, ili vraća resurs iz vlastite keš memorije (u slučajevima kada proxy ima vlastitu keš memoriju). U nekim slučajevima, zahtjev klijenta ili odgovor servera može biti izmijenjen od strane proxy servera u određene svrhe. Također, proxy server vam omogućava zaštitu klijent računar od nekih mrežnih napada.

Izlazs

format serveraProxy windows

Dakle, svaka računarska mreža, u stvari, je mreža klijent-server. Korisnik koji svoj računar poveže na Internet imaće posla sa klijent-server mrežom, a čak i ako računar nema pristup mreži, njegov softver, ai on, najverovatnije je organizovan prema klijent-server šemi. .

Lista upotrebaovannoyknjiževnost

1. Droga A.A., Žukova P.N., Koponev D.N., Lukyanov D.B., Prokopenko A.N. Računarstvo i matematika. - Minsk, 2008.

2. Connolly T., Begg K. Baze podataka. Dizajn, implementacija i podrška. Teorija i praksa - 3. izd. - M.: "Williams", 2003.

3. Kuznjecov S.D. Osnove baze podataka. - 1. izd. - M.: "Internet univerzitet informacionih tehnologija - INTUIT.ru", 2005.

4. Scott W. Ambler, Pramodkumar J. Sadalaj. Refaktoriranje baze podataka: evolucijski dizajn - M.: "Williams", 2007.

5. A.N. Morozevich, A.M. Zenevich Informatics. Minsk, 2008.

6. Titorenko G.A. Upravljanje informacionim tehnologijama. M., Jedinstvo: 2002.

7. Melnikov V. Sigurnost informacija u kompjuterski sistemi. - M.: Finansije i statistika, Elektroinform, 1997.

Hostirano na Allbest.ru

...

Slični dokumenti

    Osnovni koncepti servera. klijent-server model. Klasifikacija standardnih servera. Nedostaci sistema fajl servera. Kriptografske metode zaštite informacija. Serveri za daljinski pristup. Metode i sredstva osiguranja informacione sigurnosti.

    kontrolni rad, dodano 13.12.2010

    Opće informacije o Linux operativnom sistemu. Analiza serverskih informacija. Osnovne primijenjene klijent-server tehnologije Windows-a. Informacije o SQL serveru. Opće informacije o MySQL serveru. Specifičnosti instalacije i konfiguracije MYSQL servera na LINUX-u.

    seminarski rad, dodan 16.12.2015

    Analiza arhitekture informacionog sistema čija struktura uključuje sistem fajl-server i klijent-server. Poređenje SQL i QBE jezika upita. Principi za razvoj aplikacija klijent-server arhitekture strukturirani jezik SQL upiti.

    seminarski rad, dodan 04.11.2010

    Arhitektura "klijent-server". Analiza sistema baza podataka "Novine oglasa", njen infološki i fizički dizajn. SQL Serversko programiranje. Razvoj klijentske strane u Borland C++ Builder 6.0 i korištenjem Web tehnologija.

    seminarski rad, dodan 07.07.2013

    Metodologija i glavne faze razvoja sistema testiranja za procenu nivoa znanja studenata primenom tehnologije „klijent-server“. Projektovanje klijentskog, serverskog dela ovog sistema testiranja, procedure za sastavljanje završnih izveštaja.

    teza, dodana 08.11.2010

    Dizajniranje fizičkih i logičkih modela udaljene baze podataka za benzinske pumpe. Razvoj baze podataka u Firebird DBMS pomoću IBExpert uslužnog programa. Kreacija klijentska aplikacija za Windows koristeći klijent-server tehnologiju u okruženju C++ Builder.

    seminarski rad, dodan 18.01.2017

    Kreiranje softverskog proizvoda zasnovanog na klijent-server tehnologiji koji implementira rad sistema otporan na greške, a koji je sposoban da poveže klijenta sa glavnim serverom u slučaju gubitka komunikacije alternativni server(na primjeru vremenskog servera).

    seminarski rad, dodan 24.08.2012

    Dizajn i razvoj baze podataka u Firebird RDBMS-u. Redoslijed kreiranja aplikacije bazirane na klijent-server tehnologiji i rada u operacijskoj sali Windows sistem. Pohranjene procedure i okidači. Pristup mreži i transakcije.

    seminarski rad, dodan 27.07.2013

    Relacijske osnove podaci kao dio korporativnih informacionih sistema, njihova konstrukcija na principima klijent-server tehnologije. Glavne karakteristike Firebird DBMS-a. Projektovanje baze podataka za informacioni sistem "Računarske komponente".

    seminarski rad, dodan 28.07.2013

    Arhitektura "klijent-server". Paralelna obrada podataka u višeprocesorskim sistemima. Modernizacija zastarjelih informacionih sistema. Karakterne osobine savremeni serverski DBMS. Najpopularniji server DBMS. Distribuirani zahtjevi i transakcije.

Svrha predavanja: pokazati kako se opšti principi klijent-server tehnologija implementiraju u web tehnologije. Razmislite ključni elementi osnovni HTTP protokol.

Predmet ovog predmeta su tehnologije globalne mreže World Wide Web (skraćeno WWW ili jednostavno Web). U ruskom jeziku uobičajena varijanta je naziv "Web".

Konkretno, kurs će pokriti pitanja kao što su: osnovni standardi i protokoli Weba, markupni i programski jezici za web stranice, alati za razvoj i upravljanje web sadržajem i aplikacijama za web, alati za integraciju web sadržaja i aplikacija na web.

Net Web je globalni informacioni prostor zasnovan na fizičkoj infrastrukturi Interneta i prenosnom protokolu HTTP podaci. Često, kada se govori o internetu, misli se na mrežu. Web.

Klijent-server tehnologije Web

Osnovni protokol mreže web hipertekstualnih resursa je HTTP protokol. Zasniva se na interakciji klijent-server“, što znači da:

    potrošač- kupac pokretanje veze sa provajderom-serverom šalje mu zahtev;

    dobavljač- server, nakon što je primio zahtjev, izvršava potrebne radnje i vraća odgovor s rezultatom nazad klijentu.

U ovom slučaju postoje dva načina da se organizuje rad klijentskog računara:

    Thin Client je klijentski računar koji sve zadatke obrade informacija prenosi na server. Primjer tankog klijenta je računar baziran na pretraživaču koji se koristi za pokretanje web aplikacija.

    debeli klijent, naprotiv, on obrađuje informacije nezavisno od servera, koristi ga uglavnom za skladištenje podataka.

Prije nego pređemo na specifične web tehnologije klijent-server, pogledajmo osnovne principe i strukturu osnovnog HTTP protokola.

http protokol

http(HyperText Transfer Protocol - RFC 1945, RFC 2616) je protokol sloja aplikacije za prijenos hiperteksta.

Centralni objekat u HTTP-u je resurs, što ukazuje na URI po zahtevu klijenta. Tipično, ovi resursi su datoteke pohranjene na serveru. Karakteristika HTTP protokola je mogućnost da se u zahtjevu i odgovoru specificira kako je isti resurs predstavljen razni parametri: format, kodiranje, jezik itd. Zahvaljujući mogućnosti specificiranja kako je poruka kodirana, klijent i server mogu razmjenjivati ​​binarne podatke, iako u početku ovaj protokol dizajniran za prenošenje simboličkih informacija. Na prvi pogled ovo može izgledati kao gubitak resursa. Doista, podaci u simboličkom obliku zauzimaju više memorije, poruke stvaraju dodatno opterećenje na komunikacijskim kanalima, ali ovaj format ima mnogo prednosti. Poruke koje se prenose preko mreže lako se čitaju, a analizom primljenih podataka administrator sistema može lako pronaći grešku i otkloniti je. Ako je potrebno, ulogu jedne od interakcijskih aplikacija može obavljati osoba, ručno unoseći poruke u traženom formatu.

Za razliku od mnogih drugih protokola, HTTP je protokol bez memorije. To znači da protokol ne pohranjuje informacije o prethodnim zahtjevima klijenta i odgovorima servera. Komponente koje koriste HTTP mogu nezavisno održavati informacije o stanju koje se odnose na nedavne zahtjeve i odgovore. Na primjer, web klijentska aplikacija koja šalje zahtjeve može pratiti kašnjenja odgovora, a web server može pohraniti IP adrese i zaglavlja zahtjeva nedavnih klijenata.

Sav softver za rad sa HTTP protokolom podijeljen je u tri glavne kategorije:

    Serveri- pružaoci usluga skladištenja i obrade informacija (obrada zahtjeva).

    Klijenti- krajnji korisnici serverskih usluga (slanje zahtjeva).

    Proxy serveri za podršku transportnim uslugama.

Šema "klasične" HTTP sesije izgleda ovako.

    Uspostavljanje TCP veze.

    Zahtjev klijenta.

    Odgovor servera.

    Prekid TCP veze.

Dakle, klijent šalje zahtjev serveru, prima odgovor od njega, nakon čega se interakcija zaustavlja. Tipično, zahtjev klijenta je zahtjev za HTML dokumentom ili nekim drugim resursom, a odgovor servera sadrži kod za taj resurs.

HTTP zahtjev poslan od klijenta do servera sastoji se od sljedećih komponenti.

    Statusna linija (ponekad se za nju koriste termini statusna linija ili linija upita).

    Polja zaglavlja.

    Prazan red.

    Telo zahtjeva.

status bar zajedno sa polja zaglavlja ponekad se takođe zove zaglavlje zahtjeva.

Rice. 1.1. Struktura zahtjeva klijenta.

Status bar ima sljedeći format:

query_method URL_pecypca protokol_verzija_HTTP

Hajde da pogledamo komponente statusne trake, sa posebnom pažnjom na metode upita.

Metoda, naveden u statusnoj traci, određuje kako se postupa na resursu čiji je URL dat u istoj liniji. Metoda može uzeti vrijednosti GET, POST, HEAD, PUT, DELETE, itd. Unatoč obilju metoda, samo dvije od njih su zaista važne za web programera: GET i POST.

    GET. Prema formalnoj definiciji, GET metoda je namijenjena za preuzimanje resursa sa specificiranim URL-om. Primivši GET zahtjev, server MORA pročitati navedeni resurs i uključiti ID resursa u odgovor klijentu. Resurs čiji se URL prosljeđuje kao dio zahtjeva ne mora biti HTML stranica, datoteka slike ili drugi podaci. URL resursa može ukazivati ​​na izvršni kod programa, koji se, pod određenim uslovima, mora pokrenuti na serveru. U ovom slučaju, klijentu se ne vraća programski kod, već podaci generisani tokom njegovog izvršavanja. Iako je po definiciji GET metoda za dohvaćanje informacija, može se koristiti iu druge svrhe. Metoda GET je dobra za prosljeđivanje malih dijelova podataka na server.

    POŠTA. Prema istoj formalnoj definiciji, glavna svrha POST metode je slanje podataka na server. Međutim, kao i GET metoda, POST metoda se može koristiti na mnogo načina i često se koristi za dohvaćanje informacija sa servera. Kao i kod metode GET, URL dat u statusnoj traci upućuje na određeni resurs. POST metoda se također može koristiti za pokretanje procesa.

    Metode HEAD i PUT su modifikacije metoda GET i POST.

Verzija HTTP protokola obično se daje u sljedećem formatu:

HTTP/verzija.modifikacija

Polja zaglavlja, prateći statusnu liniju, omogućavaju vam da precizirate upit, tj. poslati dodatne informacije serveru. Polje zaglavlja ima sljedeći format:

Ime_polja: vrijednost

Svrha polja je određena njegovim imenom, koje je odvojeno od vrijednosti dvotočkom.

Dati su nazivi nekih od najčešćih polja zaglavlja u zahtjevu klijenta i njihova svrha tab. 1.1.

Tabela 1.1. Polja zaglavlja HTTP zahtjeva.

Polja zaglavlja HTTP zahtjeva

Značenje

Ime domene ili IP adresa hosta kojem klijent pristupa

URL dokumenta koji se povezuje na resurs naveden u statusnoj traci

E-mail adresa korisnička pošta rad sa klijentom

MIME tipovi podataka koje obrađuje klijent. Ovo polje može imati više vrijednosti odvojenih zarezima. Često se polje zaglavlja Accept koristi da kaže serveru koje tipove slikovnih datoteka klijent podržava.

Skup dvoznakovnih identifikatora odvojenih zarezima koji predstavljaju jezike koje podržava klijent

Lista podržanih skupova znakova

MIME tip podataka sadržanih u tijelu zahtjeva (ako se zahtjev ne sastoji od jednog zaglavlja)

Broj znakova sadržanih u tijelu zahtjeva (ako se zahtjev ne sastoji od jednog zaglavlja)

Prezentirati ako klijent ne traži cijeli dokument, već samo dio

Koristi se za upravljanje TCP vezom. Ako polje sadrži Zatvori, to znači da nakon obrade zahtjeva server treba zatvoriti vezu. Vrijednost Keep-Alive sugerira da se TCP veza ne zatvara kako bi se mogla koristiti za sljedeće zahtjeve

Informacije o klijentu

U mnogim slučajevima, kada radite na Webu, ne postoji tijelo zahtjeva. Prilikom pokretanja CGI skripti, podaci koji su za njih proslijeđeni u zahtjevu mogu se staviti u tijelo zahtjeva.

Ispod je primjer HTML zahtjeva koji je generirao pretraživač

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

Veza: Keep Alive

Korisnički agent: Mozilla/4.04 (Win95; I)

Domaćin: oak.oakland.edu

Prihvatite: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*

Accept-Language: en

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

Nakon što je primio zahtjev od klijenta, server mora odgovoriti na njega. Poznavanje strukture odgovora servera je neophodno za razvojnog programera web aplikacija, budući da programi koji se pokreću na serveru moraju samostalno formirati odgovor klijentu.

Kao i zahtjev klijenta, odgovor servera također ima četiri komponente navedene u nastavku.

    Status bar.

    Polja zaglavlja.

    Prazan red.

    Tijelo odgovora.

Odgovor servera klijentu počinje statusnom linijom koja ima sljedeći format:

Protocol_version Response_code Objašnjena_poruka

    Protocol_version je navedeno u istom formatu kao u zahtjevu klijenta i ima isto značenje.

    odgovor_kod je trocifreni decimalni broj koji kodira rezultat zahtjeva koji poslužuje server.

    objašnjenje_poruka duplira kod odgovora u simboličkom obliku. Ovo je niz znakova koji klijent ne obrađuje. Namijenjen je za sistem administrator ili operater koji održava sistem i dekodira kod odgovora.

Od tri cifre koje čine kod odgovora, prva (najviša) određuje klasu odgovora, preostale dvije predstavljaju broj odgovora unutar klase. Tako, na primjer, ako je zahtjev uspješno obrađen, klijent prima sljedeću poruku:

HTTP/1.0 200 OK

Kao što vidite, verziju protokola HTTP 1.0 prati kod 200. U ovom kodu znak 2 označava uspješnu obradu zahtjeva klijenta, a preostale dvije cifre (00) su broj ove poruke.

U trenutno korištenim implementacijama HTTP protokola, prva znamenka ne može biti veća od 5 i definira sljedeće klase odgovora.

    1 - posebna klasa poruka koja se naziva informativna. Kod odgovora koji počinje s 1 znači da server nastavlja s obradom zahtjeva. Prilikom razmjene podataka između HTTP klijenta i HTTP servera, poruke ove klase se rijetko koriste.

    2 - uspješna obrada zahtjeva klijenta.

    3 - zahtjev za preusmjeravanje. Da bi zahtjev bio uručen, moraju se poduzeti dodatni koraci.

    4 - greška klijenta. Po pravilu se vraća kod odgovora koji počinje brojem 4 ako je zahtjev klijenta ispunjen sintaksna greška.

    5 - greska servera. Iz ovog ili onog razloga, server nije u mogućnosti da ispuni zahtjev.

Primjeri kodova odgovora koje klijent može primiti od servera i poruka s objašnjenjima dati su u tabeli. 1.2.

Tabela 1.2. Klase koda odgovora servera.

Dešifrovanje

Interpretacija

Dio zahtjeva je prihvaćen i server čeka da klijent nastavi zahtjev

Zahtjev je uspješno obrađen, a podaci navedeni u zahtjevu se prenose u odgovoru klijenta

Kao rezultat obrade zahtjeva, kreiran je novi resurs

Server je prihvatio zahtjev, ali obrada nije završena. Dati kod odgovor ne garantuje da će zahtjev biti obrađen bez grešaka.

Djelomičan sadržaj

Server vraća dio resursa kao odgovor na zahtjev koji je sadržavao polje zaglavlja raspona

više izbora

Zahtjev ukazuje na više od jednog resursa. Tijelo odgovora može sadržavati upute o tome kako ispravno identificirati traženi resurs.

Trajno preseljeno

Traženi resurs se više ne nalazi na serveru

Premješteno privremeno

Zatraženi resurs je privremeno promijenio adresu

Sintaktička greška pronađena u zahtjevu klijenta

Resurs na serveru nije dostupan za ovog korisnika

Resurs naveden od strane klijenta ne postoji na serveru

Metoda nije dozvoljena

Server ne podržava metodu navedenu u zahtjevu

Interna greška servera

Jedna od komponenti servera ne radi ispravno

Nije implementirano

Funkcionalnost servera nije dovoljna da ispuni zahtjev klijenta

usluga nedostupna

Servis privremeno nedostupan

HTTP verzija nije podržana

Server ne podržava HTTP verziju navedenu u zahtjevu

Odgovor koristi istu strukturu polja zaglavlja kao i zahtjev klijenta. Polja zaglavlja imaju za cilj da razjasne odgovor servera na klijenta. Opis nekih od polja koja se mogu naći u zaglavlju odgovora servera dat je u tabeli. 1.3.

Tabela 1.3. Polja zaglavlja odgovora web servera.

Naziv polja

Opis sadržaja

Naziv servera i broj verzije

Vrijeme u sekundama od kreiranja resursa

Lista dozvoljenih metoda ovaj resurs

Sadržaj-Jezik

Jezici koje klijent mora podržavati kako bi se ispravno prikazao preneseni resurs

MIME-tip podataka sadržanih u tijelu odgovora servera

Broj znakova sadržanih u tijelu odgovora servera

Datum i vrijeme posljednje izmjene resursa

Datum i vrijeme koji određuju kada je odgovor generiran

Datum i vrijeme koji definiraju trenutak nakon kojeg se informacija proslijeđena klijentu smatra zastarjelom

Ovo polje specificira stvarnu lokaciju resursa. Koristi se za preusmjeravanje zahtjeva

direktive keširanja. Na primjer, bez predmemorije znači da podaci ne bi trebali biti keširani.

Tijelo odgovora sadrži kod resursa koji je proslijeđen klijentu kao odgovor na zahtjev. To ne mora biti HTML tekst web stranice. Kao dio odgovora, može se prenijeti slika, audio datoteka, fragment video informacija, kao i bilo koja druga vrsta podataka koju podržava klijent. Sadržaj polja zaglavlja tipa sadržaja govori klijentu kako da obradi primljeni resurs.

Slijedi primjer odgovora servera na zahtjev iz prethodnog odjeljka. Tijelo odgovora sadrži izvorni tekst HTML dokumenta.

Server: Microsoft-IIS/5.1

X-Powered-By: ASP.NET

Content-Type: text/html

Accept-Ranges: bajtovi

ETag: "b66a667f948c92:8a5"

Dužina sadržaja: 426

Operand1:

Operand2:

operacija:

Polja zaglavlja i tijelo poruke možda nedostaju, ali statusna traka postoji obavezan element, jer označava vrstu zahtjeva/odgovora.

Polje pod nazivom Content-type može se pojaviti iu zahtjevu klijenta iu odgovoru servera. Vrijednost ovog polja je MIME- vrstu sadržaja zahtjeva ili odgovora. MIME-type se također prenosi u polje Accept zaglavlja prisutnog u zahtjevu.

Specifikacija MIME(Multipurpose Internet Mail Extension - višenamjenska pošta Internet ekstenzija) je prvobitno razvijen da omogući prijenos različitih formata podataka kao dio e-pošte. Međutim, upotreba MIME-a nije ograničena na e-poštu. MIME alati se uspješno koriste u WWW-u i, zapravo, postali su sastavni dio ovog sistema.

Standard MIME dizajnirana kao proširiva specifikacija, što implicira da će broj tipova podataka rasti kako se reprezentacije podataka razvijaju. Svaki novi tip mora biti registrovan IANA(Internet Assigned Numbers Authority).

Prije dolaska MIME računari koji komuniciraju putem HTTP protokola razmjenjuju isključivo tekstualne informacije. Za prijenos slika, kao i za prijenos bilo koje druge binarne datoteke, morao je koristiti FTP protokol.

Specifikacija MIME, za opisivanje formata podataka se koriste tip I podtip. Tip definira kojoj klasi pripada format sadržaja HTTP zahtjeva ili HTTP odgovora. Podtip specificira format. Tip i podtip su odvojeni jedan od drugog kosom crtom:

tip/podtip

Budući da u ogromnoj većini slučajeva server vraća originalni tekst HTML dokumenta kao odgovor na zahtjev klijenta, polje Content-type odgovora obično sadrži vrijednost text/html. Ovdje identifikator teksta opisuje tip, ukazujući da se informacije o znakovima prosljeđuju klijentu, a html identifikator opisuje podtip, tj. označava da je niz znakova sadržan u tijelu odgovora HTML opis dokumenta.

Spisak tipova i podtipova MIME dovoljno velik. U tabeli. 1.4 su primjeri MIME-tipovi koji se najčešće nalaze u HTML zaglavljima zahtjeva i odgovora.

Tabela 1.4. MIME tipovi podataka.

Tip/podtip

Ekstenzija datoteke

Opis

Dokument namijenjen za obradu u Acrobat Reader-u

aplikacija/msexcel

Format dokumenta Microsoft Excel

aplikacija/postscript

PostScript dokument

aplikacija/x-tex

TeX dokument

aplikacija/msword

Format dokumenta Microsoft Word

dokument u RTF format, prikazan u programu Microsoft Word

GIF slika

Slika u JPEG format

Slika u TIFF formatu

Slika u XBitmap formatu

ASCII tekst

HTML dokument

MIDI audio fajl

WAV audio fajl

mail poruka

Objavite u novinskim grupama

Mpeg, .mpg, .mpe

Video klip u MPEG formatu

Video klip u AVI formatu

Jedinstveni URL identifikatori se koriste za jedinstvenu identifikaciju resursa na Webu.

Uniformni identifikator resursa (URI) je kratak niz znakova koji identificira apstraktni ili fizički resurs. URI ne ukazuje kako doći do resursa, već ga samo identificira. Ovo omogućava opisivanje koristeći RDF (Resource Description Framework) resurse koji se ne mogu dobiti putem Interneta (imena, naslovi, itd.). Najpoznatiji primjeri URI-ja su URL i URN.

    URL(Uniform Resource Locator) je URI koji, osim što identificira resurs, također pruža informacije o lokaciji ovog resursa.

    URN(Uniformno ime resursa) je URI koji identificira resurs u određenom imenskom prostoru, ali za razliku od URL-a, URN ne ukazuje na lokaciju tog resursa.

URL ima sljedeću strukturu:

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

    shema- šema pristupa resursima (obično mrežni protokol);

    Ulogovati se- korisničko ime koje se koristi za pristup resursu;

    lozinka- lozinka povezana sa navedenim korisničkim imenom;

    domaćin- Potpuno registrovano ime domena hosta u DNS sistemu ili IP adresa hosta;

    luka- host port za konekciju;

    URL putanja- navođenje informacija o lokaciji izvora.

Treba napomenuti da, kao i svaka klasifikacija, naša klasifikacija arhitektura informacionih sistema nije apsolutno kruta. U arhitekturi svakog pojedinog informacionog sistema često se mogu naći uticaji nekoliko opštih arhitektonskih odluka. Međutim, kada se arhitektonski projektira sistem, čini se korisnim imati barem djelomično ortogonaliziranu arhitektonsku osnovu. U narednim delovima kursa detaljno ćemo razmotriti karakteristike svake arhitekture i fokusirati se na metodologije i alate koji podržavaju dizajn i razvoj informacionih sistema u odgovarajućoj arhitekturi.

2.1. Aplikacije servera datoteka

Očigledno, organizacija informacionih sistema zasnovana na korišćenju namenskih servera datoteka i dalje je najčešća zbog prisustva veliki broj personalni računari različitim nivoima razvoj i uporedna jeftinost PC uvezivanja lokalne mreže. Šta takvu organizaciju privlači programerima informacionih sistema koji nemaju mnogo iskustva u oblasti sistemskog programiranja? Najvjerovatnije je činjenica da je pri oslanjanju na fajl-server arhitekture očuvana autonomija aplikativnog (i većine sistemskog) softvera koji radi na svakom računaru u mreži. U stvari, komponente informacionog sistema koji radi na različitim računarima međusobno deluju samo zbog prisustva zajednička pohrana datoteke pohranjene na serveru datoteka. U klasičnom slučaju, svaki PC ne samo duplira aplikativni programi, ali i alati za upravljanje bazom podataka. Datotečni server je ekstenzija koju dijele svi računari kompleksa. disk memorija(Slika 2.1).

Ne zadržavajući se u detaljima o obećavajućim alata razvoju fajl serverskih aplikacija i bez davanja analize trendova u razvoju relevantnih tehnologija (tome je posvećen treći deo kursa), ukratko ćemo navesti glavne prednosti i nedostatke arhitektura fajl servera.

Naravno, glavna prednost je jednostavnost organizacije. Dizajneri i programeri informacionog sistema su u poznatim i udobnim uslovima IBM PC-a u MS-DOS-u, Windows-u ili bilo kom laganom Windows varijanta NT. Postoje pogodni i napredni alati za razvoj grafičkog korisničkog interfejsa, alati laki za korišćenje za razvoj sistema baza podataka i/ili DBMS. Ali na mnogo načina ova jednostavnost je očigledna. (Kao što kaže ruska poslovica, "Jednostavnost je gora od krađe", a ovde obično imamo jednostavnost zasnovanu na krađi softverskih proizvoda za PC.)

Rice. 2.1. Klasični prikaz informacionog sistema u arhitekturi "file-server".

Prvo, informacioni sistem mora da radi sa bazom podataka. Stoga ova baza podataka mora biti dizajnirana. Iz nekog razloga, programeri fajl-server aplikacija često smatraju da se, zbog jednostavnosti alata za upravljanje bazom podataka, problem dizajna baze podataka može zanemariti. Naravno, ovo je pogrešno. Baza podataka je baza podataka. Što je bolje dizajniran, veća je vjerovatnoća da će kasnije efikasno koristiti informacioni sistem. Naravno, složenost dizajna baze podataka određena je objektivnom složenošću modeliranog predmetnog područja. Ali, u stvari, iz čega bi trebalo da sledi da su aplikacije servera datoteka prikladne samo u jednostavnim predmetnim oblastima?

Drugo, kao što smo više puta naglašavali u prvom dijelu kursa, neophodni zahtjevi za bazu podataka informacionog sistema su održavanje njenog integriteta i garantovana pouzdanost skladištenja informacija. Minimalni uslovi pod kojima se ovi zahtjevi mogu ispuniti su:

    prisutnost upravljanja transakcijama, skladištenje suvišnih podataka (na primjer, korištenjem metoda evidentiranja), sposobnost formuliranja ograničenja integriteta i provjere njihove usklađenosti.

U principu, organizacija fajl-servera, kao što je prikazano na slici 2.1, nije u suprotnosti sa poštovanjem navedenih uslova. Primjer sistema koji to radi, ali je zasnovan na arhitekturi servera datoteka, je ranije popularni "server baze podataka" Informix SE.

duga napomena:
Da bismo sačuvali jasnoću daljeg izlaganja, potrebno je donekle pojasniti terminologiju. Nije uzalud da smo pod navodnicima napisali "server baze podataka" u odnosu na Informix SE DBMS. Pod ovim sistemom, kopija DBMS softvera je održavana za svaku DBMS sesiju koju je pokrenuo korisnik. Grubo govoreći, za svaki korisnički proces koji je u interakciji sa bazom podataka kreiran je DBMS servisni proces koji se izvodio na istom procesoru kao i korisnički proces (tj. na strani klijenta). Svaki od ovih servisnih procesa zapravo se ponašao kao da je jedini predstavnik DBMS-a. Sva sinhronizacija mogućeg paralelnog rada sa bazom podataka obavljena je na nivou eksternih memorijskih fajlova koji sadrže bazu podataka. Dogovorimo se od sada da takve DBMS ne nazivamo serverima baze podataka, već sistemima za upravljanje bazom podataka zasnovanim na arhitekturi servera datoteka (DBMS-FS).

Pod pravim serverom baze podataka, mislimo softversko obrazovanje, vezan za odgovarajuću bazu podataka (baze podataka), postojeći, općenito govoreći, bez obzira na postojanje korisničkih (klijentskih) procesa, i općenito govoreći (mada ne nužno) koji se izvršavaju na namjenskom hardveru (namjerno koristimo ne baš specifične izraze "softversko obrazovanje" i "namjenski hardver" jer se njihova specifična implementacija razlikuje u različiti serveri baze podataka).

Pravi serveri baza podataka su mnogo složeniji u organizaciji od DBMS-FS, ali pružaju suptilnije i efikasnije upravljanje bazom podataka. Tokom ovog kursa, kada koristimo izraz "server baze podataka", mi ćemo se odnositi na prave servere baze podataka.

Ali s druge strane, u većini ličnih DBMS-a ovi uslovi nisu ispunjeni čak ni uz pomoć grubih trikova. IN najbolji slucaj moguće je djelimično nadoknaditi nedostatke na nivou aplikativnih programa.

Treće, interfejs razvijenih servera baze podataka zasniva se na upotrebi jezika baze podataka visokog nivoa SQL podaci, koji omogućava korištenje mrežnog prometa između klijenta i servera baze podataka samo u korisne svrhe (uglavnom se SQL naredbe šalju sa klijenta na server, a rezultati izvršenja naredbi se šalju sa servera na klijenta). U fajl-server organizaciji, klijent radi sa udaljenim fajlovima, što uzrokuje značajnu gužvu u saobraćaju (pošto DBMS-FS radi na strani klijenta, generalno je neophodno da se na strani klijenta vidi ceo odgovarajući fajl kako bi se izabralo korisni podaci).

Generalno, u arhitekturi servera datoteka imamo "debeo" klijenta i vrlo "tanak" server, u smislu da se skoro sav posao obavlja na strani klijenta, a od servera je potrebno samo dovoljno prostora na disku ( slika 2.2).

Rice. 2.2. "Debeli" klijent i "tanak" server u arhitekturi fajl-server

Kratki zaključci. Jednostavna, male količine i dizajnirana za jednokorisničku upotrebu, aplikacija servera datoteka može se dizajnirati, razviti i otkloniti greške vrlo brzo. Vrlo često da bi mala kompanija održavala, na primjer, kadrovsku evidenciju, dovoljno je imati izolovani sistem koji radi na samostalnom računaru. Naravno, i u ovom slučaju potrebna je velika pažnja krajnjih korisnika (ili administratora čije je prisustvo u ovom slučaju sumnjivo) da bezbedno pohranjuju i održavaju integritet stanja podataka. Međutim, u malo složenijim slučajevima (na primjer, kada se organizira informacioni sistem za podršku projektu koji izvodi grupa), arhitekture servera datoteka postaju nedovoljne.

Klijent-server aplikacije

Pod klijent-server aplikacijom podrazumijevamo informacioni sistem zasnovan na korišćenju servera baze podataka (pogledajte dugačku napomenu na kraju odeljka 2.1). Opšti prikaz informacionog sistema u arhitekturi "klijent-server" prikazan je na slici 2.3.

    Na strani klijenta izvršava se kod aplikacije, koji nužno uključuje komponente koje podržavaju interfejs krajnjeg korisnika, generišu izveštaje i obavljaju druge funkcije specifične za aplikaciju (za sada nas neće zanimati kako se gradi kod aplikacije). Klijentska strana aplikacije komunicira sa strana klijenta softver za upravljanje bazom podataka, koji je, u stvari, pojedinačni predstavnik DBMS-a za aplikaciju.

(Ovdje opet postoje nedostaci u terminologiji. Obično, kada kompanija najavi puštanje sljedećeg servera baze podataka, implicitno se podrazumijeva da postoji i klijentska komponenta ovog proizvoda. Kombinacija "klijentski dio servera baze podataka" izgleda malo čudno, ali morat ćemo koristiti ovaj izraz.)

Rice. 2.3. Opšti prikaz informacionog sistema u arhitekturi "klijent-server".

Imajte na umu da je interfejs između klijentske strane aplikacije i klijentske strane servera baze podataka obično zasnovan na upotrebi SQL jezika. Stoga se funkcije kao što je, na primjer, prethodna obrada obrazaca namijenjenih za upite baze podataka, ili generiranje rezultirajućih izvještaja izvode u kodu aplikacije.

Konačno, klijentska strana servera baze podataka, koristeći alate pristup mreži, odnosi se na poslužitelj baze podataka, prosljeđujući mu tekst SQL izraza.

Ovdje treba dati još dvije primjedbe.

Tipično, kompanije koje proizvode napredne servere baza podataka nastoje osigurati da se njihovi proizvodi mogu koristiti ne samo u današnjim standardnim TCP/IP orijentiranim mrežama, već i u mrežama zasnovanim na drugim protokolima (na primjer, SNA ili IPX/SPX). Stoga se pri organizaciji mrežnih interakcija između klijentskih i serverskih dijelova DBMS-a često koriste ne standardni alati visokog nivoa (na primjer, mehanizmi softverskih utičnica ili udaljenih poziva procedura), već njihovi vlastiti funkcionalno slični alati koji su manje ovisni. o karakteristikama mrežnih transportnih protokola. Kada govorimo o interfejsu baziranom na SQL jeziku, morate biti svjesni da uprkos ogromnim naporima da se ovaj jezik standardizuje, ne postoji takva implementacija u kojoj se standardne karakteristike jezika ne bi proširile. Neobzirna upotreba jezičkih ekstenzija dovodi do potpune ovisnosti aplikacije o određenom proizvođaču poslužitelja baze podataka.

Sada da vidimo šta se dešava na strani servera baze podataka. U proizvodima gotovo svih kompanija, server prima od klijenta tekst operatora na SQL jeziku.

    Server kompajlira primljenu izjavu. Ovdje se nećemo zadržavati na tome koji ciljni jezik koristi određeni kompajler; različite implementacije imaju različite pristupe (vidi dio 4 za primjere). Glavna stvar je da se u svakom slučaju, na osnovu informacija sadržanih u tabelama kataloga baze podataka, neproceduralna reprezentacija operatora pretvara u neku proceduru za njegovo izvršenje. Zatim (ako je kompilacija bila uspješna) naredba se izvršava. Opet, nećemo raspravljati o tehničkim detaljima jer se razlikuju u implementaciji. Razmotrite moguće akcije SQL naredbi.
      Operator se može odnositi na klasu operatora za definisanje (ili kreiranje) objekata baze podataka (točnije i ispravnije bi bilo govoriti o elementima šeme baze podataka ili o objektima metapodataka). Konkretno, mogu se definirati domene, tabele, ograničenja integriteta, okidači, korisničke privilegije, pohranjene procedure. U svakom slučaju, kada se izvrši izraz za kreiranje elementa sheme baze podataka, odgovarajuće informacije se stavljaju u tablice kataloga baze podataka (u tablice metapodataka). Ograničenja integriteta se obično pohranjuju u metabazu baze podataka direktno u tekstualnom prikazu. Za akcije definirane u okidačima i pohranjenim procedurama, proceduralni izvršni kod se generira i pohranjuje u kataloške tablice. Imajte na umu da su ograničenja integriteta, pokretači i uskladištene procedure, na neki način, reprezentativni za aplikaciju u bazi podataka koju podržava server; oni čine okosnicu back-enda aplikacije (pogledajte dolje). Prilikom izvršavanja naredbi za odabir podataka, na osnovu sadržaja tabela na koje je upit utjecao, i eventualno korištenjem indeksa koji se održavaju u bazi podataka, formira se rezultujući skup podataka (ovdje namjerno ne koristimo termin "tabela rezultata", jer u zavisnosti na specifičnom tipu operatora, rezultat može biti poređan, a tabele, odnosno relacije su neuređene po definiciji). Serverski dio DBMS-a šalje rezultat klijentskom dijelu, a završna obrada se vrši u klijentskom dijelu aplikacije. Prilikom izvršavanja naredbi za modifikaciju sadržaja baze podataka (INSERT, UPDATE, DELETE), provjerava se da tada definirana ograničenja integriteta (ona koja pripadaju klasi odmah provjerenih) neće biti narušena, nakon čega se poduzima odgovarajuća radnja (popratno modifikacijom svih relevantnih indeksa i izmjenama evidentiranja). Zatim, server provjerava da li promjena utječe na stanje aktiviranja bilo kojeg okidača, i ako je takav okidač pronađen, izvršava svoju proceduru radnje. Ovaj postupak može uključivati dodatni operateri modifikacije baze podataka koje mogu uzrokovati pokretanje drugih okidača itd. Možete razmišljati o akcijama koje se izvode na poslužitelju baze podataka kada se provjeravaju ograničenja integriteta i kada se aktiviraju okidači kao akcije pozadinskog dijela aplikacije. Prilikom izvršavanja naredbi za modifikaciju sheme baze podataka (dodavanje ili brisanje stupaca postojećih tabela, promjena tipa podataka postojeće kolone postojeća tabela itd.) također može pokrenuti okidače, tj., drugim riječima, može izvršiti serverski dio aplikacije. Slično, okidači se mogu aktivirati kada su objekti sheme baze podataka (domene, tabele, ograničenja integriteta, itd.) uništeni. Posebna klasa operatora u SQL jeziku su operatori poziva prethodno definiranih i pohranjenih u bazi podataka pohranjenih procedura. Ako je pohranjena procedura definirana korištenjem dobro razvijenog jezika koji uključuje i neproceduralne SQL izraze i čisto proceduralne konstrukcije (na primjer, Oracleov PL/SQL jezik), onda se ozbiljan dio aplikacije može staviti u takvu proceduru, koji će se, kada se izvrši naredba poziva procedure, izvršiti na strani servera, a ne na strani klijenta. Prilikom izvršavanja naredbe o završetku transakcije, poslužitelj mora provjeriti da li se poštuju sva tzv. odgođena ograničenja integriteta (takva ograničenja uključuju ograničenja nametnuta na sadržaj tablice baze podataka kao cjeline ili na nekoliko tabela istovremeno; na primjer, Ukupna plata odeljenja 999 zaposlenih ne bi trebalo da prelazi 150 miliona rubalja.). Opet, provjera odgođenih ograničenja integriteta može se smatrati pokretanjem pozadinskog dijela aplikacije.

Kao što vidite, u organizaciji klijent-server, klijenti mogu biti dovoljno tanki, a server mora biti dovoljno debeo da može zadovoljiti potrebe svih klijenata (slika 2.4).

Rice. 2.4. "Tanki" klijent i "debeli" server u klijent-server arhitekturi

S druge strane, programeri i korisnici informacionih sistema zasnovanih na arhitekturi klijent-server često su nezadovoljni stalno prisutnim mrežnim opterećenjima koja proizilaze iz potrebe da se sa svakim uzastopnim zahtevom ide od klijenta do servera. U praksi je uobičajena situacija kada efikasan rad zasebna klijentska komponenta informacionog sistema zapravo zahteva samo mali deo zajednička baza podaci. Ovo dovodi do ideje o održavanju lokalne keš memorije zajedničke baze podataka na strani svakog klijenta.

U stvari, koncept keširanja lokalne baze podataka je poseban slučaj koncepta repliciranih (ili, kako ih u ruskoj literaturi ponekad nazivaju, repliciranih) baza podataka. Kao iu opštem slučaju, da bi podržao keš lokalne baze podataka, softver radne stanice mora sadržati komponentu za upravljanje bazom podataka – pojednostavljenu verziju servera baze podataka, koja, na primer, možda ne pruža pristup za više korisnika. Poseban problem je osigurati konzistentnost (koherentnost) keša i zajedničke baze podataka. Ovdje su moguće razna rješenja- od automatskog održavanja konzistentnosti putem osnovnog softvera za upravljanje bazom podataka do potpunog prebacivanja ovog zadatka na sloj aplikacije. U svakom slučaju, klijenti postaju deblji, a da server ne postaje tanji (slika 2.5).

Rice. 2.5. "Debeli" klijent i "debeli" server u klijent-server arhitekturi sa lokalnom podrškom za predmemoriju na strani klijenta

Hajde da formulišemo neke preliminarne zaključke. Arhitektura klijent-server na prvi pogled izgleda mnogo skuplja od arhitekture fajl-server. Zahtijeva snažniji hardver najmanje, za server) i mnogo naprednijih alata za upravljanje bazom podataka. Međutim, ovo je samo djelimično tačno. Ogromna prednost klijent-server arhitektura je njegova skalabilnost i opšta sposobnost razvoja.

Prilikom projektovanja informacionog sistema zasnovanog na ovoj arhitekturi, više pažnje treba posvetiti pismenosti. zajednička rješenja. Tehnička sredstva pilot verzije može biti minimalan (na primjer, jedna od radnih stanica može se koristiti kao hardverska osnova servera baze podataka). Nakon izrade pilot verzije potrebno je izvršiti dodatne istraživački rad, saznati uska mjesta sistemi. Tek nakon toga potrebno je donijeti odluku o izboru serverskog hardvera koji će se koristiti u praksi.

Povećanje obima informacionog sistema ne stvara fundamentalne probleme. Uobičajeno rješenje je zamjena hardvera servera (i možda hardvera radne stanice ako želite da se prebacite na keširanje lokalne baze podataka). U svakom slučaju, primijenjeni dio informacionog sistema praktično nije pogođen. Idealno, što, naravno, ne postoji, Informacioni sistem nastavlja normalno funkcionirati nakon promjene hardvera.

Top Related Articles