Functionarea retelei. Aplicatia client/server
Primele aplicatii de retea erau in majoritate programe integrate. De exemplu, daca ofereau o baza de date multiutilizator ele aveau si partea frontala (front-end) de interactiune cu utilizatorului si "motorul" bazei de date (partea de program care lucra cu fisierele bazei de date) pe acelasi PC. Singura parte care se putea afla in retea, pe server, era baza de date.
In aceasta configuratie, calculatorul client realiza toata prelucrarea datelor (citire, cautare a inregistrarilor dorite intre datele citite etc.). Aplicatiile acestea pot fi descrise ca avand doar client. Serverul era o simpla "pompa" de date: trimitea utilizatorului date din fisierele aflate pe disc sau le primea si le stoca pe disc.
In ultimii ani au aparut un numar mare de sisteme de baza de date sofisticate care pun in retea "motorul" de acces la baza de date care se afla in parte frontala (front-end) utilizatorul. Acestea se numesc sisteme client/server.
O data cu imbunatatirea performantelor datorita eliminarii supraincarcarii retelei cu transferuri mari de date, mai exista si avantajul faptului ca serverul poate deservi mai multi clienti in acelasi timp. Intregul proces de sincronizare al accesului la baza de date, care trebuia realizat de clienti, este acum realizat de server, ceea ce face aplicatiile mai simple si intregul sistem mai eficient.
Bazele de date nu sunt singurele aplicatii care pot fi realizate in sistem client/server. Alte aplicatii client/server includ servere de posta electronica, sisteme de vizualizare pe calculator a imaginilor si urmarire serviciilor de retea.
Avantajele sistemelor client/server sunt urmatoarele:
O securitate mai buna, deoarece accesul la datele din baza de date server este indirect. Utilizatorii nu pot vedea fisierele de date decat daca li se da acest drept in mod explicit.
Performantele pot fi imbunatatite usor, deoarece o mai buna proiectare a serverului poate duce la o mai buna coordonare a utilizatorilor care doresc servicii in acelasi timp si, de aici, performante mai bune. In cazul severelor de baze de date prin retea pentru a gasi ce ii intereseaza; e suficient ca ele sa trimita cereri catre server, iar serverul le va trimite doar rezultatele pe care le doresc.
Creste raportul calitate/pret. Clientii trebuie doar sa aiba suficienta putere de calcul pentru a rula partea frontala (front-end). (Cand sunt necesare performante mai mari, serverul poate fi inlocuit cu un calculator personal mai performant si, respectiv, mai scump).
Dezavantajele sistemelor client/server:
Complexitatea: nu este simplu, de obicei, sa configurezi si sa administrezi sisteme client/server.
Necesitati: pentru a avea multi utilizatori, serverul din sistemele client/server are nevoie de un calculator scump. Aplicatiile de pe server au tendinta sa devie mai mari si mai complexe si au nevoie de mai multa memorie RAM.
Pret: performantele serverului scad o data cu cresterea numarului de utilizatori. Pentru a reface performantele, serverul de baza de date trebuie sa ruleze pe o masina dedicata acelui server. Deci, acolo unde candva era un server dedicat general, care functiona si ca server de baza de date, acum avem un server dedicat general si un server de baze de date dedicat, ceea ce duce cel putin la dublarea costului.
Tehnologii de grup
Tehnologiile de grup (groupware) sunt un set de tehnologii care au scopul de a imbunatati productivitatea a doi sau mai multi utilizatori care coopereaza in realitate unor obiective comune. Ideea este ca o data ce reteaua uneste utilizatorii, munca si comunicarile cu privire la ea pot fi automatizate pentru imbunatatirea fluxului muncii si a oportunitatilor. Teoretic, un grup de oameni care muncesc impreuna intr-o activitate comuna sau pentru obiective comune poate fi mult mai eficient decat un grup de oameni care muncesc independent. Deoarece calculatoarele imbunatatesc dialogul intre membrii grupului si urmaresc progresele lor, detaliile nu vor mai fi omise, iar desfasurarea poate fi foarte usor de urmarit.
Aceste idei au fost aplicate la procese cum sunt planificate si administrate proiectelor. Planificarea in retea permite unui grup dintr-o retea sa-si faca orare pe retea. Cand vor sa-si coordoneze activitatile, de exemplu sa stabileasca o intalnire, orarul grupului poate fi examinat si poate fi gasit momentul cand toti membrii sunt disponibili. Folosind posta electronica, acestea pot fi rugati sa va sedinta (sau in organizatiile mai autoritate li se ordona).
Alte caracteristici ale aplicatiei de grup:
Sisteme de informare (oferite in sisteme de posta electronica cum ar fi cc: Mail).
Baze de date folosite in comun.
Sisteme de conducere a proiectelor.
Servicii de biblioteca (pentru administrarea documentatiilor apartinand unui grup).
Sisteme de control al versiunii (asemanatoare cu serviciul de biblioteca, dar cu facilitati de control al arhivarii si gasirii diverselor versiuni de fisier; aceste sisteme sunt de obicei folosite pentru dezvoltarea programelor).
Una dintre cele mai laudate aplicatii ale tehnologiilor de grup, Lotus Notes, este un sistem de baze de date cu posta electronica. Rolul lui Notes este de a raspandi informatiile detinute in bazele de date ale organizatiilor, la un numar oarecare de utilizatori. Sistemul permite duplicarea si sincronizarea mai multor copii de baze de date.
O alta directie principala a aplicatiilor de grup este posibilitatea urmaririi fluxului muncii. Ideea este ca grupurile de utilizatori care sunt intr-o retea pot beneficia de automatizarea activitatilor de rutina. Mare parte a sistemelor care se ocupa de fluxul muncii se bazeaza pe formulare. Ele primesc date de la o persoana, pe care apoi le transmit, daca e posibil cu date suplimentarea din alte surse, celorlalti membri. Ele au mecanisme pentru contabilizarea si urmarirea tranzactiilor si raportarea stadiului muncii. Obiectivele vor fi mai rar uitate sau amanate, deoarece calculatoarele sunt mai de incredere decat oamenii. Fluxul muncii este concept atat de important in retele, incat multe dintre principalele companii producatoare de produse de retea au investit in companii care dezvolta tehnologii de baza pentru suportul fluxului muncii.
Problema cu aplicatiile de grup este ca e greu ca oamenii sa se obisnuiasca cu ea! ("Poti sa duci un cal la apa, dar nu poti sa-l faci sa bea.").