You are on page 1of 73

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

Tehnologii Web
Dr.SabinCorneliu Buraga
Facultatea deInformatica Universitatea A.I.Cuza Iasi,Romania

http://www.infoiasi.ro/~busaco/
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

Programare Web

Servere deaplicatii Web.Sesiuni deaplicatii Web.Sesiuni Arhitectura aplicatiilor Web

Detalii in[TX,269274] [CGI,5558][AW,4670] in[TX,269 [CGI,5558][AW,4670]


Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

Oriceintraretrebuieplatita.

Mihai Giugariu

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cuprins

Caracteristici comune aleserverelor deaplicatii Web Cookieuri &sesiuni Arhitectura unei aplicatii Web.Studii decaz
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii

Ofera,uzual,posibilitatea deaincludecod(script) directincadrul documentelor Web, codinvocat pe server


generarea decontinut dinamic pe partea deserver

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii

<%... %>pentru ASP/ASP.NET <%...%> pentru JSP(JavaServerPages) <?php ... ?> pentru PHP <%... %> pentru RubyonRails Maigeneral:<scriptlanguage="...">...</script>
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Maniera deincludere depinde deserverul deaplicatii Web:

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Limbaj(e)deprogramare APIul debaza Suport pentru baze dedate Suport pentru interactiunea Web Suport pentru cookieuri &sesiuni Suport pentru procesari XML Medii dedezvoltare Alte facilitati particulare
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Limbaj(e)deprogramare
VBScript&JScript (ASP) limbajele .NET(ASP.NET) ASP.NETeste independentdelimbaj, fiind partea.NETFramework Java(servleturi,JSP) Python(Zope) Ruby(RubyonRails) altele
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Limbaj(e)deprogramare
Strongtyped vs. weaktyped (ASP.NET/JSPvs. ASP/PHP) Utilizare despatii denume si instante declase Raportare deerori (ASP,PHP4)vs. exceptii (ASP.NET,JSP,PHP5) Pur obiectuale (ASP.NET,JSP)sau nu(PHP) Potfi dinamice (e.g.,Python,Ruby) Interpretate sau compilate (decele mai multe ori, seprefera generarea decodintermediar: IL IntermediateLanguage)
http://www.infoiasi.ro/~busaco/

Dr.SabinBuraga

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Platforme Web (Statistica SitePoint 2006/2007)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
APIul debaza
Utilizarea puteriilimbajului si frameworkului (functii/clase predefinite) securitate,consistenta, acces laresursele mediului deoperare, migrare facila delaaplicatii clasice lacele Web Poate asigura si independenta deplatforma

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati

APIul debaza
PHPBuiltinfunctions vs. ASP.NETCLR(CommonLanguageRuntime)/JSP Functionalitatile incluse inAPIul debaza nunecesita recompilarea serverului deaplicatii

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati

Suport pentru baze dedate


ADO.NET /LINQ pentru ASP.NET JDBC(JavaDataBase Connectivity)pentru JSP Functii PHPpredefinite pentru opleiada deRDBMS, viabiblioteci incorporate(SQLite si mysqli inPHP5) sau extensii;sepoate utiliza si interfata ODBC

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati

Suport pentru baze dedate


Legareadatelor deprogram(databinding) realizata automat(ASP.NET)sau manual(PHP) Sepotfolosi frameworkuri aditionale (e.g.,Hibernate Java)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Suport pentru interactiunea Web
Controale Webdisponibile pe server, fieemulind cimpurile dinformularele (X)HTML, fieoferind controale noi (e.g.,calendar) generarea decodHTML(+JavaScript) infunctie declient
ASP.NET(<asp:control>),PHP5viaPRADO similar,pentru platforma Java(e.g.,JavaServer Faces)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati

Suport pentru interactiunea Web


Procesarea evenimentelor provenind delaclient (ASP.NET) eventdrivenWebapplications Transferuri asincrone prin AJAX (eventual,viamodule/clase aditionale)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Suport pentru procesari XML

Procesari prin DOM Procesari prin SAX Procesari viaointerfata simplificata (ASP.NET,PHP5) Alte tipuri deprocesari e.g.,XPP(Java) Transformari XSL Validare (DTD,XMLSchema,) Suport pentru invocare/dezvoltare deservicii Web XMLdatabinding (ASP.NET,JSP)
http://www.infoiasi.ro/~busaco/

Dr.SabinBuraga

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Medii dedezvoltare

Unele,foarte sofisticate Comerciale (VisualStudio.NET,Zend,...) Deevaluare,educationale ori gratuite (e.g.,Eclipse,VisualWebDeveloperExpress) Depanatoare,optimizatoare decod (e.g.,Zend Optimizer),profilers si altele Facilitati pentru dezvoltatorii deservicii Web Clase/componente/biblioteci aditionale (comerciale ori gratuite)
http://www.infoiasi.ro/~busaco/

Dr.SabinBuraga

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Medii dedezvoltare (Statistica SitePoint 2006/2007)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Suport acordat inginerilor software
Aplicatii Ntier Seincurajeaza folosirea sabloanelor deproiectare (designpatterns):Container, MVC(ModelViewController),Proxy, ConfigurationParameters, InvocationContext, Unitati detestare automata cadrul generaldat de XUnit (JUnit,PHPUnit,NUnit,...)
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati

Suport acordat inginerilor software


Generarea automatadedocumentatii, indiverseformate Suport pentru sourcecontrol codereview,versioning(CVS,Subversion,) Potfolosi oparadigma (e.g.,agileprogramming)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Altele
Dezvoltarea deaplicatii Webcomplexe descrierea atributelor unei pagini/sit (limbaj,import,sesiuni,tratare deevenimente, tipdecontinut,...) modul deautentificare tema vizuala (skin) sabloane devizualizare (templateuri)etc. <%@directiva ...%> (ASP.NET,JSP)
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati

Altele
Aplicatiile Webpotfolosi containere decomponente Suport pentru arhitecturi/platforme avansate detipenterprise e.g., SOA,workflowuri,Grid

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

servere deaplicatii:facilitati
Tendinte conformGoogleTrends februarie 2008

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Mecanism standardcarepermite caunserverWeb sa trimita anumite informatii pe calculatorul unui client(utilizator),prin intermediul browserului, sa ceara clientului sa stocheze aceste informatii pentru ca,ulterior,navigatorul sa returneze informatiile spre serverul WWW

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri

Mijloc persistentdestocare adatelor pe masina clientului Webcuscopul deafi accesate ulterior depe server

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:utilizari

Memorarea preferintelor utilizatorilor Completarea automata aformularelor Stocareainformatiilordeautentificare Tranzactiiincadrul comertului electronic Managementul sesiunilor Web si multe altele
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:tipuri

Cookieuri persistente
nuvor fidistruse lainchiderea navigatorului, civor fimemorate intrun fisier,perioadalor de viata fiindstabilita decreatorul cookieurilor

Cookieuri nepersistente
dispar lainchiderea browserului
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Uncookie consta dintroperechenume=valoare Valoareaeste unsirdecaracterecodificat inmanieraURLurilor Datelereferitoarelauncookie vorfireceptionate denavigator carementineolista decookieuri apartinind serveruluicareleatrimis Uncookie este trimisunuiclientincluzind cimpulantet Set-Cookie intrun raspuns HTTP
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Set-Cookie: nume=valoare; expires=data; path=cale; domain=domeniu; secure

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Set-Cookie: nume=valoare; expires=data; path=cale; domain=domeniu; secure
expires indica datasitimpulcind cookieul vaexpirasivafisters depedisc

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Set-Cookie: nume=valoare; expires=data; path=cale; domain=domeniu; secure
domain desemneaza numelesimbolicalserverului careageneratcookieul

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Set-Cookie: nume=valoare; expires=data; path=cale; domain=domeniu; secure
path specificaunsubsetdeURLuri dindomeniulcorespunzatorunuicookie

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Set-Cookie: nume=valoare; expires=data; path=cale; domain=domeniu; secure
secure indica faptul caacest cookie este transmis doar daca tranzactia este sigura (viaHTTPS)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Un cookie etransmisdoardaca intrunestetoateconditiile devaliditate sepotrivescdomeniul,caleadedirectoare, timpuldeexpiraresisecuritateacanalului decomunicatie Serverulvaprimidelaclient, inantetulHTTP,oliniedeforma: Cookie: nume1=valoare1; nume2=valoare2...
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Invocarea scriptului conducelareturnarea unei reprezentari +setarea decookieuri
cerere HTTP invocare script

Client Web

Script

rspuns HTTP Set-Cookie: culoare=verde


Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Server Web

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Cookieurile persistente sau nu sunt memorate lanivel debrowser
culoare= verde

Client Web

Script

Server Web

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri
Urmatorul acces lascript sefacecutransmiterea cookieurilor spre server
conformconditiilor devaliditate
cerere HTTP Cookie: culoare=verde Script

Client Web

rspuns HTTP

Server Web

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:stocare
Stocarea cookieurilor persistente:
Netscape/Mozilla(fisierul cookies sau cookies.txt)
domeniu acces cale securitate expirare nume valoare localhost FALSE / FALSE 966862979 culoare verde localhost FALSE / FALSE 966782841 alta_culoare albastra .uaic.ro FALSE /doc FALSE 969367226 accesari 3

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:stocare
Stocarea cookieurilor persistente:
InternetExplorer fisiere denumite nume@adresa.txt
sabin@www.elsevier.txt AnEFromrel_client www.elsevier.com/ 0 3415826816 29364629 4113724112 29364628 *
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:creare
Pentru CGI(bash): #!/bin/bash echo "Set-Cookie: culoare=verde; path=/; expires=Mon, 06-May-2008 07:33:00 GMT" ...

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:creare
Cazul PHP functia setcookie() <?php setcookie ("alta_culoare", "albastra"); echo "Un cookie de culoarea " . $_COOKIE["alta_culoare"]; ?>

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:expirare
Seanuleaza valoarea si timpul,eventualresetinduse si celelalte atribute alecookieului Exemplu pentru PHP: <?php setcookie ($nume_cookie, "", 0, "/", "", 0); ?>
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:consultare

Cookieurile seregasesc invariabilaantet HTTP_COOKIE


Pentru PHP cookieul este vazut caovariabila: $_COOKIE['nume_cookie']

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:consultare
Exemplu pentru CGI(Perl)
@cookieuri = split(/;/, $ENV{'HTTP_COOKIE'}); foreach $pereche (@cookieuri) { ($nume, $val) = split(/=/, $pereche); $cookie{$nume} = $val; } $fundal = $cookie{'alta_culoare'};
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

cookieuri:manipulare
ASP.NET proprietatea Cookies acolectiei HttpCookieCollection (vezi HttpRequest si HttpResponse dinSystem.Web) HttpCookie vizita = new HttpCookie ("ultima_vizita"); DateTime timp_curent = DateTime.Now; vizita.Value = timp_curent.ToString (); vizita.Expires = timp_curent.AddHours (24); // expira peste 1 zi Response.Cookies.Add (vizita);
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

sesiuni

HTTPeste unprotocolstateless, neputind oferi informatii daca anumite cereri succesive provin delaacelasi client (eventual,delaaceeasi instanta anavigatorului)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

sesiuni
Apare necesitatea deaprezerva anumite date dealungul mai multor accesari inrudite
Exemple: starea cosului decumparaturi, formulare Webcompletate inmai multipasi, paginarea continutului, starea autentificarii etc.
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

sesiuni

Orice vizitator alsitului va avea asociat unidentificator unic sessionID(SID)


Stocat intruncookieori propagat viaURL

Unei sesiuni i sepotasocia diversevariabile sa fiementinute intre accesari consecutive


Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

sesiuni

Osesiune sepoate inregistra (initia) implicitsau explicit,infunctie deserverul deaplicatii ori deconfiguratia stabilita
Unele servere deaplicatii garanteaza integritatea sesiunii si dupa orestartare (aserverului sau aaplicatiei)
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

sesiuni:programare
PHP functiile session_start(),session_register(), session_id(), session_unregister(),session_destroy()
<?php session_start(); if (!isset($_SESSION['accesari'])) { $_SESSION['accesari'] = 0; } else { $_SESSION['accesari']++; } ?>
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

sesiuni:programare

ASP.NET vezi HttpSession (System.Web)


Ofera suport si pentru evenimente desesiune Exemplu: nume = Session["Nume"].ToString ();

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

intrebare

Careeste arhitectura unei aplicatii Web?

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

arhitectura aplicatiilor web

Uzual,implica trei strate (3tierapplication)

Internet (Web)

Client
Dr.SabinBuraga

Serverdeaplicatii
http://www.infoiasi.ro/~busaco/

Stocare

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

arhitectura aplicatiilor web


Fruit/Presentation Cream/Markup

Custard/PageLogic

Jelly/BusinessLogic

Sponge/Database

C.Henderson,ScalableWebArchitectures,Web2.0Expo,2007:iamcal.com/talks/ C.Henderson,ScalableWebArchitectures,Web2.0Expo,2007:iamcal.com/talks/
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

arhitectura aplicatiilor web


Fruit/Presentation Cream/Markup

Custard/PageLogic

Jelly/BusinessLogic

Sponge/Database

C.Henderson,ScalableWebArchitectures,Web2.0Expo,2007:iamcal.com/talks/ C.Henderson,ScalableWebArchitectures,Web2.0Expo,2007:iamcal.com/talks/
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:flickr

Scop: partajarea online afotografiilor


bazata pe retele sociale agregare decomunitati suport pentru adnotari (tagging)

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:flickr

Interactiune facila cuutilizatorul Interactiune cualte aplicatii (viaAPIuri deschise) Unicode


internationalization (I18n)&localization (L10n)
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:flickr
Internet(Web)

Servere Web

Servere de stocare

Servere de baze dedate

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:flickr
Tehnologii:
PHP (procesare applicationlogic,acces laAPI, sabloane deafisare viaSmarty,modul deemail) Perl (validarea datelor) Java (managementul nodurilor destocare) MySQL (stocare informatInnoDB) ImageMagick (prelucrare deimagini) AJAX (interactiune asincrona) Linux(platforma derulare) Volum:~60000linii decodpropriuzis (in2006)
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:flickr

APIuri vezi www.flickr.com/services/api/


.NET Perl PHP Python ActionScript etc.
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:flickr

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:wikimedia

Scop: suita deaplicatii Webcolaborative oferind continut deschis


alaturi deWikipedia,exista Wiktionary,Wikinews, Wikibooks,Wikiquote,Wikisource, Wikiversity,Wikispecies,Wikimedia
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:wikimedia

Continutul este distribuit prin intermediul CDN ContentDistributedNetwork


sistem decaching Webpermitind echilibrarea incarcarii (loadbalancing)pe baza decriterii geografice caching avansat pe niveluri alcontinutului preponderent static
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:wikimedia
Tehnologii:
MediaWiki (sistemul wiki utilizat pentru toate serviciile) PHP (platforma pe careruleaza MediaWiki) MySQL (solutia principala destocare) ImageMagick,DjVu, TeX,rsvg,ploticus etc. (pentru continuturi grafice inMediaWiki) Lucene (indexare textuala,facilitind cautarea) Linux(platforma derulare)
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiudecaz|wikimedia

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:wikimedia
Datele persistente sestocheaza in3forme:
Metadate(categorii dearticole,legaturi cualtele, istoricul reviziilor)+conturi deutilizatori +setari stocate inbazele dedateprincipale (coreDBs) Textul aflat subrevizia utilizatorilor este stocat incimpuri blob inexternalstorage Fisierele statice (imagini)sememoreaza separat pe imageserver; metadatele acestora sint stocate incoreDBs CoreDBssint replicate
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

studiu decaz:wikimedia

APIuri bazate pe HTTPpentru comunicarea dintre serverele destocare media si serverele deaplicatii
Operatii:store,publish,delete,generatethumbnail

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

rezumat
Programare Weblanivel deserver
Caracteristici comune aleserverelor deaplicatii Web Cookieuri &sesiuni Studii decaz

Dr.SabinBuraga

http://www.infoiasi.ro/~busaco/

Tehnologii Web

<?xmlversion=1.0?> <cursdesc=/>

?
Dr.SabinBuraga http://www.infoiasi.ro/~busaco/

You might also like