Tema IX. Tehnologia Client Server

22
TEMA IX TEHNOLOGIA CLIENT/SERVER Utilizatorii calculatoarelor personale (PC-uri) şi-au dat seama că au nevoie să folosească informaţiile în comun. Astfel au apărut reţelele locale (LAN - Local Area Network) care permiteau PC-urilor să comunice între ele. Odată cu răspândirea reţelelor, utilizatorii de PC-uri au hotărât că o reţea LAN putea să îndeplinească treaba unui mainframe mai bine, mai repede şi mai ieftin, astfel încât reţelele s-au răspândit peste tot. Unul dintre aspectele cele mai provocatoare ale modului de lucru client/server (cel puţin din punct de vedere tehnic) îl reprezintă configurarea unei reţele astfel încât să permită calculatoarelor de birou să comunice unul cu altul, ci şi cu oricare mainframe sau minicalculator conectat la reţea. Tehnologia client/server joacă un rol decisiv în planurile de informatizare ale majorităţii firmelor importante şi chiar celor mai mici, care încep treptat să se afirme. 9.1. Definirea tehnologiei client/server Tehnologia client/server constă în folosirea a trei componente de bază pentru realizarea unei activităţi în comun: un calculator client, un calculator server şi o reţea care le conectează. Tehnologia client/server împarte o aplicaţie în trei componente de bază - un client, un server şi o reţea care conectează clientul la server (se poate privi reţeaua ca fiind slash-ul din termenul client/server). Atât clientul, cât şi serverul sunt calculatoare cu grade variate de putere de calcul, ce colaborează la îndeplinirea sarcinilor. În multe cazuri, calculatorul client este un calculator personal ce se află pe biroul utilizatorului. Calculatorul server este un server de reţea, care poate fi un PC mai puternic, un minicalculator (numit midrange - calculator de putere medie) sau un mainframe. Reţeaua este, în orice caz, necesară pentru a conecta clientul la server. Această definiţie pare a fi destul de simplă. Întrebarea se referă desigur la ce se poate sau ce ar trebui să se poată face cu această tehnologie client/server. Iată câteva exemple: 133

Transcript of Tema IX. Tehnologia Client Server

Page 1: Tema IX. Tehnologia Client Server

TEMA IXTEHNOLOGIA CLIENT/SERVER

Utilizatorii calculatoarelor personale (PC-uri) şi-au dat seama că au nevoie să folosească informaţiile în comun. Astfel au apărut reţelele locale (LAN - Local Area Network) care permiteau PC-urilor să comunice între ele. Odată cu răspândirea reţelelor, utilizatorii de PC-uri au hotărât că o reţea LAN putea să îndeplinească treaba unui mainframe mai bine, mai repede şi mai ieftin, astfel încât reţelele s-au răspândit peste tot.

Unul dintre aspectele cele mai provocatoare ale modului de lucru client/server (cel puţin din punct de vedere tehnic) îl reprezintă configurarea unei reţele astfel încât să permită calculatoarelor de birou să comunice unul cu altul, ci şi cu oricare mainframe sau minicalculator conectat la reţea.

Tehnologia client/server joacă un rol decisiv în planurile de informatizare ale majorităţii firmelor importante şi chiar celor mai mici, care încep treptat să se afirme.

9.1. Definirea tehnologiei client/server

Tehnologia client/server constă în folosirea a trei componente de bază pentru realizarea unei activităţi în comun: un calculator client, un calculator server şi o reţea care le conectează.

Tehnologia client/server împarte o aplicaţie în trei componente de bază - un client, un server şi o reţea care conectează clientul la server (se poate privi reţeaua ca fiind slash-ul din termenul client/server). Atât clientul, cât şi serverul sunt calculatoare cu grade variate de putere de calcul, ce colaborează la îndeplinirea sarcinilor.

În multe cazuri, calculatorul client este un calculator personal ce se află pe biroul utilizatorului. Calculatorul server este un server de reţea, care poate fi un PC mai puternic, un minicalculator (numit midrange - calculator de putere medie) sau un mainframe. Reţeaua este, în orice caz, necesară pentru a conecta clientul la server.

Această definiţie pare a fi destul de simplă. Întrebarea se referă desigur la ce se poate sau ce ar trebui să se poată face cu această tehnologie client/server. Iată câteva exemple:

Crearea de aplicaţii de gestiune adaptate cerinţelor utilizatorului, care obţin accesul la datele de pe calculatoare mainframe, dar sunt la fel de uşor de utilizat ca şi aplicaţiile obişnuite de pe PC, de tipul programelor de prelucrare de text sau al programelor de calcul tabelar.

Dezvoltarea aplicaţiilor care realizează o legătură între datele aflate pe sisteme de calcul de obicei incompatibile.

Construirea unui aşa-numit Sistem Executiv de Informaţii, care sintetizează cantitatea foarte mare de informaţii ce este stocată în mod obişnuit pe calculatoarele mainframe şi o prezintă într-o formă care poate fi înţeleasă chiar şi de directorul general al unei mari companii.

9.2. Pasivitate şi calcul pasiv

Cea mai bună modalitate pentru a înţelege ce este activitatea client/server este de a privi extremele a ceea ce ar putea fi numit calcul pasiv - aplicaţii în care fie clientul fie serverul lucrează pasiv, refuzând să colaboreze.

Clienţi pasiviÎntr-un sistem mainframe demodat clientul este un terminal "pasiv" (neinteligent), care

are o putere de calcul minimă, iar serverul este însuşi calculatorul mainframe. Calculatorul

133

Page 2: Tema IX. Tehnologia Client Server

server face aproape toată treaba în acest tip de organizare. Iată de ce calculatoarele mainframe sunt atât de importante.

Acest tip de folosire a calculatorului este numit uneori prelucrare gazdă (host processing) deoarece calculatorul gazdă - calculatorul mainframe - îndeplineşte toate activităţile de prelucrare. Clientul - adică terminalul - este doar un spectator.

Menţionăm următoarele elemente privitoare la prelucrarea gazdă.Mai multe terminale client pot accesa un singur calculator gazdă. Pentru ca prelucrarea

gazdă să se facă în mod satisfăcător, calculatorul gazdă însuşi trebuie să fie suficient de puternic pentru a servi atâtea terminale client câte aplicaţii le apelează. Intr-un sistem naţional de rezervare a biletelor de avion, aceasta poate să însemne zeci de mii de terminale client. Iată de ce calculatoarele mainframe sunt atât de puternice şi de scumpe.

Terminalul pasiv nu trebuie să fie un terminal al unui mainframe demodat. El poate foarte bine să fie un PC performant care se preface a fi un terminal pasiv. Este un fapt obişnuit ca firmele să înlocuiască vechile terminale cu PC-uri. Utilizatorii pot folosi PC-urile pentru activităţi specifice PC-ului, cum ar fi prelucrarea de text sau prelucrările tabelare sau îl pot face să lucreze ca un terminal pasiv pentru a avea acces la aplicaţiile de pe mainframe. O dată trecut în modul de lucru ca terminal pasiv, PC-ul poate să rămână neutilizat, în timp ce calculatorul gazdă face toată treaba.

Servere pasiveAlternativa la un terminal pasiv este un server pasiv. Este situaţia în care se află

majoritatea aplicaţiilor care se execută într-o reţea locală. Întreaga activitate a aplicaţiei are loc pe un calculator client, un PC, aflat pe biroul utilizatorului. Calculatorul server este solicitat atunci când este necesar un fişier sau trebuie tipărit ceva, dar el nu lucrează propriu-zis.

Un server pasiv poate avea numai una sau ambele funcţii prezentate mai jos. El poate fi:

server de tipărire (file server), ceea ce înseamnă că discul său găzduieşte fişierele utilizate de aplicaţii, sau

server de tipărire (print server), ceea ce înseamnă că are ataşată o imprimantă.Într-o reţea mică, acelaşi calculator poate fi atât server de fişiere cât şi server de

tipărire. Într-o reţea mai mare, cele două servere sunt de obicei calculatoare diferite.Sistemele cu server pasiv devin rapid ineficiente atunci când sunt conectaţi mulţi

utilizatori la sistem. Pentru a vedea de ce, să presupunem că există 5 utilizatori care pot avea acces la o bază de date cu clienţi, de dimensiuni mari, ce se află pe serverul de fişiere. Dacă unul dintre utilizatori se hotărăşte să afişeze o listă a tuturor clienţilor ale căror vânzări au depăşit în ultimul an 1000$, întregul fişier de clienţi trebuie trimis prin reţea de la calculatorul server la calculatorul client al utilizatorului. Aceasta poate determina o legătură de mai lungă durată în reţea, încetinind activitatea celorlalţi patru utilizatori. Cu toate acestea, situaţia este probabil tolerabilă. Dar să presupunem că există 500 de utilizatori nu 5, iar o sută dintre ei doresc lista clienţilor ale căror vânzări depăşesc 1000$. Acum întregul fişier trebuie să fie trimis prin reţea simultan la 100 de calculatoare client diferite. Întreaga reţea va funcţiona cu viteză mică.

Soluţia acestei probleme este activitatea client/server

9.3. Altă definiţie a activităţii client/server

Activitatea client/server este un efort de a găsi echilibrul între cele două extreme pe care le presupun activităţile cu client pasiv sau server pasiv.

134

Page 3: Tema IX. Tehnologia Client Server

Tipul de organizare client/server presupune existenţa de calculatoare complet apte să lucreze la ambele capete ale cablului de reţea, şi încearcă să distribuie lucrul în mod echitabil în avantajul tuturor.

Distribuţia exactă între calculatoarele client şi cele server variază în funcţie de tipul aplicaţiei. Totuşi, de obicei, calculatorul client este responsabil cu toate activităţile cerute de prezenţa interfeţei moderne , uşor de utilizat, de tip Windows, completată cu casete de dialog, butoane, bare de derulare, meniuri pictograme, sistem Help şi toate celelalte accesorii necesare pentru a face programul uşor de folosit(sau cel puţin să-l facă pe utilizator să creadă că este uşor de folosit). Calculatorul server este responsabil cu administrarea accesului la bazele de date: nu chiar găsirea înregistrărilor, dar sortarea lor, selectarea acelora de care are nevoie clientul, eventual asigurarea că alţi clienţi nu încearcă să modifice înregistrările care se vizualizează şi o serie întreagă de alte activităţi.

Principalul avantaj al activităţii client/server faţă de activitatea cu client pasiv constă în faptul că, în cazul client/server, devine mai uşoară adăugarea a tot felul de artificii necesare pentru a face programul mai uşor de utilizat. Dacă serverul ar trebui să execute toate activităţile, nu ar mai fi timp pentru manipularea tuturor casetelor de dialog şi a altor elemente interesante ale interfeţei cu care sunt obişnuiţi utilizatorii mediului Windows şi pe care doresc să le aibă la dispoziţie pe toate calculatoarele client conectate la server. În plus, încărcarea în reţea ar putea fi copleşitoare dacă serverul ar trebui să trimită o cantitate imensă de informaţii spre terminal doar pentru a afişa o simplă casetă de dialog.

Avantajele tehnologiei client/server faţă de activitatea cu server pasiv pot fi ilustrate printr-un exemplu. Să presupunem că un utilizator doreşte să afişeze toţi clienţii care au realizat vânzări de peste 1000$ în ultimul an. În loc să trimită întregul fişier cu clienţi prin reţea către calculatorul client, calculatorul client cere calculatorului server să-i trimită clienţii cu vânzări peste 1000$. Atunci serverul efectuează o căutare în întregul fişier de clienţi pentru a-i extrage pe cei solicitaţi şi doar aceste înregistrări sunt trimise prin reţea către calculatorul client. Lucrând împreună, clientul şi serverul economisesc transferul prin reţea, trimiţând numai cele câteva înregistrări de care este nevoie şi nu întreg fişierul. Accesul la baza de date, aşa cum este descris în acest exemplu, reprezintă numai o modalitate de utilizare a tehnologiei client/server.

9.4. Restricţii determinate de tehnologia client/server

Acum, după ce s-au prezentat câteva idei de bază despre ce este tehnologia client/server, se vor lămuri câteva lucruri despre ceea ce tehnologia client/server nu este.

Client/server nu este sinonim cu lucrul în reţea. Tehnologia client/server nu poate exista în absenţa lucrului în reţea, dar existenţa reţelei nu implică o activitate client/server. Se face adesea confuzie între cele două noţiuni deoarece în reţelele locale se foloseşte termenul de client pentru calculatoarele conectate în reţea şi de server pentru calculatoarele dedicate partajării spaţiului pe disc şi al imprimantelor. Pentru ca o aplicaţie să fie o aplicaţie client/server veritabilă serverul trebuie să realizeze mai mult decât simpla partajare a fişierelor şi a imprimantelor, el trebuie să partajeze execuţia aplicaţiilor cu calculatoarele client.

