CATEGORII DOCUMENTE |
SISTEME INFORMATICE CLIENT / SERVER
Dezvoltarea sistemelor informatice , trecerea de la sisteme mainframe la sistemele client /server au facut posibila livrarea mult mai rapida a informatiei. Este bine stiut ca, intr-o economie sau intr-o companie, informatia este un element de baza. Un al doilea element important realizat prin introducera sistemelor client/server este reprezentat de calculul distribuit si distribuirea bazei de date.
Calculul distribuit se refera la impartirea unei aplicatii in doua sau mai multe parti si distribuirea acestor aplicatii distribuite pe doua sau mai multe calculatoare fie clientii, fie server.
Intr-un mediu distribuit, datele trebuie sa poata fii stocate in multiple locatii fizice pe diferite tipuri de servere , intr-o maniera transparenta utilizatorului final.
Aceste servere multiple de baze de date trebuie sa poata comunica unele cu altele chiar daca ele nu ruleaza DBMS. Fata de DBMS-urile clasice acestea trebuie intr-un fel adaptate si pentru medii distribuite.
1. Aspecte ale realizarii sistemelor informatice pentru managementul unei mari intreprinderi - analiza, concept general
Cerintele actuale de dezvoltare de sisteme informatice integrate pentru managementul marilor intreprinderi conduc la necesitatea perfectionarii modalitatilor de analiza, proiectare si implementare a acestora. Lucrarea isi propune ca, pornind de la conceptele teoretice si de la experientele specialistilor, sa ilustreze analiza si posibilitatile de imbunatatire ale sistemului informational al unei mari intreprinderi producatoare de materiale de constructii in cadrul careia a fost implementat un sistem informatic pentru management.
In cadrul sistemului de management al unei societati comerciale interactioneaza o serie de subsisteme prin care se asigura conducerea activitatilor economice ale acesteia in conditii de eficienta. In viziunea specialistilor cele mai reprezentative sunt:
subsistemul decizional;
- subsistemul metodelor si tehnicilor de management;
- subsistemul organizatoric;
- subsistemul informational.
Informatia obtinuta la timp, relevanta si usor de accesat constituie un element cheie in functionarea unei organizatii moderne. Intr-o abordare sistemica a societatii comerciale, sistemul informational realizeaza legatura dintre componentele sistemului de conducere si celelalte subsisteme la nivel microeconomic. Prin componentele sale, sistemul informational asigura atat transmiterea informatiilor necesare diverselor niveluri de decizie, cat si a continutului deciziilor catre nivelurile operationale.
Intr-o prima abordare, sistemul informational este definit ca fiind aspectul organizarii care furnizeaza, utilizeaza si distribuie informatia, impreuna cu resursele organizationale (umane si tehnice). In acceptiunea majoritatii specialistilor in management si a firmelor consacrate in dezvoltarea de aplicatii informatice pentru conducere, sistemul informational (SI) este definit ca un ansamblu interconectat intr-o conceptie sistemica a datelor, informatiilor, fluxurilor informationale, procedurilor informationale si a mijloacelor de prelucrare si stocare a informatiilor care actioneaza intercorelat in vederea realizarii obiectivelor fundamentale ale unei firme.
Toate organizatiile, atat din sectorul public cat si privat au un sistem informational care le ajuta in a-si conduce activitatile proprii. Un SI poate fi bazat pe hartie ( paper-based ), poate fi partial sau complet automatizat ( computerised).
Sistemul informational al unei organizatii constituie un element-cheie de succes sau chiar de supravietuire a acelei organizatii.
Dinamica schimbarilor din lumea moderna conduce la necesitatea unor SI din ce in ce mai puternice si mai flexibile. Achizitionarea unui SI nu este o sarcina usoara, implicand definirea scopurilor urmarite, a unei strategii de implementare, de contractare a partilor componente si de integrare a acestora intr- un SI coerent cat si cu procesele lucrative de afaceri ale organizatiei.
Evolutia SI contribuie la cresterea oportunitatilor SI, dar si la cresterea riscurilor de achizitie. Factorii principali de risc ii constituie complexitatea si incertitudinea.
Un alt factor de risc potential il constituie insusi factorul uman. Complexitatea unui SI creste pe o scara foarte larga: de la un singur PC pe care opereaza o singura aplicatie autonoma pana la sisteme distribuite, eterogene, continand numeroase aplicatii complexe interconectate.
Incertitudinea poate depinde la randul sau de tipul de aplicatii, de unele aspecte organizationale, de tehnologia utilizata etc. Aplicatiile comune utilizate de mai multe organizatii (ex: aplicatii de gestiune contabila), bine intelese de acestea prezinta riscuri reduse, in timp ce aplicatiile noi specifice, cu potential mare de competitivitate, pot implica riscuri mult mai mari.
Tehnologiile evolueaza rapid, oferind o mare varietate de solutii: sisteme distribuite, interfete-utilizator grafice, noi sisteme de stocare-regasire a datelor, multimedia, pachete integrate, realitate virtuala etc.
Aceste tehnologii, la randul lor creaza noi oportunitati dar si noi riscuri. SI este tot mai clar perceput ca un sistem complex, care include aspecte umane si sociale, in care tehnologia are numai rolul de suport. De aici decurg o serie de riscuri privind factorul uman si respectiv implicatiile organizationale ale SI.
Un alt aspect critic in procesul de achizitie a SI il constituie comunicarea client -furnizor. Achizitionarea unui SI si a serviciilor asociate necesita o descriere clara a starii finale dorite si a situatiei curente - starea initiala. Este esential ca atat clientul cat si furnizorul sa aiba o viziune identica asupra celor doua stari si sa-si armonizeze terminologia utilizata. Succesul introducerii SI moderne si a serviciilor asociate presupune implicarea multor oameni, cu diferite roluri, responsabilitati, functii, experiente si cunostinte. Comunicarea efectiva este esentiala pentru intelegerea mutuala.
In conditiile unei piete deschise la nivel european, cu tendinte de mondializare, problema comunicarii intre clienti si furnizori de SI din diferite tari devine cu atat mai necesara si mai complexa. Aceasta comunicare trebuie sa ia in considerare marea varietate a metodelor existente, a conceptelor si termenilor utilizati.
Se pot evidentia urmatoarele componente ale sistemului informational:
1. Datele, care reprezinta ansamblul descrierilor unui fenomen sau proces;
2. Informatiile, reprezentand acele date care aduc un spor de cunoastere adresantului;
Circuitele informationale, care semnifica ansamblul legaturilor existente intre diferite verigi organizatorice in cadrul firmelor;
4. Fluxurile informationale, constand in totalitatea informatiilor care parcurg circuitele informationale existente in cadrul societatii.
Fluxurile informationale se pot imparti in trei categorii:
a. Fluxurile informationale ascendente, ca totalitate a informatiilor care circula intre doua nivele ierarhice aflate in relatie de subordonare.
b. Fluxurile informationale orizontale, reprezentand acele informatii care circula intre subdiviziuni organizatorice aflate pe acelasi nivel ierarhic.
c. Fluxuri informationale oblice, ce apar aleator si reprezinta totalitatea datelor vehiculate intre subdiviziuni organizatorice aflate pe niveluri ierarhice diferite, dar nu in relatie de subordonare. Astfel de fluxuri se nasc in cazul elaborarii unor proiecte complexe de tip "stat major" ce implica constituirea unor colective de lucru cu specialisti din mai multe compartimente ale firmei.
5. Procedurile informationale, reprezentate prin totalitatea metodelor si tehnicilor de reprezentare a informatiilor primare pentru asigurarea interfetei om-calculator.
6. Mijloacele de tratare a informatiilor date de ansamblul echipamentelor constructive (hardware) si a suporturilor logice (software) care asigura prelucrarea informatiilor si obtinerea rezultatelor finale.
1. Descrierea functionarii sistemului.
Practica dovedeste ca studiul sistemului informational al unei firme nu poate fi abordat de la inceput in totalitatea sa, ci trebuie efectuat intai in domenii restranse, pe subsisteme, intre care se vor stabili ulterior legaturile de interdependenta.
Lucrarile efectuate au aratat ca este rational ca elaborarea studiilor de perfectionare a sistemului informational sa se faca pe activitati sau la nivel de functiune.
Sistemul informational trebuie sa fie studiat in toata complexitatea sa. Fiecare societate comerciala, care este in situatia de a-si analiza sistemul informational, trebuie sa-si identifice activitatile proprii si sa se stabileasca o ordine de prioritate pentru elaborarea studiilor privind perfectionarea sistemului, de exemplu in scopul stabilirii prioritatilor in analiza sistemului informational al activitatii de productie.
Se vor avea in vedere urmatoarele criterii:
La descrierea functionarii sistemului sau subsistemului informational trebuie sa se aiba in vedere urmatoarele elemente:
De asemenea, la descrierea situatiei existente se tine seama de modul in care se face colectarea, inregistrarea si transcrierea datelor. Pentru a culege totalitatea informatiilor necesare in cele mai bune conditii, in ordinea cronologica si in mod sistematic si pentru a le putea prezenta cat mai sugestiv la analiza in scopul interpretarii lor cu cat mai multa usurinta, se pot folosi diferite metode de analiza si inregistrare cum sunt metoda interviului sau metodele de reprezentare grafica a circulatiei documentelor.
La descrierea circulatiei informatiilor se are in vedere fondul de informatii care intra in sistem, natura si sursele acestora, colectarea, stocarea si transmiterea lor precum si procedeele de prelucrare. De exemplu, sursele si fondul de informatii ce intra in activitatea de programare si urmarire operativa a productiei sunt urmatoarele:
In analiza sistemelor informationale, mesajele ce transmit informatii sunt urmarite foarte atent pe tot parcursul lor, la fiecare loc de munca, respectiv persoana, care vine in contact cu mesajul respectiv. Pentru a cunoaste in intregime rolul unui mesaj, indicat ca acesta sa fie urmarit si analizat pe tot parcursul lui, de la generare si pana la locul de distrugere sau arhivare, dupa caz.
2. Analiza preliminara
Obiectivul fundamental al acestei etape consta in identificarea si definirea ariei de intindere a sistemului informational ce urmeaza a fi analizat si a problemelor care justifica din punct de vedere economic si decizional rationalizarea sa. De regula, realizarea acestui obiectiv este conditionata de atingerea urmatoarelor doua obiective derivate:
Fazele parcurse in cadrul analizei preliminare sunt urmatoarele:
a. Codificarii complete si unitare a marfurilor si produselor, datorata folosirii unor aplicatii diferite pentru prelucrarea informatiilor, aplicatii care nu pot folosi aceleasi fisiere de date, ceea ce conduce la inregistrarea unor informatii asemanatoare pe suporturi fizice diferite, fara ca redundanta sa fie justificata in mod obiectiv.
b. Folosirii unor aplicatii informatice vechi care, in afara lipsei intercorelarii, se caracterizeaza si prin faptul ca au fost realizate cu ajutorul unor medii de dezvoltare software care nu mai sunt de actualitate.
c. Un volum mare de munca manuala la intocmirea documentelor.
II. Stabilirea activitatilor economice care vor fi implicate in procesul de analiza.
Din analiza efectuata asupra componentelor de baza ale sistemului informational au rezultat ca fiind specifice societatii urmatoarele activitati:
1. Intrari de materii prime si materiale.
2. Desfasurarea unor activitati de productie.
Activitati de comercializare a produselor.
4. Gestiunea contabila a mijloacelor fixe.
5. Gestiunea contabila a obiectelor de inventar.
6. Derularea activitatii de intretinere si reparatii.
7. Activitatea de salarizare si management a personalului.
8. Urmarirea cheltuielilor de transport auto si a modului de asigurare cu piese de schimb.
9. Urmarirea cheltuielilor de transport pe calea ferata.
10. Urmarirea achitarii facturilor catre furnizori si a incasarii acestora de la clienti.
11. Activitati auxiliare (PSI etc.)
III. Stabilirea obiectivului fundamental urmarit precum si a obiectivelor derivate.
Un obiectiv fundamental urmarit este "perfectionarea culegerii si prelucrarii informatiilor", iar obiectivele derivate din acesta sunt:
Introducerea unei codificari unitare si complete a marfurilor, produselor si tertilor, precum si eliminarea redundantelor care sunt intalnite in momentul de fata.
Introducerea unor aplicatii informatice performante, moderne, in tehnologie client-server, care sa permita accesul simultan la baza de date al mai multor utilizatori.
Eliminarea muncii manuale din intocmirea documentelor si generarea automata a acestora.
Un al doilea obiectiv fundamental este "imbunatatirea cunoasterii stocurilor de materii prime si materiale", avand urmatoarele obiective derivate:
Realizarea unei actualizari imediate a stocurilor in baza de date, in cazul in care s-au realizat intrari sau iesiri din gestiune.
Posibilitatea obtinerii unor rapoarte exacte si la timp in ceea ce priveste situatia stocurilor.
Un al treilea obiectiv fundamental este "imbunatatirea cunoasterii situatiei incasarii creantelor de la clienti si a achitarii datoriilor catre furnizori", care conduce la urmatoarele obiective derivate:
Realizarea actualizarii imediate in baza de date a situatiei creantelor si datoriilor, in momentul in care a fost realizata o incasare sau o plata.
Posibilitatea obtinerii unor rapoarte exacte si la timp in ceea ce priveste situatia creantelor si datoriilor. Etapa de analiza preliminara este necesara intrucat se abordeaza sistemul in ansamblul sau, la nivelul intregii societati, urmarind satisfacerea cerintelor sistemului de management al intreprinderii. De aceea, dezvoltarea de aplicatii informatice intercorelate si modulate, caracteristice realizarii sistemelor informatice integrate, este precedata de stabilirea strategiei de informatizare a societatii.
Analiza detaliata.
Obiectivul fundamental al acestei etape consta in cunoasterea detaliata a functionarii sistemului informational, a particularitatilor sale, precum si evaluarea sa critica prin prisma modului in care asigura legatura intre subsistemul decizional si cel operational, in stransa corelatie cu asigurarea luarii in timp util a unor decizii pertinente.
In aceasta etapa sunt analizate documentele din sistem, urmarind culegerea tuturor informatiilor care sa permita cunoasterea principalelor aspecte referitoare la situatiile informationale manuale si automate care circula in sistem.
Etapa este caracterizata de urmatoarele faze componente:
1. Analiza documentelor din sistem.
Se urmaareste culegerea tuturor informatiilor care sa permita cunoasterea principalelor aspecte informationale care circula prin sistem: denumirea documentelor, activitatea la care se refera, persoana care intoduce documentul in circuitul informational.
2. Analiza fluxurilor informationale.
Au fost intocmite studii in cadrul fiecarui compartiment privitoare la documentele care se elaboreaza aici, documentele a caror destinatie este reprezentata de respectivul compartiment, traseul strabatut de fiecare document in parte pana la arhivare.
Evaluarea critica a functionarii sistemului informational, detaliind problemele identificate in cadrul analizei preliminare si in cadrul fazelor precedente.
4. Conceptul general al sistemului informatic.
Arhitectura sistemului.
Sistemul este proiectat avand o arhitectura client-server, pe o retea de tip Microsoft Network, cu NetBEUI sau TCP/IP. Serverul ruleaza Windows NT, iar statiile de lucru Windows 95 sau eventual tot Windows NT.
Tehnologia client-server este modelul de procesare in care o singura aplicatie este folosita in comun de mai multe procesoare care coopereza, intr-un mod transparent pentru utilizator, pentru terminarea procesarii ca pe un singur task unificat. Un produs client-server combina impreuna procesoarele pentru a asigura o singura imagine a sistemului. Resursele partajabile sunt pozitionate la clientii care au cereri, care acceseaza servicii autorizate. Daca o baza de date se gaseste pe un disc partajat din retea, atunci toate statiile de lucru au acces la datele din ea. Statiile pot citi si/sau modifica simultan datele, sistemul functionand in timp real. Pentru efectuarea unei cautari, statia de lucru este obligata sa transfere prin retea intregul fisier, apoi sa execute local operatia de cautare, ceea ce, pe masura ce fisierul de date creste, duce la o scadere sensibila a vitezei.
Daca ar fi posibil ca statia sa-i trimita server-ului cererea, apoi acesta sa execute cautarea si sa trimita inapoi prin retea numai rezultatul, viteza ar creste foarte mult in comparatie cu sistemul traditional, din doua motive:
S-ar reduce simtitor incarcarea retelei. Reteaua este foarte lenta (in cazul nostru, ea se comporta ca un gat de clepsidra), iar daca in plus mai este si supraincarcata, e si mai dificil. Prin faptul ca nu se va mai transfera prin retea intregul set de date, ci numai subsetul necesar, incarcarea va scadea, mai ales daca fisierul de date este foarte mare si subsetul cautat este redus.
Server-ul este de obicei un calculator foarte puternic, mult mai puternic si mai bine dotat decat statiile de lucru. Operatiile de cautare, mari consumatoare de timp si memorie, s-ar executa mai repede pe server.
Cu alte cuvinte, un astfel de sistem ar fi ideal. Un alt avantaj ar fi faptul ca, din moment ce toate operatiile s-ar executa intr-un singur loc, ar fi posibil ca partea de lucru efectiv cu fisierele de date sa fie concentrata intr-un singur program. In acest fel s-ar putea controla mult mai strict accesul la date, prin implementarea in acel program a unor functii de securitate, concomitent cu salvarea datelor intr-un format recunoscut numai de el, astfel incat datele sa nu poata fi accesate din afara programului.
Toate acestea se pot realiza cu ajutorul unui asa-numit server de date. Server-ul de date este un program care ruleaza pe file-server-ul retelei si care asteapta cereri de la clienti. Cand soseste o astfel de cerere, server-ul o executa si trimite prin retea rezultatul. Securitatea datelor este asigurata de imposibilitatea accesului la date din afara server-ului.
Trebuie sesizata diferenta dintre un server de fisiere si un server de date. Server-ul de fisiere este un calculator principal din retea, la care sunt conectate mai multe calculatoare secundare, numite "statii", precum si dispozitive (imprimante, discuri de mare capacitate, etc.) la care accesul trebuie partajat. Server-ul de date, in schimb, nu este un calculator, ci un program care ruleaza pe server-ul de fisiere si prin intermediul caruia statiile au acces la una sau mai multe baze de date.
Dat fiind ca baza de date nu poate fi accesata din afara server-ului, securitatea programului nu se va baza pe nivelurile de acces si pe parolele din Windows NT, ci pe cele ale server-ului de date. Fiecare angajat al firmei are asociat un nume de utilizator, o parola si un nivel de acces, numit uneori si "prioritate". De aceasta prioritate depinde posibilitatea lui de a efectua anumite operatii. Toate operatiile, de la cele mai simple pana la cele mai complexe, precum si toate actele si rapoartele au si ele o anumita prioritate. Un operator are acces numai la operatiile, actele si rapoartele care au prioritatea mai mica decat a lui, sau egala cu ea. De asemenea, fiecarui operator si fiecarei operatii sau act ii este asociata o conditie.
Un operator ar putea, de exemplu, sa intocmeasca facturi sau sa solicite eliberarea de numerar din casierie, dar numai pana la o anumita valoare.
Sistemul informatic propus trebuie realizat intr-o conceptie modulara, care sa permita integrarea treptata a tuturor subsistemelor informatice ce vor fi realizate pe parcurs, utilizand o unica baza de date, iar modulele componente vor fi create la nivelul activitatilor economice de baza din intreprindere, anume:
1. Modulul financiar-contabil, care cuprinde urmatoarele subsisteme informatice:
a) Subsistemul de gestiune a tertilor si stocurilor, urmarind in mod dinamic evolutia acestora in cadrul depozitelor precum si a gradului de achitare a facturilor de si catre societate.
b) Subsistemul de gestiune a mijloacelor fixe si a obiectelor de inventar.
c) Subsistemul de calcul al salariilor si management al resurselor umane.
d) Subsistemul de contabilitate.
2. Modulul de productie, cu urmatoarele subsisteme informatice corespunzatoare:
a) Subsistemul de programare si urmarire a productiei.
b) Subsistemul de intretinere si reparare a mijloacelor fixe.
c) Subsistemul de evidenta a mijloacelor de transport si de asigurare a pieselor de schimb.
Concluzii:
Sistemele informatice pentru management sunt folosite pe scara din ce in ce mai larga si in cadrul societatilor comerciale romanesti. Necesitatea introducerii unui astfel de sistem intr-o intreprindere este motivata de faptul ca informatiile trebuie sa fie corecte si sa fie furnizate la timp atat conducerii unitatii economice cat si nivelurilor operationale, in vederea cresterii eficientei economice. In lumea contemporana, caracterizata prin dinamism, acest lucru nu este posibil decat utilizand tehnica de calcul.
In lucrarea de fata am trecut in revista cateva aspecte ale analizei sistemului informational existent in intreprindere, concretizate intr-un studiu complex asupra activitatilor si fluxurilor informationale.
Mentionam inca o data ca rezultatele si solutiile prezentate se refera strict la societatea comerciala analizata, insa principiile care stau la baza elaborarii acestor sisteme informatice raman aceleasi.
Analiza sistemului informational detine un rol cheie in elaborarea variantelor sistemului informatic si in proiectarea acestuia, urmatoarea etapa a realizarii sale.
2. Aspectele economice ale sistemelor Client / Server
Pe masura ce companiile cautau un avantaj competitiv in recesiunea economica de la inceputul anilor 90, bunul cel mai de pret folosit ca parghie s-a dovedit a fi informatia . Mai precis, furnizarea oprtuna a informatiei, an formatul potrivit catre decidentul potrivit la locul si timpul potrivit poate fi factorul de diferentiere intre succes si esec in viata economica a zilelor noastre.
Figura 1.
De o mare importanta s-a dovedit a fi inca un criteriu:
Informatia trebuie furnizata la costul potrivit.
Mainframe-urile cu reteaua ierahica si bugetul de intretinere/dezvoltare asociate au fost considerate poate pe nedrept, ca punctul cu cel mai mare buget din cadrul departamentelor sistemelor informatice.
Este important de inteles ca "reducerea dimensiunii sistemelor informatice" si "ajustarea optima a dimensiunii aplicatiilor " nu se refera numai la economisirea de bani. Aparitia unei noi arhitecturi distribuite pentru procesare si livrare a sistemelor informatice a fost posibila prin combinarea urmatoarelor evenimente:
Introducerea de statii de lucru personale puternice la preturi rezonabile.
Aparitia unor sisteme de operare server multitasking, accesibile si puternice.
Cereri in continua schimbare a sistemelor informatice rezultate din climatul economic din zilele noastre.
Sistemele client server necesita ca o gama larga de tehnologii hard si soft provenite de la o multitudine de furnizori sa fie imbinate armonios prin intermediul retelei de firma pentru a asigura utilizatorului in final in mod transparent interoperabilitatea. Aceasta armonie implica legarea cu succes prin protocoale mutual compatibile, a tuturor interfetelor soft/soft, soft/hard, hard/hard.
Arhitectura Client / Server
Arhitectura unui sistem informatic face referire la structura sa. Conform teoriei generale a sistemelor, notiunea de structura este definita din perspectiva transformarilor principale prin care trece sistemul in interactiunea cu mediul sau, considerandu-se ca ea face referire la aspectul invariant al sistemului ce da identitatea acestuia.
Una din definitiile mai recente considera arhitectura programelor ca fiind "structura sau structurile care privesc componentele programului, proprietatile externe ale acestor componente, precum si relatiile dintre ele".
In functie de semnificatia notiunii de componenta, arhitectura sistemelor informatice poate fi definita intr-un sens restrans si intr-un sens mai larg. In sens restrans, proiectarea arhitecturii unui program vizeaza componentele programului, respectiv modulele acestuia, insa ea poate fi extinsa prin includerea bazei de date si a componentei middleware care permite configurarea comunicarii intr-un sistem client/server.
Dezvoltarea sistemelor informatice, trecerea de la sistemele mainframe la sistemele client/server au facut posibila livrarea mult mai rapida a informatiei.
Istoric vorbind, evolutia tehnologica de la sisteme centralizate spre client/server a trecut printr-o etapa intermediara numita arhitectura file/server. La originea lor, retelele de PC-uri se bazau pe descarcarea pe statia de lucru a fisierelor de pe server si efectuarea tuturor prelucrarilor locale. Problema de baza a unei asemenea arhitecturi era incapacitatea deservirii simultane a mai mult de 12 utilizatori.
Ca raspuns la limitarile conceptului file/server a aparut arhitectura client/server iar server-ul de fisiere a fost inlocuit cu un server de baze de date ce are la baza un SGBD dotat cu un proces suplimentar care "asculta " cererile clientilor si le raspunde in mod direct.
Orice aplicatie in care solicitantul actiunii este un sistem de calcul (sau un proces) si executantul actiunii este un alt sistem de calcul (sau un alt proces) este o aplicatie client / server.
Tehnologia client/server este o modalitate de a separa o aplicatie in doua parti distincte. Clientul vizualizeaza si modifica date pe propiul sau calculator, in timp ce serverul actioneaza ca un mainframe ce stocheaza si recupereaza datele. Impreuna cele doua calculatoare isi relizeaza sarcinile in cea mai rapida modalitate. Serverul raspunde cererilor facute de fiecare statie client pentru informatii si resurse, realizand concomitent atat controlul distributiei informatiei, cat si managementul optimizat al proceselor. In locul unei procesari exclusive pe statii, se realizeaza o distributie a sarcinilor intre server si client. Sistemele client/server sunt, deci sisteme informatice distribuite.
In general, clientii sunt calculatoare personale (PC-uri) utilizate pentru activitati de gestionare a datelor. Un post client se caracterizeaza prin faptul ca: (a) prezinta o interfata utilizator care este de obicei grafica (GUI); (b) 'formuleaza' interogari (cereri, consultari) sau comenzi pe care le 'inainteaza' serverului; (c) transmite interogarile/comenzile respective serverului prin intermediul unei tehnologii de comunicatie; (d) analizeaza datele din rezultatele interogarilor/comenzilor primite de la server, iar un server prin faptul ca: (a) furnizeaza un serviciu clientului; (b) raspunde la interogarile/comenzile clientului; (c) ascunde detaliile sistemului client/server, facand transparent dialogul dintre client si server. Se disting doua tipuri de procese server:
- server interactiv, cand cererea este tratata de server-ul care a receptionat-o. Acest tip de server este utilizabil cand timpul de prelucrare este foarte scurt sau daca un singur client solicita server-ul;
- server paralel, cand procesul server invoca un alt proces pentru a trata cererea clientului.
Serverele pot fi calculatoare personale sau sisteme de calcul specializate (mainframe-uri, minicalculatoare) in vederea asigurarii legaturii dintre clienti si bazele de date din care se extrag informatiile dorite. Scopul principal este autonomia informatica a fiecarui angajat, in limita unor atributii delegate, angajat care poate astfel consulta si prelucra datele din orice loc aflat in interiorul sau in exteriorul intreprinderii.
Comunicarea intre cele doua procese se realizeaza prin asa-numitele apeluri la distanta (Remote Procedure Call - RPC) care opresc procesul client pana ce se primeste un raspuns de la server pentru cererea respectiva. Server-ul incepe sa proceseze numai la primirea unui apel din partea clientului si se opreste dupa satisfacerea respectivei cereri. Exista insa si mecanisme prin care executia nu se opreste la trimiterea unei cereri catre server.
Arhitectura client-server are la baza patru elemente:
delimitarea neta dintre serviciile de prezentare si cele de manipulare a informatiilor;
flexibilitate, in ceea ce priveste dezvoltarile ulterioare implementarii;
punerea in functiune a unui mecanism de asigurare a securitatii si integritatii pentru datele rezidente pe servere;
Arhitectura deschisa in sensul federalizarii unei multitudini de platforme (mainframe, mini, micro-calculatoare) si de produse (echipamente si aplicatii-program) ale diferitilor actori de pe piata tehnologiei informationale.
Orice sistem client-server este alcatuit din minimum trei componente principale:
- interfata cu utilizatorul (system de oprare/mediu grafic);
- aplicatia (prelucrarile sau procesele), si
- sistemul de gestiune a bazelor de date.
Una din principalele probleme legate de sistemele client/server o reprezinta faptul ca activitatile trebuie repartizate de o maniera flexibila, astfel incat orice client sa poata deveni client. Intr-o astfel de situatie serverul emite o cerere care este edresata fie unui alt server, fie unui post client.
O alta cerinta este legata de necesitatea adaptarii la evolutia ulterioara a retelei informatice. In faza proiectarii sistemului, abordarea trebuie sa fie globala si flexibila, pentru a putea ulterior adauga/suprima posturi client si server oriunde in retea. Aceasta sarcina este cu atat mai dificila cu cat mediile sunt, de obicei, eterogene (platforme mini cuplate cu mainframe-uri si PC-uri sau statii grafice, ce ruleaza sub diferite sisteme de operare si aflate uneori la distanta unele de altele).
In realitate exista trei modele de dezvoltare a unei aplicatii. Arhitectura pe un nivel (one tier architecture) apare cand serverul si clientul sunt una si aceeasi aplicatie. Acest model descrie perfect aplicatiile dezvoltate in intregime in Visual FoxPro. Datele, formularele folosite pentru introducerea lor si regulile care guverneaza controlul corectitudinii datelor sunt scrise toate intr-un singur loc. Indiferent daca se acceseaza datele direct din tabele sau prin intermediul vederilor, indiferent daca regulile de validare sunt in codul metodelor sau in trigger-ele bazei de date, se are in vedere un singur nivel: Visual FoxPro.
In arhitectura pe doua nivele (two layer architecture), datele se gasesc intr-un alt mediu si sunt accesate prin intermediul primului nivel. Aceasta arhitectura descrie perfect aplicatiile client-server. Datele sunt stocate intr-un server de baze de date (SQL Server sau Oracle). Managementul tranzactiilor este impartit intre client (validari si prelucrari locale) si server (proceduri stocate si tiggere). Desi suporta un numar destul de mare de utilizatori concurenti, aceasta arhitectura are un numar de limitari:
- scaderea performantelor odata cu sporirea numarului de utilizatori;
- implementarea serviciilor de management al tranzactiilor prin intermediul procedurilor proprietare ale SGBD-ului limiteaza flexibilitatea si portabilitatea logicii aplicatiilor de pe un sistem pe altul.
De cele mai multe ori, regulile de validare (bussiness rules) sunt implementate in intregime in server.
Arhitectura pe trei nivele (three tier architecture) regulile de validare sunt stocate intr-un mediu propriu (de obicei, intr-un calculator separat), astfel incat aplicatiile client le pot folosi independent una de alta si independent de datele existente. In acest fel, aplicatia client ofera interfata, serverul de baze de date ofera datele, iar al doilea nivel se ocupa de validarea datelor. Acest lucru inseamna ca exista doua comunicatii client-server: una intre aplicatiile client si nivelul al doilea, iar cealalta intre nivelul al doilea si serverul de baze de date. Aplicatiile client nu comunica niciodata direct cu serverul de baze de date. Numarul posibil de utilizatori concurenti creste semnificativ si, in acelasi timp, executia logicii aplicatiei pe o statie separata de serverul de baze de date duce la imbunatatirea performantelor.
O tehnologie client/server este si internetul, deci Web-ul se bazeaza pe aceasta tehnologie, care presupune existenta unui server si a unui client. Pe baza cererii emisa de client, server-ul va analiza si va raspunde acestuia. Se mai poate spune ca server-ul ofera servicii clientilor din retea care cer acest lucru, sau ca server-ul produce resurse, iar clientul consuma aceste resurse. Intr-o aplicatie, un program poate fi in acelasi timp atat client cat si server. Programul care cere informatii functioneaza ca un program client, ca un browser.. Prin client si server se inteleg procese, nu calculatoare. Este vorba deci de un proces server si de un proces client.
Tehnologia client/server pe care se bazeaza serviciul Web este de doua tipuri:
- pe doua niveluri;
- pe trei niveluri.
Clientul de Web:
Din punct de vedere al utilizatorului, Web-ul reprezinta o colectie uriasa de documente care sunt raspandite in intreaga lume, sub forma unor pagini. Fiecare pagina poate sa contina legaturi catre alte pagini, aflate oriunde in lume. Utilizatorul poate sa aleaga o legatura care ii va aduce pagina indicata de legatura. Acest proces se poate repeta la nesfarsit, fiind posibil sa se traverseze in acest mod sute de pagini legate intre ele. Despre paginile care indica spre alte pagini se spune ca utilizeaza hipertext .
Hypertextul trebuie interpretat ca un text care identifica o legatura la o alta informatie Web, de obicei un alt document Web.
Hiperlegaturile sunt usor de recunoscut, deoarece atunci cand utilizatorul pozitioneaza mouse-ul pe ele forma cursorului se modifica, ele sunt in general imagini sau siruri de caractere care reprezinta legaturi catre alte pagini, si sunt afisate in mod diferit, fiind subliniate si/sau colorate cu o culoare speciala.
Paginile pot fi vizualizate cu ajutorul browser-ului. Programul de navigare aduce pagina ceruta, interpreteaza textul si comenzile de formatare continute in text si afiseaza pagina pe ecran.
Cele doua mari aplicatii Web pe partea de client (Netscape Navigator si Microsoft Internet Explorer) nu se prea inteleg una cu alta. In urma acestor neconcordante, in ultimii ani a luat nastere o noua semitehnologie numita CrossBrowsing (metode de care un programator web se poate folosi in 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 interactiona cu acesta ducand uneori la rezultate surprinzatoare). Dintre acestea amintim tehnologia VRML si tehnologia ShockWave.
Aplicatii bazate pe partea de server Web:
Acestea sunt menite a fi folosite in cadrul server-elor Web. Termenul de server Web se refera la unul din calculatoarele ce se afla in retea; el poate avea la baza diferite platforme software (sisteme de operare) astfel incat utilizatorii nu vor sti niciodata ce se afla dincolo de un simplu click in browser.
Pentru a avea acces la informatiile din Internet, un calculator acceseaza un server de Web. In general acestea sunt servere HTTP. Nu trebuie confundata notiunea de server web (care este un calculator conectat la reteaua Internet) cu server HTTP (aplicatia software ce ruleaza pe un server Web si asigura transferul de informatii dintre server-ul Web si browser-ul utilizatorilor). Protocolul de transfer standard care descrie cererile si raspunsurile 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 capabilitatilor de procesare distribuita ale retelei. Aici se ia decizia intre procesele vitale ce se ruleaza pe server si celelalte procese ce se lasa pe seama clientilor.
Beneficii ale tehnologiei client/server este usor de implementat si cu costuri modeste de dezvoltare si intretinere; permite suportul noilor tehnologii, mai ales cele orientate pe obiecte; suporta adaugare de componente hardware noi; asigura suportul pentru noi componente: scanere, camere video; se pot implementa aplicatii software realizate de diferiti producatori.
Tipuri de aplicatii sustinute de server:
- servere de aplicatii;
- servere de fisiere/printare;
- servere de cataloage/arhive;
- servere workflow.
Aplicatii client/server
In realizarea unei aplicatii de tip client/server se incearca optimizarea mai multor factori:
- necesitatea de a avea cea mai rapida si productiva aplicatie;
- obligatia de a asigura integritatea datelor;
- obtinerea unui raport cost-eficienta optim pentru achizitia de echipament hardware;
- garantia scalabilitatii in viitor.
Sistemele client/server necesita ca o gama larga de tehnologii hard si soft, provenite de la o multitudine de furnizori, sa fie imbinate armonios, prin intermediul retelei de firma, pentru a asigura utilizatorului, in final, in mod transparent, interoperabilitate. Aceasta armonie implica legarea cu succes, prin protocoale mutual compatibile, a tuturor interfetelor soft/soft, soft/hard si hard/hard.
Pentru a se evita pierderile de performanta, datorita gestiunii protocoalelor orientate pe conexiune (cum este in modelul OSI sau TCP/IP), modelul client/server are la baza un protocol simplu, fara conexiune, de tipul intrebare-raspuns.
Arhitectura client/server constituie o stare de factori pentru majoritatea sistemelor informatice de gestiune a bazelor de date. Indiferent care este domeniul caruia ii este dedicat sistemul informatic (economic, social, stiintific etc.), arhitectura client/server s-a impus ca o conditie sine qua non pentru oferirea unei accesibilitati cat mai mari la resursele informationale oferite de sistemele de gestiune a bazelor de date.
Figura 2.
Raspandirea Internetului, combinata cu nevoia tot mai acuta de mobilitate si accesibilitate, au determinat generalizarea acestei arhitecturi in cadrul aplicatiilor de baze de date sau al altor sisteme informatice. (Figura 3)
Figura
Internetul si majoritatea retelelor folosesc principiul client/server. Servere de pe tot globul ofera anumite tipuri de servicii, iar clientii (PC-uri, calculatoare portabile sau telefoane) se conecteaza la acestea pentru a accesa informatiile. (Figura 4)
Figura 4.
Principalele motive pentru folosirea atat de larga a acestei arhitecturi sunt:
stocarea informatiei intr-un singur loc, de unde poate fi redistribuita cu usurinta catre clienti; dedicarea resurselor de calcul (a serverelor) unor sarcini specifice cum ar fi spre exemplu posta electronica - unde este implicata mutarea informatiilor in siguranta dintr-un punct in altul.
Clientii (adica acele computere ce functioneaza cu drept de client intr-o retea) pot avea o varietate foarte mare si pot fi opriti si porniti fara sa afecteze buna functionare a retelelor.
Ceea ce trebuie retinut in primul rand in ceea ce priveste marea majoritate a serviciilor de Internet este ca exista:
- un program (aplicatie software) client pe de o parte;
- un program server de cealalta parte;
- conexiuni intre client si server;
- conexiuni intre mai multe servere;
- conexiuni directe intre clienti.
Procesul de transfer a fisierelor de pe server pe client poarta numele de download, iar cel invers este numit upload
4. Generatii si tipuri de arhitecturi Client / Server
Clientul si Serverul se pot regasi sub forma de calculatoare diferite, sau pot fi pe acelasi calculator (calculatorul trebuie contina un Sistem de Operare multi-proces, cele doua entitati regasindu-se sub forma de procese distincte, ce ruleaza pe aceeasi masina).
Un client poate sa efectueze cereri catre mai multe servere. Un server poate satisface cererile lansate de mai multi clienti. Un sistem C/S functioneaza intr-o retea de calculatoare, calculatoarele din retea netrebuind sa fie omogene, un exemplu foarte bun il reprezinta SAP. (Figura 5)
Figura 5. Client-Server SAP
Din punct de vedere al adresarii intr-o retea de calculatoare, in contextul arhitecturii C S, serverul trebuie sa se gaseasca intotdeauna la o singura adresa, sau la un set de adrese stabilite. Clientii pot lansa cererile de oriunde neavand nevoie de o adresa fixa.
In cazul in care adresa asociata unui server este independenta de modul de adresare din reteaua unde este amplasat, acesta poate fi reamplasat practic oriunde fara a afecta procesele clientilor. In cazul in care intr-o retea de calculatoare bazata pe arhitectura C/S pot fi conectate calculatoare eterogene, transmisiile efectuate intre clienti si server sunt codificate diferit, fiind necesar un protocol de schimb standard pentru codificare (la transmisie) si decodificare (la receptie) securitatea oferita bazelor de date stocate pe server - toti utilizatorii care acceseaza serverul se supun restrictiilor impuse de drepturile de acces configurate; utilizarea procedurilor stocate - acestea pot fi utilizate de toti clientii (sub rezerva drepturilor de acces stabilite). In cadrul SGBD-urilor moderne, se pot defini proceduri stocate speciale, numite declansatori, care se activeaza automat in functie de reguli de gestiune definite la nivel de server. Diminuarea traficului in retea - acest lucru se observa in mai multe cazuri; de exemplu, la apelul unei proceduri stocate, aceasta nefiind memorata la client, evident nu se va transmite tot codul acesteia, ci numai valorile parametrilor de apel. Reducerea dimensiunii aplicatiilor - aplicatiile nu memoreaza codul procedurilor stocate, rutinele pentru mentinerea coerentei datelor (sunt stocate tot pe server), rutinele pentru asigurarea securitatii datelor, etc. Administrarea centralizata a unei baze de date - se realizeaza numai la nivel de server, cu toate implicatiile ce decurg din aceasta (costuri mai reduse, in primul rand), etc.
BD Client - Server: Generatii si Tipuri:
GENERATIA I - anii '80 Serverul - pe care este stocata baza de date relationala;
Clientul - pe care este stocata aplicatia client, aplicatie scrisa intr-un limbaj de programare si al carei cod se executa in intregime pe masina client. Cererile SQL sunt formulate de aplicatia client catre baza de date relationala. Executia acestor cereri si transmiterea rezultatelor catre aplicatia client revine serverului. GENERATIA I Dialogul client-server se bazeaza pe mesaje trimise (Send) si respectiv primite (Receive).
Dialogul poate fi sincron (fara lista de asteptare) sau asincron (lista de asteptare).
La nivel Client apelurile la serviciul de transport sunt: SendRequest, prin care clientul transmite serverului ce operatie urmeaza sa execute; ReceiveReply, permite clientului sa primeasca raspunsul provenind de la un server. La nivel Server, apelurile la serviciul de transport sunt: ReceiveRequest, permite serverului sa primeasca interogarea trimisa de client; SendReply, permite serverului sa trimita raspunsul catre client.
Intre client si server se stabilesc primitive de conectare (Connect) si respectiv, deconectare (Disconnect).
GENERATIA a II-a - anii '90 Caracteristici:
orientare obiect
- rezvoltarea aplicativului de server de date
gestiunea unui referential de obiecte.
Serverul poate sa ofere mai multe tipuri de servicii clientilor: asigurarea interfetelor grafice pentru dialogul cu utilizatorul; accesul la fisiere si baze de date gestionate de server; executia de programe.
GENERATIA a II-a - anii '90 Variante de C/S:
Client server de prezentare - este varianta in care un proces gestioneaza numai functia de dialog cu utilizatorul, celelalte procese asigurand gestiunea datelor si executia codurilor de program
Client server de date - este varianta in care o aplicatie client acceseaza datele gestionate de un server cu ajutorul cererilor SQL
Client server de procedura - este varianta in care o aplicatie controleaza prin intermediul unei interfete executia procedurilor stocate pe server.
GENERATIA a II-a - anii '90 Tendinta actuala in arhitectura C/S este orientarea catre sisteme informatice client server de date si proceduri.
Componente:
Clientii - gestioneaza codul aplicatiei client, care contine elementele de interfata cu utilizatorul, permite dialogul cu acesta (preluare de date si furnizare de rezultate) nu efectueaza prelucrari directe asupra bazei de date stocate pe server.
Serverul - asigura stocarea bazei de date, securitatea acesteia.
Reteaua - asigura comunicarea clientilor cu serverul (transmiterea cererilor clientilor catre server si furnizarea rezultatelor catre acestia). De asemenea, comunicarea clientilor cu serverul mai presupune existenta suporturilor software (drivere) pentru codarea cererilor lansate de clienti catre server, decodarea acestora pe server, apoi codarea rezultatelor furnizate de server si decodarea acestora la clienti.
GENERATIA a III-a Client server WEB :
Odata cu aparitia web-ului, arhitecturile client-server au evoluat de la o arhitectura pe doua niveluri la o arhitectura pe trei niveluri Nivelul CLIENT - este nivelul care permite unui utilizator comunicarea cu o baza de date prin intermediul WEB-ului.
Comunicarea se manifesta la acest nivel, prin interfata pusa la dispozitia utilizatorului de catre un navigator (browser) WEB (client server de prezentare).
Tot la acest nivel se poate vorbi in afara de partea de interfata si de o parte de aplicatie, sub forma unor programe (scripturi) care pot fi executate de programul browser (scripturi JavaScript, VBScript, etc.). Nivelul APLICATIE - contine partea de aplicatii cea mai importanta din acest ansamblu. Pe acest nivel avem server-ul WEB, care prin intermediul protocolului HTTP, preia cererile venite de pe nivelul client, le proceseaza si le poate transmite mai departe catre o alta aplicatie, ce transmie aceste cereri catre SGBD, adica pe nivelul date.
Server-ul WEB si celelalte aplicatii de pe acest nivel pot fi gazduite pe aceeasi masina sau pe masini diferite.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 3235
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved