ARHITECTURA CLIENT/SERVERArhitectura unui sistem informatic face referire la structura sa. Conform teoriei generale a sistemelor, noiunea de structur este difinit din perspectiva transformrilor principale prin care trece sistemul n interaciunea cu mediul su, considerndu-se c ea face referire la aspectul invariant al sistemului ce d identitatea acestuia.Una din definiiile mai recente consider arhitectura programelor ca fiind structura sau structurile care privesc componentele programului, proprietile externe ale acestor componente, precum i relaiile dintre ele.n funcie de semnificaia noiunii de component, arhitectura sistemelor informatice poate fi definit ntr-un sens restrns i ntr-un sens mai larg. n sens restrns, proiectarea arhitecturii unui program vizeaz componentele programului, respectiv modulele acestuia, ns ea poate fi extins prin includerea bazei de date i a componentei middleware care permite configurarea comunicrii ntr-un sistem client/server.Dezvoltarea sistemelor informatice, trecerea de la sistemele mainframe la sistemele client/server au fcut posibil livrarea mult mai rapid a informaiei.Istoric vorbind, evoluia tehnologic de la sisteme centralizate spre client/server a trecut printr-o etap intermediar numit arhitectura file/server. La originea lor , reelele de PC-uri se bazau pe descrcarea pe staia de lucru a fiierelor de pe server i efectuarea tuturor prelucrrilor locale. Problema de baz a unei asemenea arhitecturi era incapacitatea deservirii simultane a mai mult de 12 utilizatori.Ca rspuns la limitrile conceptului file/server a aprut arhitectura client/server iar server-ul de fiiere a fost nlocuit cu un server de baze de date ce are la baz un SGBD dotat cu un proces suplimentar care ascult cererile clienilor i le rspunde n mod direct.Orice aplicaie n care solicitantul aciunii este un sistem de calcul (sau un proces) i executantul aciunii este un alt sistem de calcul (sau un alt proces) este o aplicaie client / server.Tehnologia client/server este o modalitate de a separa o aplicaie n doua pri distincte. Clientul vizualizeaz i modific date pe propiul su calculator, n timp ce serverul acioneaz ca un mainframe ce stocheaz i recupereaz datele. mpreun cele dou calculatoare i relizeaz sarcinile n cea mai rapid modalitate. Serverul rspunde cererilor facute de fiecare staie client pentru informaii i resurse, realiznd concomitent att controlul distribuiei informaiei, ct si managementul optimizat al proceselor. n locul unei procesri exclusive pe staii, se realizeaz o distribuie a sarcinilor ntre server si client. Sistemele c/s sunt ,deci sisteme informatice distribuite.n general, clienii sunt calculatoare personale (PC-uri) utilizate pentru activiti de gestionare a datelor. Un post client se caracterizeaz prin faptul c: (a) prezint o interfa utilizator care este de obicei grafic (GUI); (b) "formuleaz" interogri (cereri, consultri) sau comenzi pe care le "nainteaz" serverului; (c) transmite interogrile/comenzile respective serverului prin intermediul unei tehnologii de comunicaie; (d) analizeaz datele din rezultatele interogrilor/comenzilor primite de la server, iar un server prin faptul c: (a) furnizeaz un serviciu clientului; (b) rspunde la interogrile/comenzile clientului; (c) ascunde detaliile sistemului c/s, fcnd transparent dialogul dintre client i server. Se disting dou tipuri de procese server:server ineractiv, cnd cererea este tratat de server-ul care a recepionat-o. Acest tip de server este utilizabil cnd timpul de prelucrare este foarte scurt sau dac un singur client solicit server-ul;server paralel, cnd procesul server invoc un alt process pentru a trata cererea clientului.Serverele pot fi calculatoare personale sau sisteme de calcul specializate (mainframe-uri, minicalculatoare) n vederea asigurrii legturii dintre clieni i bazele de date din care se extrag informaiile dorite. Scopul principal este autonomia informatic a fiecrui angajat, n limita unor atribuii delegate, angajat care poate astfel consulta i prelucra datele din orice loc aflat n interiorul sau n exteriorul ntreprinderii.Comunicarea ntre cele dou procese se realizeaz prin aa-numitele apeluri la distan (Remote Procedure Call - RPC) care opresc procesul client pn ce se primete un rspuns de la server pentru cererea respectiv. Server-ul ncepe s proceseze numai la primirea unui apel din partea clientului i se oprete dup satisfacerea respectivei cereri. Exist ns i mecanisme prin care execuia nu se oprete la trimiterea unei cereri ctre server.Arhitectura client server are la baz patru elemente:delimitarea net dintre serviciile de prezentare i cele de manipulare a informaiilor;flexibilitate, n ceea ce privete dezvoltrile ulterioare implementrii;punerea n funciune a unui mechanism de asigurare a securitii i integritii pentru datele rezidente pe servere;arhitectura deschis n sensul federalizrii unei multitudini de platforme (mainframe, mini, micro-calculatoare) i de produse (echipamente i aplicaii-program) ale diferiilor actori de pe piaa tehnologiei informaionale.Orice sistem client server este alctuit din minimum trei componente principale:interfaa cu utilizatorul (system de oprare/mediu graphic);aplicaia (prelucrrile sau procesele) isistemul de gestiune a bazelor de date.Una din principalele probleme legate de sistemele client/server o reprezint faptul c activitile trebuie repartizate de o manier flexibil, astfel nct orice client s poat deveni client. ntr-o astfel de situaie serverul emite o cerere care este edresat fie unui alt server, fie unui post client.O alt cerin este legat de necessitatea adaptrii la evoluia ulterioar a reelei informatice. n faza proiectrii sistemului, abordarea trebuie s fie global i flexibil, pentru a putea ulterior aduga/suprima posturi client i server oriunde n reea. Aceast sarcin este cu att mai dificil cu ct mediile sunt, de obicei, eterogene (platforme mini cuplate cu mainframe-uri i PC-uri sau staii grafice, ce ruleaz sub diferite sisteme de operare i aflate uneori la distan unele de altele).n realitate exist trei modele de dezvoltare a unei aplicaii. Arhitectura pe un nivel (one tier architecture) apare cnd serverul i clientul sunt una i aceeai aplicaie. Acest model descrie perfect aplicaiile dezvoltate n ntregime n Visual FoxPro. Datele, formularele folosite pentru introducerea lor i regulile care guverneaz controlul corectitudinii datelor sunt scrise toate ntr-un singur loc. Indiferent dac se acceseaz datele direct din tabele sau prin intermediul vederilor, indiferent dac regulile de validare sunt n codul metodelor sau n trigger-ele bazei de date, se are n vedere un singur nivel: Visual FoxPro. n arhitectura pe dou nivele (two layer architecture), datele se gsesc ntr-un alt mediu i sunt accesate prin intermediul primului nivel. Aceast arhitectur descrie perfect aplicaiile client-server. Datele sunt stocate ntr-un server de baze de date (SQL Server sau Oracle). Managementul tranzaciilor este mprit ntre client (validri i prelucrri locale) i server (proceduri stocate i tiggere). Dei suport un numr destul de mare de utilizatori concureni, aceast arhitectur are un numr de limitri:scderea performanelor odat cu sporirea numrului de utilizatori;implementarea serviciilor de management al tranzaciilor prin intermediul procedurilor proprietare ale SGBD-ului limiteaz flexibilitatea i portabilitatea logicii aplicaiilor de pe un system pe altul.De cele mai multe ori, regulile de validare (bussiness rules) sunt implementate n ntregime n server. Arhitectura pe trei nivele (three tier architecture) regulile de validare sunt stocate ntr-un mediu propriu (de obicei, ntr-un calculator separat), astfel nct aplicaiile client le pot folosi independent una de alta i independent de datele existente. n acest fel, aplicaia client ofer interfaa, serverul de baze de date ofer datele, iar al doilea nivel se ocup de validarea datelor. Acest lucru nseamn c exist dou comunicaii client-server: una ntre aplicaiile client i nivelul al doilea, iar cealalt ntre nivelul al doilea i serverul de baze de date. Aplicaiile client nu comunica niciodat direct cu serverul de baze de date. Numrul posibil de utilizatori concureni crete semnificativ i, n acelai timp, execuia logicii aplicaiei pe o staie separat de serverul de baze de date duce la mbuntirea performanelor.O tehnologie client / server este i internetul, deci Web-ul se bazeaz pe aceast tehnologie, care presupune existena unui server si a unui client. Pe baza cererii emis de client, server-ul va analiza i va rspunde acestuia. Se mai poate spune c server-ul ofer servicii clienilor din reea care cer acest lucru, sau c server-ul produce resurse, iar clientul consum aceste resurse. ntr-o aplicaie, un program poate fi n acelai timp att client ct si server. Programul care cere informaii funcioneaz ca un program client, ca un browser.. Prin client si server se neleg procese, nu calculatoare. Este vorba deci de un proces server si de un proces client.Tehnologia client/server pe care se bazeaz serviciul Web este de dou tipuri:pe dou niveluri; pe trei niveluri. Clientul de WebDin punct de vedere al utilizatorului, Web-ul reprezint o colecie uria de documente care sunt rspndite n ntreaga lume, sub forma unor pagini. Fiecare pagin poate s conin legturi ctre alte pagini, aflate oriunde n lume. Utilizatorul poate s aleag o legtur care i va aduce pagina indicat de legtur. Acest proces se poate repeta la nesfrsit, fiind posibil s se traverseze n acest mod sute de pagini legate ntre ele. Despre paginile care indic spre alte pagini se spune c utilizeaz hipertext .Hypertextul trebuie interpretat ca un text care identific o legtur la o alt informaie Web, de obicei un alt document Web. Hiperlegturile sunt usor de recunoscut, deoarece atunci cnd utilizatorul poziioneaz mouse-ul pe ele forma cursorului se modific, ele sunt n general imagini sau iruri de caractere care reprezint legturi ctre alte pagini, i sunt afiate n mod diferit, fiind subliniate si/sau colorate cu o culoare special.Paginile pot fi vizualizate cu ajutorul browser-ului. Programul de navigare aduce pagina cerut, interpreteaz textul si comenzile de formatare coninute n text i afieaz pagina pe ecran.Cele dou mari aplicaii Web pe partea de client (Netscape Navigator si Microsoft Internet Explorer) nu se prea nteleg una cu alta. n urma acestor neconcordane, n ultimii ani a luat nastere o nou semitehnologie numit CrossBrowsing (metode de care un programator web se poate folosi n crearea unui cod compatibil cu toate browser-ele existente).Un browser poate folosi plug-in-uri (aplicatii care pot fi atasate browser-ului, care pot interaciona cu acesta ducnd uneori la rezultate surprinztoare). Dintre acestea amintim tehnologia VRML si tehnologia ShockWave.Aplicatii bazate pe partea de server WebAcestea sunt menite a fi folosite n cadrul server-elor Web. Termenul de server Web se refer la unul din calculatoarele ce se afl n reea; el poate avea la baz diferite platforme software (sisteme de operare) astfel nct utilizatorii nu vor ti niciodat ce se afl dincolo de un simplu click n browser.Pentru a avea acces la informaiile din Internet, un calculator acceseaz un server de Web. n general acestea sunt servere HTTP. Nu trebuie confundat notiunea de server web (care este un calculator conectat la reteaua Internet) cu server HTTP (aplicatia software ce ruleaz pe un server Web si asigur transferul de informaii dintre server-ul Web si browser-ul utilizatorilor). Protocolul de transfer standard care descrie cererile si rspunsurile permise utilizat de Web este HTTP - HyperText Transfer Prototcol - protocol de transfer pentru hipertext.Unul dintre elementele cele mai importante pentru a garanta rapiditatea si eficienta unei aplicatii client.server este minimizarea volumului de date extrase de pe server. Solutia: filtrarea datelor conform criteriilor clientului. Un alt element la fel de important: utilizarea unui sistem pentru gestionarea capabilitailor de procesare distribuit ale reelei. Aici se ia decizia ntre procesele vitale ce se ruleaza pe server si celelalte procese ce se lasa pe seama clienilor.?Beneficii ale tehnologiei client/servereste uor de implementat i cu costuri modeste de dezvoltare si ntreinere;permite suportul noilor tehnologii, mai ales cele orientate pe obiecte;suporta adaugare de componente hardware noi;asigur suportul pentru noi componente: scanere, camere video;se pot implementa aplicaii software realizate de diferii productori.?Tipuri de aplicatii sustinute de server:servere de aplicaii;servere de fiiere/printare;servere de cataloage/arhive;servere workflow.?Aplicatii client/servern realizarea unei aplicaii de tip client/server se ncearc optimizarea mai multor factori: necesitatea de a avea cea mai rapid si productiv aplicaie;obligatia de a asigura integritatea datelor; obtinerea unui raport cost eficien optim pentru achiziia de echipament hardware;garania scalabilitii in viitor.Sistemele client/server necesit ca o gam larg de tehnologii hard si soft, provenite de la o multitudine de furnizori, s fie mbinate armonios, prin intermediul reelei de firm, pentru a asigura utilizatorului, n final, n mod transparent, interoperabilitate. Aceast armonie implic legarea cu succes, prin protocoale mutual compatibile, a tuturor interfetelor soft/soft ,soft/hard si hard/hard.Pentru a se evita pierderile de performan, datorit gestiunii protocoalelor orientate pe conexiune (cum este n modelul OSI sau TCP/IP), modelul client/server are la baz un protocol simplu, fr conexiune, de tipul ntrebare-rspuns.Arhitectura client/server constituie o stare de facto pentru majoritatea sistemelor informatice de gestiune a bazelor de date. Indiferent care este domeniul cruia i este dedicat sistemul informatic (economic, social, tiintific etc.), arhitectura client/server s-a impus ca o condiie sine qua non pentru oferirea unei accesibiliti ct mai mari la resursele informaionale oferite de sistemele de gestiune a bazelor de date. Rspandirea Internetului, combinat cu nevoia tot mai acut de mobilitate si accesibilitate, au determinat generalizarea acestei arhitecturi in cadrul aplicatiilor de baze de date sau al altor sisteme informatice.Bibliografie:1.Dodescu, GH.,Nstase, F. Sisteme de operare, Ed. Economic, Bucurei 2002;2.Oprea, D., Airinei, D., Fotache, M.,Sisteme informaionale pentru afaceri, Ed. Polirom, Iai 2002;3.Oprea, D., Fatu, T., Airinei, D., Fotache, M. Probleme actuale n realizarea sistemelor iformaionale pentru caonducere Universitatea Al. I. Cuza Iai 2001;4. *** http://www.ici.ro/ici/revista/ria2004_2/art05.htm;5. ***http://www.romplus.ro/tehnologii/clientserver.html;6. ***http://www.ici.ro/ici/revista/ria2004_2/art05.htm;7. *** http://www.ici.ro/ici/revista/ria2004_2/art05.htm;8. ***http://www.computerworld.ro/?page=node&id=1915;9. ***http://visualfoxpro.tripod.com/articole/articol21.html
Referat ARHITECTURA CLIENT - SERVER
label
Referate
calendar_month
2007-07-17, 00:00
autorenew
2025-09-29, 16:56
history_edu
virgil