Client/server nu este acelaşi lucru cu accesul la o bază de date. Accesul la o bază de date este una dintre cele mai obişnuite activităţi din sistemele client/server, dar nu toate aplicaţiile ce folosesc baze de date sunt client/server şi nu toate aplicaţiile client/server utilizează baze de date. De exemplu, dacă se foloseşte un program de gestiune a bazelor de date, cum ar fi: Paradox sau dBase pentru a crea o aplicaţie de baze de date şi apoi se mută fişierele bazei de date pe un server de fişiere dintr-o reţea, nu înseamnă că s-a creat o aplicaţie client/server, deoarece calculatorul server nu face nimic mai mult decât să găzduiască fişierele bazei de date.

135

Page 4: Tema IX. Tehnologia Client Server

Client/server nu este o interfaţă grafică cu utilizatorul (GUI). O altă activitate obişnuită în aplicaţiile client/server este aceea de a asigura calculatorului client o interfaţă grafică cu utilizatorul plăcută. Cu toate acestea, nu toate aplicaţiile ce folosesc o interfaţă grafică, cum este cea a mediului Windows, sunt aplicaţii client/server, iar aplicaţiile client/server nu trebuie să aibă, în mod obligatoriu, o interfaţă grafică cu utilizatorul.

Client/server nu este o retehnologizare a afacerilor. Tehnologia client/server în sine nu îmbunătăţeşte modul în care firma face afaceri. Tehnologia client/server este asociată adesea cu retehnologizarea deoarece este o tehnologie nouă care, utilizată corespunzător, poate implementa un gen de aplicaţii netradiţionale, un lucru normal în eforturile de retehnologizare. Totuşi, tehnologia client/server şi retehnologizarea nu reprezintă unul şi acelaşi lucru.

Client/server nu este miniaturizare(downsize). Client/server este adesea gândit ca o justificare a abandonării calculatoarelor mainframe. Uneori funcţionează în acest fel, alteori nu. Un proiect client/server ar putea cere înlocuirea terminalelor neinteligente cu calculatoare personale utilizate drept clienţi, renunţând la mainframe în loc să-l folosească drept server. În acest sens, de fapt client/server reprezintă o mărire a dimensiunii (upsize) aplicaţiei.

Client/server nu este sinonim cu sistemele deschise. Sistemele deschise se referă la tehnicile de transformare a sistemelor de calcul, iniţial incompatibile, într-unele compatibile. Succesul proiectelor client/server depinde adesea de sistemele deschise, deoarece ele necesită existenţa unei posibilităţi de comunicare între reţelele bazate pe PC-uri şi cele bazate pe calculatoare mainframe. Sistemele deschise reprezintă doar unul dintre multele criterii pe care trebuie să le îndeplinească un proiect client/server.

Client/server nu este o conspiraţie. Tehnologia client/server nu este o conspiraţie a adepţilor PC-urilor folosită pentru îndepărtarea calculatoarelor mainframe îmbătrânite ca să-şi asigure siguranţa slujbei. Este, în cea mai bună parte, o recunoaştere a ceea ce este mai bun în cele două lumi. Este o modalitate de dezvoltare a aplicaţiilor care sunt la fel de uşor de folosit ca aplicaţiile pe PC şi la fel de sigure ca aplicaţiile mainframe.

Client/server nu este un glonţ de argint. Etichetarea unui proiect ca fiind client/server nu-i va garanta acestuia succesul.

9.5. O trecere în revistă a aplicaţiilor client/server

Acum, după ce s-au evidenţiat, pe de o parte, câteva definiţii referitoare la client/server iar pe de altă parte câteva dintre promisiunile cu privire la această tehnologie, este momentul să aruncăm o privire rapidă asupra tipurilor obişnuite de aplicaţii client/server. Aplicaţiile client/server care interesează se vor regăsi printre cele descrise.

Aplicaţii de baze dateAplicaţiile client/server la care se gândesc în primul rând majoritatea oamenilor sunt

cele de baze de date.Într-o aplicaţie de baze de date client/server soft-ul de baze de date se execută pe

calculatorul server, iar un program care poate accesa baza de date se execută pe calculatorul client. Programul client, numit front end, permite utilizatorilor să acceseze informaţia stocată în baza de date folosind o interfaţă de tip Windows. Programul de pe server, numit back end, corespunde părţii care realizează controlul bazei de date în aplicaţia respectivă. Programul front end solicită servicii celui back end prin interogarea serverului. Aceste interogări se fac prin intermediul comenzilor limbajului de interogare structurată (SQL). Programul back end prelucrează cererile SQL şi transmite rezultatele programului front-end.

Error: Reference source not found

136

Page 5: Tema IX. Tehnologia Client Server

Figura 9.1. La prelucrarea bazelor de date client/server, clientul este punctul de plecare iar serverul, punctul terminus.

Figura 9.1 prezintă versiunea client/server a unei aplicaţii de baze de date. Clientul este responsabil cu interfaţa cu utilizatorul (GUI) şi cu logica sistemului (partea programului care implementează condiţiile în care se desfăşoară afacerile, ca de exemplu, dacă trebuie sau nu permise creditele sau dacă se pot face reduceri de preţuri la o comandă), iar serverul asigură accesul la baza de date.

Calculatorul server din acest tip de organizare poate fi aproape orice: un PC cu procesor Intel, cu sistem de operare de reţea - Windows NT, OS/2, Unix sau NetWare; un minicalculator, ca de exemplu un IBM AS/400 sau un DEC VAX; sau un calculator mainframe, cum ar fi un IBM 3090 cu sistem MVS.

În cazul calculatoarelor client, poate rula aproape orice produs software care poate accesa bazele de date SQL dintr-o reţea. De exemplu:

Programe de baze de date pentru calculatoarele PC, incluzând Paradox, Microsoft Access şi Lotus Approach;

Programe de baze de date sub Windows, scrise în limbajele de programare C sau C++;

Programe realizate cu Visual Basic, Power Builder, SQL Windows sau orice alt instrument de programare de tip „vizual".

Prelucrarea tranzacţieiO tranzacţie este o mulţime de două sau mai multe actualizări ale bazelor de date, care

trebuie executate obligatoriu împreună. De exemplu, o singură comandă a clientului poate necesita efectuarea de actualizări în fişierul clientului, în fişierul de inventar, fişierul de comenzi, fişierul de facturi şi oricare alt fişier care mai este implicat. Prelucrarea tranzacţiei are grijă ca toate bazele de date să fie actualizate pentru una sau mai multe tranzacţii. Actualizarea tuturor acestor baze de date trebuie să fie făcută integral sau să fie ignorată în totalitate.

Vă puteţi imagina problemele care ar putea să apară dacă programul ar fi actualizat fişierul de facturi primite, dar nu şi pe cel de comenzi: clientul ar primi o factură dar n-ar primi produsul!

Un alt termen pentru prelucrarea tranzacţiilor este OLTP (On Line Transaction Processing). Aplicaţiile OLTP sunt uneori denumite şi aplicaţii critice, deoarece de ele depinde soarta firmei: dacă se înlătură aplicaţia OLTP şi firma va da faliment.

Prelucrarea tranzacţiilor a constituit zeci de ani activitatea de zi cu zi a calculatoarelor mainframe. Până de curând, reţelele locale de calculatoare PC şi tehnologia client/server au fost utile pentru a accesa baze de date simple şi nu pentru prelucrările de tranzacţii foarte complexe. Aceste aplicaţii au nevoie de mai multă viteză, putere şi fiabilitate decât au putut să ofere până de curând multe sisteme client/server.

Toate acestea înseamnă schimbare, pe măsură ce tehnologia client/server se dezvoltă. Acum, modelul client/server poate fi folosit pentru prelucrări complexe de tranzacţii, care înainte erau posibile numai în arhitecturile bazate pe calculatoare mainframe.

Figura 9.2 arată balanţa activităţii între client şi server într-o aplicaţie de prelucrare a tranzacţiilor. Clientul, aşa cum se poate observa, este deocamdată responsabil cu gestionarea interfeţei grafice cu utilizatorul şi, în parte, pentru logica sistemului. Totuşi, calculatorul server are funcţii suplimentare în afara realizării accesului simplu la baze de date. Poate, de asemenea, să realizeze o parte din logica sistemului cerută de aplicaţie (de exemplu, ce trebuie făcut dacă articolul comandat de client nu este disponibil la depozitul principal). În plus, are îndatoriri suplimentare în iniţierea tranzacţiilor şi refacerea, în cazul în care tranzacţia eşuează

137

Page 6: Tema IX. Tehnologia Client Server

la jumătatea drumului, asigurându-se că actualizările din bazele de date făcute până în acel moment sunt anulate.

Prelucrarea simplă a tranzacţiilor poate fi realizată cu ajutorul multor implementări ale limbajului SQL, ce folosesc facilităţi numite proceduri stocate. O procedură stocată este o secvenţă de comenzi scrise în limbajul SQL, care efectuează actualizările necesare asupra bazei de date. (O funcţie corelată cu aceasta, numită declanşator (trigger), este şi ea folosită uneori. Aceasta este similară cu procedura stocată, dar este apelată în mod automat atunci când apare un anume eveniment, cum ar fi actualizarea unui anumit câmp al unei baze de date).

Error: Reference source not foundFigura 9.2. Serverul se ocupă de accesul la baza de date.

Prelucrarea tranzacţiilor determină complicaţii atunci când este implicat mai mult decât un singur server pentru o singură tranzacţie, ceea ce se întâmplă adesea. De exemplu, baza de date ce conţine inventarul şi baza de date a clienţilor pot fi stocate pe servere separate. În acest caz, prelucrarea tranzacţiei trebuie să asigure faptul că toate actualizările bazelor de date sunt sincronizate.

Poşta electronică(e-mail)Una dintre cele mai obişnuite forme ale activităţii client/server este reprezentată de

poşta electronică. Folosind poşta electronică se poate trimite şi primi mesaje la/de la alţi utilizatori din reţea, în loc să scrieţi un mesaj pe o bucată de hârtie şi să-l introduceţi într-un plic şi să-l puneţi în cutia poştală pentru a fi preluat şi dus la destinaţie. Poşta electronică stochează mesaje pe disc şi le expediază electronic vecinilor de reţea cărora le este adresat.

Poşta electronică reprezintă o soluţie foarte bună atunci când este implicată doar o singură reţea locală. Multe pachete de programe pentru reţelele locale conţin un program e-mail adecvat.

Poşta electronică este ceva mai complicată atunci când sunt implicate mai multe reţele locale. O firmă care are mai multe sedii şi o platformă de calculatoare eterogenă are nevoie de un fel de coloană vertebrală pentru poşta electronică, astfel încât orice membru al firmei să poate trimite şi primi mesaje la/de la orice alt membru al firmei, fără să-şi facă probleme dacă aceştia se află într-o reţea locală NetWare, într-un sistem AS/400 din Bucureşti sau lucrează la un calculator mainframe din Timişoara.

Un bun sistem e-mail poate să integreze poşta electronică din interiorul firmei cu cea către sau de la lumea de afară. Cu alte cuvinte, sistemul e-mail poate asigura accesul la autostrada informaţională. De asemenea, poate permite să se expedieze un mesaj la o destinaţie, aceasta deoarece intervine tehnologia client/server.

Într-o reţea de dimensiuni mari, un calculator server poate fi configurat astfel încât să funcţioneze ca server dedicat de poştă electronică. Aceste servere nu fac altceva decât să trimită şi să recepţioneze mesaje. Componenta server a pachetului de programe pentru poşta electronică se execută pe calculatorul server de e-mail.

În prezent, Microsoft Mail reprezintă cea mai importantă ofertă soft client/server pentru poşta electronică. În timp ce realizarea actuală a produsului Lotus cc:Mail nu se bazează pe modelul client/server, Lotus se pregăteşte să scoată o nouă versiune care să corespundă acestui model.

Microsoft Office aduce programul client pentru Microsoft Mail. Dacă toţi utilizatorii dintr-o reţea au deja Microsoft Office se poate configura un sistem client/server e-mail cumpărând produsul Microsoft Mail Server.

Poşta electronică reprezintă o formă utilă dar primitivă de comunicaţie electronică. Sistemul Groupware, prezentat în continuare, reprezintă modul real de comunicare.

Groupware

138

Page 7: Tema IX. Tehnologia Client Server

Un alt tip de aplicaţie client/server poartă numele de groupware. Nu trebuie să credeţi că aceasta înseamnă că fiecare angajat al unei instituţii trebuie să poarte acelaşi tricou, cu sigla firmei pe el. Groupware este un nou tip de aplicaţie, proiectată să permită lucrul eficient în comun în proiecte colaborative. Groupware include dar nu se limitează la:

Poşta electronică; Direcţionarea şi stabilirea fluxului de expediţie al documentelor; Gestiunea documentelor compuse (multimedia); Programarea şi gestiunea calendarului; Prelucrări de imagini; Gestiunea formelor.

Groupware este ideal pentru aplicaţiile care se concentrează pe tipuri variate de documente care trebuie să fie create, revizuite, actualizate folosite de diferiţi utilizatori.

De exemplu, serviciul client se învârteşte în multe firme în jurul unui formular de comandă care a fost creat la primul apel al serviciului. Mulţi oameni pot fi implicaţi în completarea formularului de comandă, în revizuirea lui, trecerea lui către indivizi care pot stăpâni mai bine situaţia, înregistrarea apelului astfel încât să nu cadă în proverbiala capcană, trimiterea sa la forurile superioare dacă este necesar ş.a.m.d. până la satisfacerea clientului, când pe formular se pune ştampila „rezolvat". Formularul de comandă este actualizat ori de câte ori este contactat clientul. În groupware, toţi cei care sunt implicaţi în prelucrarea formularului îl pot accesa electronic şi trimite înainte şi înapoi.

Cel mai cunoscut produs groupware este Lotus Notes. Lotus Notes include un puternic limbaj de comenzi script care vă permite să se creeze aplicaţii în întregime personalizate. Este mai mult decât un sistem de poştă electronică luxos.

Cosmetizarea aplicaţiilor proiectate anteriorUltimul tip de aplicaţii client/server pe care se pot întâlni sunt aplicaţiile moştenite,

care au fost îmbunătăţite. Aceste sisteme client/server sunt realizate atunci când utilizatorii îşi dau seama că nu mai suportă să folosească terminale şi doresc să se treacă imediat la sistemul de elaborare a statelor de plată în mediul Windows. Lucrând suplimentar, un grup de programatori trece la treabă pentru a converti sistemul de realizare a statelor de plată în mediul Windows.

Cum o fac? Rescriu toate programele din COBOL în C? Nici gând. Nici unul dintre programatori nu ştie destul despre limbajul C şi probabil că nici n-ar putea găsi codul sursă original al programelor scrise în COBOL, aşa că nu ştiu de unde să înceapă.

În schimb, ei pot folosi un program cunoscut sub denumirea de screen scraper (răzătoare de ecran). Acesta studiază display-urile folosite de programul pentru statele de plată şi apoi le converteşte în interfaţă Windows, adăugând casete de dialog, meniuri, adăugându-i tot felul de îmbunătăţiri. Apoi, face în aşa fel încât calculatorul mainframe să creadă că PC-ul ce lucrează în mediul Windows este de fapt un terminal. Sistemul de state de plată, ce se execută pe calculatorul mainframe, nu realizează că ceva s-a schimbat. El trimite date pentru un display, dar programul screen scraper le recepţionează şi generează o casetă de dialog Windows.

Problema cu programele screen scraper este că ele nu merg suficient de departe în îmbunătăţirea aplicaţiilor existente. Nu fac decât să pună o faţă zâmbitoare pe aceleaşi vechi programe. Aceasta nu duce decât la îmbunătăţirea, în mică măsură, a utilizării şi mai aplanează (cel puţin pentru un timp) nemulţumirile utilizatorilor, dar nu aduc o îmbunătăţire semnificativă.

Programele screen scraper pot fi utile în cazul în care s-a pierdut codul sursă original al aplicaţiei de pe calculatorul mainframe sau dacă aplicaţia este atât de complicată încât rescrierea ei ar fi un adevărat coşmar.

139

Page 8: Tema IX. Tehnologia Client Server

Cel mai bine cunoscut produs client/server din această categorie este EASEL, realizat de Easel Corp.

9.6. Tipuri de servere în tehnologia client/server

Calculatoarele server au utilizări variate în sistemele client/server. În cele ce urmează se descriu cele mai obişnuite tipuri de servere.

Servere de fişiereServerele de fişiere asigură spaţiul de disc centralizat care poate fi folosit conform

necesităţilor calculatoarelor client din reţea. Utilizarea cea mai obişnuită constă în stocarea programelor şi fişierelor de date. De exemplu, un grup de lucru de dimensiuni mici poate utiliza spaţiul disc de pe un server de fişiere pentru stocarea documentelor create de procesoarele de text.

Serverele de fişiere trebuie să se asigure că doi utilizatori nu încearcă să actualizeze acelaşi fişier în acelaşi timp. Aceasta se realizează prin blocarea unui fişier pe perioada în care un utilizator actualizează fişierul, astfel încât alţi utilizatori să nu poată să aibă acces la fişier până ce primul utilizator nu a terminat. Pentru fişierele document (de exemplu, fişiere create de un procesor de text sau un program de calcul tabelar) este blocat întregul fişier. În cazul bazelor de date, blocarea poate fi aplicată doar porţiunii care conţine înregistrarea sau înregistrările în curs de actualizare.

Multe reţele locale se bazează pe modelul serverului de fişiere: Câteva calculatoare client sunt conectate la un server de fişiere pentru a folosi în comun programe şi fişiere de date. Sistemul de operare NetWare, realizat de firma Novell, presupune că unul sau mai multe calculatoare dintr-o reţea sunt servere dedicate de fişiere.

Producătorii de reţele LAN şi consultanţii spun uneori că sistemele lor sunt client/server deoarece folosesc servere de fişiere. Totuşi, un simplu server de fişiere de reţea nu poate primi calificativul de client/server deoarece activitatea unei aplicaţii nu este împărţită între calculatoarele client şi calculatorul care este server de fişiere. Calculatorul client îndeplineşte întreaga activitate. Serverul de fişiere acţionează ca un dispozitiv de disc aflat la distanţă.

Serverele de fişiere sunt dublate adesea de servere de tipărire.Servere de tipărireUnul dintre principalele motive pentru care micile societăţi îşi instalează reţele este

acela că pot partaja imprimantele laser al căror preţ este ridicat. În unele cazuri, un calculator este dedicat activităţii de server de tipărire, al cărui unic scop este de colectare a informaţiilor ce urmează a fi trimise către imprimantă de către calculatoarele client şi de tipărire a lor într-o anumită ordine.

Un singur calculator poate fi, în acelaşi timp, server de fişiere şi server de tipărire, dar performanţele vor fi îmbunătăţite dacă vor fi folosite calculatoare diferite pentru cele două tipuri de servere.

Folosind imprimante laser ieftine, sub 500$ fiecare, pare ispititor să i se asigure fiecărui utilizator propria imprimantă laser, decât să fie folosit un server de tipărire. Dar firma trebuie să plătească pentru asta. În loc să cumpere 5 imprimante a 500$ fiecare, se poate procura o imprimantă laser de 2.500$ şi să o folosească în comun.

Pot fi folosite şi alte resurse pentru a fi folosite în comun prin intermediul serverelor dedicate. Printre exemplele obişnuite pot fi amintite modemurile, faxurile şi unităţile CD-ROM.

Servere pentru bazele de dateUn server de bate de date este un calculator care rulează un sistem gestiune a bazelor

de date (DBMS), bazat pe un limbaj SQL. Calculatoarele client trimit cereri SQL serverului

140

Page 9: Tema IX. Tehnologia Client Server

de baze de date, care face acces la baza de date stocată pe el pentru a procesa cererea şi pentru a întoarce rezultatele calculatoarelor client.

SQL este limbajul standard pentru accesarea bazelor de date relaţionale.Servere de aplicaţiiUn server de aplicaţii este un calculator server ce rulează de obicei programe mari de

aplicaţii. Serverele de aplicaţii sunt folosite adesea atunci când se face trecerea aplicaţiilor scrise pentru calculatoarele mainframe. De exemplu, un minicalculator AS/400 poate fi utilizat pentru a rula programele ce erau înainte executate pe un calculator mainframe.

9.7. Caracteristicile tehnologiei client/server

Client/server distribuie prelucrarea între calculatoarele din reţeaEsenţa modelului client/server constă în faptul că activitatea de prelucrare a unei

aplicaţii de calculator este divizată pe mai multe calculatoare care solicită servicii unul de la altul. Calculatorul care adresează cererea se numeşte client, iar cel care o rezolvă se numeşte server.

Majoritatea clienţilor dispun de o interfaţă GUIÎn majoritatea sistemelor client/server, rolul calculatorului client este de a asigura o

interfaţă grafică cu utilizatorul (GUI) astfel încât utilizatorul să poată avea acces cu uşurinţă la sistem.

Interfaţa GUI este de obicei Windows, dar poate fi şi OS/2, Unix Motif sau chiar Macintosh.

De observat că interfaţa GUI nu reprezintă o cerinţă a modelului client/server. Se întâmplă doar ca modelului client/server să i se potrivească acest tip de aplicaţie.

Majoritatea serverelor asigură prelucrare SQLÎntr-o aplicaţie client/server tipică, calculatorul client asigură interfaţa GUI, iar

calculatorul server asigură accesul la baza de date prin intermediul unui server SQL. Avantajul acestui model este evident dacă ne gândim cum funcţionează o aplicaţie de baze de date când nu e utilizat modul de lucru client/server. Fără client/server, un calculator trebuie să analizeze fiecare înregistrare doar pentru a selecta înregistrările care corespund unui criteriu de căutare. Fiecare înregistrare trebuie transmisă prin reţea. În cazul client/server, calculatorul client trimite cererea SQL calculatorului server, care o prelucrează şi înapoiază doar acele înregistrări care se potrivesc condiţiilor solicitate.

Regulile afacerii pot fi direcţionate spre client sau spre serverÎn majoritatea sistemelor client/server, clientul se ocupă cu detaliile interfeţei cu

utilizatorul, iar serverul cu detaliile accesului la baza de date. O altă componentă importantă a aplicaţiei o reprezintă regulile afacerii - logica care implementează politica afacerii, cum ar fi, de exemplu, aprobarea sau nu a unui credit, stabilirea acordării sau nu a unei reduceri pentru un client ş.a.m.d. Astfel de reguli pot fi implementate atât în porţiunea client a unei aplicaţii client/server, cât şi în cea server.

Dacă sunt localizate pe server, regulile afacerii pot fi implementate prin intermediul programelor care apelează un mecanism de apel al procedurilor la distanţă (RPC - Remote Procedure Call) sau proceduri stocate într-un sistem de gestiune a bazelor de date (SGBD).

Programele client sunt de obicei realizate cu un instrument de programare vizualăProgramele care rulează pe calculatoarele client sunt, de obicei, realizate folosind unul

dintre noii descendenţi ai instrumentelor de programare vizuală, ca Powersoft PowerBuilder, Microsoft Visual Basic sau Borland Delphi.

Programarea vizuală permite să se creeze o interfaţă GUI deplasând diferite elemente de control pe o formă goală, apoi codificând procedurile care sunt apelate atunci când sunt activate elementele de control sau când apare un eveniment. Programarea vizuală poate părea

141

Page 10: Tema IX. Tehnologia Client Server

ciudată dezvoltatorilor experimentaţi care lucrează pe calculatoarele mainframe, dar conceptele sunt de neocolit şi trebuie să fie deprinse repede.

Prelucrarea tranzacţiilor este unul dintre atuurile cele mai importante ale modulului de lucru client/server

Prelucrarea tranzacţiilor este elementul cel mai important al activităţii client/server. Pe parcursul istoriei lor de 30 de ani, calculatoarele mainframe au asigurat prelucrarea tranzacţiilor necesare aplicaţiilor critice. Instrumentele client/server au început să se apropie de sofisticările oferite de prelucrările tranzacţiilor pe calculatoarele mainframe.

Aplicaţiile critice client/server trebuie să fie capabile să suporte tranzacţiile care sunt distribuite pe mai multe servere, astfel încât dacă apare o defecţiune în orice loc în momentul tranzacţiei, toate actualizările de pe toate serverele afectate de tranzacţie să fie refăcute.

Middleware este produsul software ce se află între client şi servereMiddleware este produsul software care se execută între clienţi şi servere. Principalul

scop al produselor middleware este să faciliteze succesul comunicaţiilor dintre clienţi şi servere. Sistemele de operare de reţea şi protocoalele pot fi considerate middleware, dar majoritatea oamenilor consideră produsele middleware ca fiind cele care reconciliază neînţelegerile dintre clienţi şi servere, cum ar fi, de exemplu, diferitele dialecte SQL de pe variatele servere SGBD.

Standardele client/server au început să se impunăStandardele client/server se proiectează foarte intens, astfel că la câteva luni apare câte

un nou standard. Din fericire totuşi, industria a început să se concentreze în jurul unui grup relativ mic de standarde care devin dominante.

Obiectele pot reprezenta viitorul modului de lucru client/serverObiectele au apărut deja de câţiva ani, dar noţiunea de obiecte distribuite de abia acum

