La început totul era centralizat. Marile calculatoare - fie
supercomputere, fie mainframes - stăteau în săli special construite,
climatizate, în care nu intrau decât operatorii în halate albe. Datele şi
programele erau introduse pe cartele şi pe benzi perforate iar rezultatele
(listinguri) erau ridicate de la un ghişeu.
Apoi au început să se răspândească
terminalele. Mai întâi în preajma calculatorului, apoi tot mai aproape de utilizatori,
în birouri. Aceste terminale constau dintr-un display şi o tastatură
însă încorporau foarte puţină "inteligenţă", fiind în
întregime controlate de computerul central. Acesta rula toate programele, dar
marele salt era adus de caracterul interactiv. În acest mod, chiar şi
nespecialiştii foloseau programele specializate.
Primul adevărat "calculator personal" - Apple Macintosh
- a fost lansat la începutul lui 1984 printr-o campanie care a devenit un
studiu de caz clasic în istoria publicităţii. Spotul inaugural se
baza pe romanul lui Orwell 1984 şi prezenta o mulţime
cenuşie, uniformizată, aliniată, privind într-o stare
semi-hipnotică pe un ecran imens discursul despre unificarea gândurilor
rostit de Big Brother (de fapt, calculatorul central). În sală irumpe o
atletă într-un şort roşu-aprins care aruncă ciocanul în
marele ecran. Pe fundalul exploziei eliberatoare se titrează: Pe 24
ianuarie, Apple va lansa Macintosh. Şi veţi înţelege de ce 1984
nu va fi ca "1984". Şi într-adevăr, Machintosh a
fost scânteia unei revoluţii care avea să schimbe lumea.
Răspândirea calculatoarelor personale a adus o
adevărată frenezie a descentralizării. Ceea ce era, la urma
urmei, cât se poate de firesc având în vedere că erau definite ca
instrumente menite să sporească productivitatea individuală.
Câtă vreme munca era individuală totul era în regulă, dar când
se punea problema colaborării lucrurile se complicau. A fost nevoie de
legarea computerelor în reţele locale. Într-o primă fază, aceste
reţele vizau în principal partajarea unor resurse, în principal fişiere şi
imprimante, şi câteva servicii colaborative elementare printre care
poşta electronică.
Dar complicaţiile au continuat să apară. În
prima fază, PC-urile nu prea interferau cu marile calculatoare (chiar
dacă li se spunea "mini", tot mari erau), care continuau să ruleze
aplicaţiile vitale. O primă idee a fost ca PC-urile să preia
şi rolul vechilor terminale: era nevoie doar de un banal program care
să emuleze funcţionalitatea terminalului numit - nu fără o
notă de dispreţ - "prost". Dar apoi, pe măsură ce PC-urile
deveneau tot mai puternice, ideea de a dezvolta aplicaţiile vitale direct
pentru reţele de calculatoare personale a câştigat tot mai multă
popularitate.
La început a fost un program de administrare a bazelor de
date numit dBase, imitat de numeroase altele. Avantajul era că
aceste programe erau relativ simple şi permiteau şi dezvoltarea
interfeţei cu utilizatorul. Dezavantajul era că funcţionau în
regim de partajare a fişierelor (file sharing), ceea ce punea
probleme atunci când mai mulţi utilizator foloseau aceleaşi
fişiere - situaţie tipică pentru aplicaţii de
întreprindere. Astfel începe epopeea re-centralizării.
Prima fază a re-centralizării a vizat programele
de administrare a bazelor de date. Programele de gen dBase erau
potrivite pentru uz individual, dar când mai multe aplicaţii accesau
aceleaşi date, acestea erau transportate practic către staţiile
locale, aglomerând reţeaua. Serverele de baze de date
funcţionează altfel: aşteaptă de la aplicaţiile client
din reţea comenzi SQL pe care le procesează pe maşina pe care
rulează şi expediază către client doar rezultatele. Un
server de baze de date administrează centralizat datele şi
deserveşte aplicaţii diverse.
Acest prim model a căpătat denumirea de "client/server" şi se baza pe
o diviziune relativ simplă a muncii: serverul de baze de date se ocupa de
stocarea, actualizarea şi regăsirea datelor, în vreme ce programele
client se ocupau de logica aplicaţiei şi de interfaţa cu
utilizatorul (logica prezentării). Problemele însă nu s-au lăsat
aşteptate. O primă complicaţie viza modalităţile prin
care aplicaţiile client se conectau la serverele de baze de date. Evident,
fiecare producător încerca să-şi impună propriile
standarde, aşa că s-a născut o adevărată industrie a
softurilor de compatibilizare, numite generic middleware.
Mai gravă era însă cealaltă problemă.
Deoarece programele client cuprindeau logica aplicaţiei - deci implementau
"regulile afacerii" - exista riscul ca diverse aplicaţii să
implementeze diferit aceleaşi reguli. Existau trei variante de abordare a
acestei probleme. Prima era administrativă: se impuneau metodologii mai
stricte, care impuneau documentarea minuţioasă a acestor reguli,
astfel încât aplicaţiile să le implementeze consistent. O a doua
abordare viza implementarea regulilor afacerii la nivelul bazei de date, prin
intermediul aşa-numitelor proceduri stocate. Însă cea care s-a impus
a fost introducerea unui nivel intermediar între baza de date şi
aplicaţiile client, nivel care să implementeze unitar logica
aplicaţiei. Astfel, aplicaţiile client se ocupau doar de logica
prezentării, utilizând serviciile furnizate de serverul de aplicaţie.
Acesta, la rândul său, utiliza serviciile de administrare a datelor furnizate
de serverul de baze de date. Acest model a căpătat şi un nume,
care a fost multă vreme la modă: client/server multi-tier.
Esenţa este clară: tot ce este important se centralizează.
Însă în vremea aceasta s-a petrecut extraordinara
expansiune a Internetului şi mai ales a Web-ului. Pe lângă toate
beneficiile pe care ni le-a adus, această expansiune a avut însă un
efect tehnologic mai puţin vizibil, dar de o importanţă
imensă: impunerea unor standarde unanim acceptate. Ecuaţia elementară
a Internetului este simplă: să vezi Reţeaua şi să fii
văzut din Reţea, iar pentru asta trebuie să te aliniezi
standardelor. Aşa se face că TCP/IP, HTTP, HTML, CGI şi multe
altele au devenit universale. Fiind atât de răspândite, s-au creat
numeroase aplicaţii bazate pe acestea, preţurile au scăzut iar
în faţa presiunii, marii producători s-au aliniat. Aşa se face
că, de exemplu, s-a ajuns la situaţia că imensa majoritate a
reţelelor locale au adoptat protocolul TCP/IP.
Ideea a venit de la sine: dacă tot am o reţea
locală TCP/IP, de ce să nu folosesc aplicaţiile din Internet
şi în interiorul companiei? Rolul programelor open source a fost
extrem de important în această schimbare de paradigmă. Din clipa în
care Sendmail a pătruns în interiorul companiilor, sistemele
proprietare de poştă electronică s-au văzut condamnate la
dispariţie. În scurt timp toată mesageria electronică a adoptat
standardele Internetului.
Mai era doar un pas: Web-ul intern. N-a fost greu: serverul
HTTP numit Apache era deja un produs matur (şi gratuit!) iar ideea
era veche - la urma urmei, Web-ul a fost creat iniţial pentru a deservi o
instituţie (CERN). De aici, lucrurile evoluează simplu. Serverul de
Web devine nodul central al universului informaţional al întreprinderii,
deci un portal intern se impune. Aplicaţiile sunt la rândul lor
înghiţite de acest pol. Totul migrează spre tehnologiile web.
În faţa evidenţei, Larry Ellison -
preşedintele firmei Oracle şi unul dintre evangheliştii
modelului client/server - a fost pus în jenanta postură de a admite:
"modelul client/server a fost o greşeală". Însă industria
informatică pare să nu poată trăi fără cuvinte
magice, fără buzzwords, aşa că a fost imediat
inventat unul: intranet. Internetul dinăuntrul organizaţiei.
Şi povestea re-centralizării nu se termină
aici. Mai mult chiar, se pare că de-abia a început...