descentralizarea în sistemele distribuite, o abordare informală
duminică, 1 apr. 2012, 20:52
Voi începe ca de obicei prin a explica toți termenii din titlu care sunt legați direct de subiect, pentru a nu da impresia profund greșită că am înșirat cuvinte doar de dragul de a face tech blabber. Termenii la care mă refer sunt „descentralizare” și „sistem distribuit”, și voi începe cu cel din urmă pentru a-l putea explica apoi pe cel dintâi.
Sistemul distribuit este abstractizarea la nivel (formal) computațional a rețelei de calculatoare. Într-un sens mai larg, orice entitate formată din subentități abstracte care execută calcule spre rezolvarea unei probleme – care problemă e cea definită prin entitatea-mamă, abordarea fiind astfel una top-down – este un sistem distribuit. În acest sens mai larg mai multe procesoare sau core-uri, elemente periferice și una sau mai multe magistrale care le interconectează pe toate acestea formează un sistem distribuit pe care noi îl numim calculator.
Tanenbaum și Van Steen definesc sistemul distribuit ca pe un sistem software care face ca mai multe calculatoare să apară pentru utilizator drept o entitate singulară, aceasta fiind o definiție care are mai mult sens în contextul ingineriei calculatoarelor. Astfel Internetul e un mare sistem distribuit, Twitter e un altul, World of Warcraft e la rândul său un sistem distribuit și așa mai departe. Definiția e foarte generală, astfel că în particular are sens să ne întrebăm cum sunt organizate unitățile de calcul dintr-un astfel de sistem, ce protocoale folosesc ele pentru a comunica, care model e mai potrivit în ce situație și așa mai departe, cu toate astea ocupându-se domeniul sistemelor distribuite. (mai mult…)
web-ul, platformă socială
duminică, 13 mart. 2011, 23:00
Este destul de cert faptul că World Wide Web-ul a încetat de mult timp să fie grămada banală de ancore scoasă la iveală de Tim Berners-Lee acum douăzeci de ani. Plecând de acolo, continuând cu paginile hidoase de pe Geocities (sau Neogen, dacă tot suntem aici) și apoi cu plugin-urile ActiveX, applet-urile Java și mai apoi cu Flash, web-ul a devenit, la baza lui, o colecție banală de ancore îmbogățită cu o colecție banală de plugin-uri, iar apoi cu o colecție banală de script-uri server-side [i] și mai apoi cu o colecție banală de script-uri pe partea clientului, adică ceea ce cunoaștem astăzi sub numele de Ajax.
Utilizatorul web (și nu numai) este însă interesat de ceea ce se întâmplă la nivelurile superioare. Dacă mergem un pic mai sus, ne lovim de modele pentru servicii distribuite cum e WSDL, sau și mai interesant, de modele semantice [ii] cum sunt de exemplu RDF și OWL. Totuși, nici acestea nu au vreo relevanță pentru utilizatorii WWW, astfel că cu un nivel mai sus se află Web 2.0 și Web 3.0, care sunt descrieri destul de vagi ale felului în care arată sau va arăta „noul web”. (mai mult…)
- Întâi CGI, mai târziu PHP, Python, Ruby și așa mai departe. E greu să mai găsești un limbaj modern de nivel înalt care să nu ofere facilități pentru web. [↩]
- Impropriu denumite limbaje de descriere a ontologiilor. Impropriu deoarece îi fac pe filosofi să-și smulgă firele din cap unul câte unul. [↩]