se impune. Obiectele distribuite sunt componente software care au interfeţe bine definite şi pot fi distribuite în mod transparent peste tot în reţea. Un produs special middleware, denumit ORB (object request broker - intermediar al solicitării obiectelor) localizează obiectele de care este nevoie şi realizează interacţiunile dintre obiecte.

Preţul client/server este mai mare decât cred mulţi utilizatoriDacă există o concepţie comună greşită referitoare la modul de lucru client/server, ea

se referă la faptul că acest cadru de lucru ar fi mai ieftin decât cel tradiţional bazat pe calculatorul mainframe. Studiile au arătat că acest lucru este fals. În timp ce preţul de cumpărare al produselor hard - calculatoarele PC în comparaţie cu calculatoarele mainframe - poate fi mai mic, costul total al dezvoltării şi întreţinerii unui sistem client/server este, de obicei, mai mare decât costul unui sistem mainframe echivalent, în primul rând datorită faptului că sistemele client/server necesită mai multă întreţinere şi instruire decât rivalele lor calculatoarele mainframe.

9.8. Particularităţile sistemelor file-server şi client/server în reţelele de calculatoare

Calculatoarele personale şi staţiile de lucru pot fi utilizate fie ca sisteme de-sine-stătătoare (stand-alone systems) pentru execuţia diferitelor aplicaţii informatice, fie într-o configuraţie de reţea. În ultima variantă s-a pornit de la constatarea că, dacă o dată este necesară unui angajat dintr-un birou, ea poate fi utilizată fie de un coleg de birou, fie de alţii din birouri diferite. Prin interconectarea calculatoarelor, ei pot folosi în comun datele, dar şi anumite echipamente - cele mai cunoscute fiind imprimantele.

O reţea locală se bazează pe un set de calculatoare personale, fiecare cu propria-i memorie, astfel încât să se poată folosi în comun toate echipamentele şi software-ul din reţea. Fiecare PC şi staţie de lucru se află la o distanţă de aproximativ 35 de metri de un alt

142

Page 11: Tema IX. Tehnologia Client Server

echipament similar, cu o lungime totală a cablului de circa 1500 de metri. Dintre toate calculatoarele, unul mai puternic, minicalculator sau un sistem superior, este folosit ca file-server, în care se vor afla bazele de date şi aplicaţiile folosite în comun de celelalte calculatoare ale reţelei.

Arhitectura file-serverPentru a înţelege poziţia serverului într-o reţea, prezentăm o configuraţie model în

figura 9.3.Într-un mediu de lucru bazat pe reţele, toate operaţiunile asupra datelor se efectuează

la staţiile de lucru, de unde se lansează astfel de cereri. În reţea se pot folosi mai multe servere. Un file-server este un echipament care administrează operaţiunile cu fişiere şi este folosit de fiecare punct de lucru al reţelei. Intr-o configuraţie bazată pe file-server, acesta acţionează ca un hard disk suplimentar pentru fiecare PC. De exemplu, un PC anurne poate recunoaşte unitatea logică F:, ce poate fi un volum de disk stocat în file-serverul din reţea. Programele din PC pot efectua referirea la fîşierele din server prin specificarea căii pe care se af1ă directoarele, respectiv fişierele necesare.

Atunci când se foloseşte un SGBD în mediul de lucru bazat pe file-server, fiecare PC-client este autorizat să folosească programele de aplicaţii SGBD ca şi cum acestea i-ar aparţine. În astfel de condiţii, există o singură bază de date pe server şi mai multe copii exploatate concurenţial pe fiecare PC activ. Caracteristica esenţială a reţelelor bazate pe clienţi este aceea că manipularea datelor este efectuată pe PC-ul clientului, nu pe server. File-serverul acţionează ca un echipament care stochează datele comune şi figurează ca o extensie a unui PC. În plus, el oferă resurse suplimentare (unităţi de discuri, imprimante) şi aplicaţii de cornunicare (cum ar fi poşta electronică). Softul de pe file-server creează cozi de aşteptare a cererilor, el situându-se deasupra programelor de aplicaţii ale fiecărui PC din reţea, pentru a asigura funcţiile de administrare a tuturor datelor. Aceasta înseamnă că dacă o aplicaţie solicită doar înregistrările aflate în contul unui client din baza de date aflată pe server, fişierul care conţine toate conturile cu înregistrările clienţilor va fi transmis prin reţea la acel PC, unde se vor extrage înregistrările dorite. Controalele pe linia securităţii, precum şi blocarea fişierelor sau a înregistrărilor sunt efectuate prin PC-uri, ceea ce conduce la un proces complex de dezvoltare a aplicaţiilor multi-server.

Utilizarea reţelelor locale bazate pe file-server este limitată de trei elemente esenţiale: un transfer excesiv de date; nevoia utilizării unor staţii de lucru (clienţi) foarte puternice; descentralizarea controlului datelor.

Deficienţele menţionate reprezintă cauza trecerii la o nouă arhitectură, cunoscută sub numele de client/server.

Arhitectura client/serverO îmbunătătire esenţială a sistemelor bazate pe reţele locale s-a înregistrat prin

arhitectura client/server, în care prelucrările din aplicaţii sunt împărţite (nu ca o condiţie obligatorie) între client şi server. Clientului îi revine, îndeosebi, responsabilitatea administrării interfeţei-utilizator, inclusiv prezentarea datelor, iar serverul va avea misiunea stocării datelor şi a accesului prin interogările primite. Diferenţa dintre arhitecturile file-server şi client/server este redată în fig 9.4.

Într-o arhitectură tipică client/server, toate operaţiunile de restaurare a datelor, de securitate şi de gestionare a accesului concurenţial sunt centralizate la server, ceea ce în configuraţiile anterioare se efectua la nivelul fiecărui PC din reţeaua locală. Funcţiile centrale SGBD, deseori, sunt numite motor-bază de date în mediile de lucru client/server. Unii specialişti fac referinţă la funcţiile centrale SGBD ca fiind funcţii back-end, în timp ce prestaţiile bazate pe client ale aplicaţiilor către utilizatori prin intermediul PC-urilor şi staţiilor de lucru sunt numite aplicaţii front-end. Mai mult, într-o arhitectură client/server, serverul

143

Page 12: Tema IX. Tehnologia Client Server

onorează toate cererile de date astfel încât numai datele care îndeplinesc anumite criterii sunt transmise staţiilor client prin intermediul reţelei. Acesta este marele avantaj al sistemului client/server faţă de cel bazat pe file-server. Cât timp serverul prestează toate serviciile partajate ale bazelor de date, rămâne în sarcina softului clientului să se concentreze asupra interfeţei cu utilizatorul şi asupra funcţiilor de manipulare a datelor. Rezultă că serverul trebuie să fie mult mai puternic în sistemul client/server decât în cel de file-server.

Aplicaţiile realizate într-un astfel de sistem diferă de cele ale sistemelor de gestiune a bazelor de date centralizate, bazate pe un calculator mare. Diferenţa majoră constă în faptul că fiecare client este o componentă inteligentă a sistemului de prelucrare a aplicaţiei. Cu alte cuvinte, programul aplicaţiei executat de către client este rulat direct pe staţii, şi nu pe server. Programul aplicaţiei gestionează toate interacţiunile cu utilizatorul şi cu echipamentele locale (imprimante, tastaturi, ecrane ş.a.), astfel încât se poate vorbi despre o „diviziune a muncii” între server - considerat ca motor al bazei de date - şi client: motorul bazei de date gestionează toate funcţiile de accesare şi control al bazelor de date. PC-ul client transmite comenzile de prelucrare privind baza de date către motorul bazelor de date. Spre deosebire de acest sistem, în varianta centralizării prelucrărilor pe calculatoare mari, toate componentele sistemului informaţional sunt gestionate şi executate de calculatorul central.

Un alt avantaj al arhitecturii bazate pe client/server constă în posibilităţile decuplării mediului clientului de cel al serverului. Un client poate consta dintr-o multitudine de tipuri individuale (de calculatoare, de sisteme de operare, de programe de aplicaţii), ceea ce înseamnă că un client poate executa orice aplicaţie din sistem care să îşi genereze comenzile adecvate, deseori prin limbajul SQL, pentru a solicita date serverului. De exemplu, programul aplicaţiei poate fi scris în Quattro Pro, FoxPro, dBASE IV sau în orice alt limbaj de generaţia a patra, care are o interfaţă a programului de aplicaţii (Application Program Interface = API) pentru motorul bazelor de date. Motorul bazelor de date poate fi DB2 (de pe un calculator IBM sau de pe un minicalculator) sau Sybase, sau Oracle executate pe o multitudine de platforme. Interfaţa programului de aplicaţii (API) apelează rutinele bibliotecii care rutează transparent comenzile SQL de la aplicaţiile front-end ale clientului către serverul bazei de date. O interfaţă a programului de aplicaţii poate lucra cu softul front-end existent, cum ar fi limbajele generaţiei a treia sau generatoarele de rapoarte ale clientului şi poate să includă propriile modalităţi de construire a aplicaţiilor. Atunci când există câteva interfeţe ale programelor de aplicaţii pentru instrumente de dezvoltare a aplicaţiilor în diferite medii, se poate spune că există o independenţă considerabilă pentru dezvoltarea aplicaţiilor decătre client în cel mai convenabil mediu de programare front-end. Cu titlu de exemplu, sunt prezentate în continuare câteva dintre cele mai uzuale medii API utilizate în acest scop:

Error: Reference source not foundFigura 9.3. Model de configuraţie a unei reţele locale

SQL Link al firmei Borland care permite programelor scrise în Paradox să acceseze SQL Server (atât pentru Microsoft, cât şi pentru Sybase), Oracle Server, DB2/2 al IBM-ului, dar şi alte câteva motoare pentru baze de date.

DataEase SQL care permite programelor scrise în limbajul DataEase să acceseze bazele de date din SQL Server, Database Manager, precum şi de pe Oracle Server.

@SQL (Add-In) din LOTUS 1-2-3 (din versiunile 2.01, 2.2 şi superioare) care permite accesul la bazele de date SQL Server.

Q+E (Add-In) din Excel care permite accesul la baza de date din SQL Server, Database Manager, Oracle Server.

SQL Wîndows (versiunea 3.1) al firmei Gupta Technologies oferă posibilitatea proiectării ecranelor, generării rapoartelor ş.a. Ele constituie componente front-end pentru SQL Base,

144

Page 13: Tema IX. Tehnologia Client Server

SQL Server, Oracle, Database Manager, DB2, Btrieve, Teradata şi alte servere.

Error: Reference source not found

Figura 9.4. Comparaţie între arhitectura file-server şi clien/server

SQL Base, SQL Server, Oracle, Database Manager, DB2, Btrieve, Teradata şi alte servere.

PowerBuilder al Powersoft Corporation, care permite unei palete foarte largi de instrumente de programare orientate-obiect să îşi construiască aplicaţii-client care să acceseze servere pentru baze de date, cum ar fi: Sybase, Microsoft SQL Server, SQL Base, Oracle, DB2.

Object/1, versiunea 3.0, al mdbs, Inc., care este un mediu de programare orientat-obiect pentru un client OS/2 şi servere pentru baze de date SQL Server, Oracle, OS/2 Data Manager, precum şi MDBS IV al mdbs-ului.

Utilizarea arhitecturii client/server se concretizează în câteva avantaje esenţiale pentru cei ce o folosesc, cum ar fi:

datorită preţurilor mult mai reduse ale microcalculatoarelor, companiile îşi pot amplifica substanţial beneficiile înregistrate prin apelarea la microcalculatoare;

datorită apropierii locului prelucrării de cel al sursei datelor supuse acestui proces, se reduce timpul de trafic din reţea, precum şi cel de obţinere a răspunsului;

se valorifică posibilitatea folosirii interfeţelor grafice ale utilizatorului prin apelarea la tehnicile prezentării vizuale disponibile pe staţiile de Iucru;

se încurajează trecerea spre sistemele deschise.Se cuvine să facem menţiunea că sistemele care n-au fost concepute de la început pe

arhitectura client/server pot înregistra unele eşecuri generate de compatibilitatea tipurilor de date, optimizarea interogărilor, bazele de date distribuite, administrarea datelor în medii distribuite, generatoarele de coduri de programe din CASE, integrarea sistemelor de operare ş.a.

Întrebări pentru verificarea cunoştinţelor1. Definiţi tehnologia client/server şi precizaţi restricţiile determinate de tehnologia

client/srver.2. Descrieţi tipurile obişnuite de aplicaţii client/server.3. Descrieţi cele mai obişnuite tipuri de servere în tehnologia client/server.4. Descrieţi caracteristicile tehnologiei client/server.5. Care sunt particularităţile sistemelor file-server şi client server în reţelele de

calculatoare?

145

b) Arhitectura Client/Server