Calitatea aplicaiilor web - influenat semnificativ de arhitectura acestora
<Performana sczut, ntreinerea i etinderea insuficient i slaba disponibilitate a unei aplicaii web constr!n"erile tehnice - disponibilitatea serverelor web # serverele de aplicaii utilizate sau inte"rarea sistemelor de motenire # arhitecturile aplicaiilor web trebuie s ia n considerare i cadrul de lucru or"anizaional $eperiena arhitecilor% Calitatea unei aplicaii web este influenat semnificativ de arhitectura sa& Aspectele arhitecturale incomplete sau omise fac dificil ndeplinirea cerinelor privind calitatea aplicaiilor web& Performana sczut, ntreinerea i etinderea insuficient i slaba disponibilitate a unei aplicaii web sunt deseori cauzate de o arhitectur neadecvat& Pe l!n" constr!n"erile tehnice $precum disponibilitatea serverelor web, serverele de aplicaii utilizate sau inte"rarea sistemelor motenite%, trebuie s se ia n considerare i cadrul de lucru or"anizaional n care arhitecturile sunt incluse $de eemplu eperiena arhitecilor%& 'tilizarea unor arhitecturi multi-strat fleibile, considerarea coninutului multimedia i inte"rarea depozitelor de date i aplicaiilor eistente reprezint provocrile pentru dezvoltarea unor arhitecturi de succes pentru aplicaiile web& (om discuta n continuare proprietile "enerale ale arhitecturilor, influena cunotinelor arhitecturale eistente sub forma abloanelor i cadrelor de lucru asupra calitii aplicaiilor web i arhitecturile reprezentative pentru aplicaii web mpreun cu componentele necesare construirii acestora& Pe parcursul dezvoltrii aplicaiilor web trebuie luate n considerare un numr mare de cerine i constr!n"eri, ncep!nd cu cerinele funcionale $e& comenzile de produse online% i cele de calitate $e& performana i disponibilitatea% i p!n la inte"rarea sistemelor software eistente $aa numitele sisteme motenite% sau a depozitelor de date eistente pe care aplicaia web ar trebui s le citeasc& )n mod normal, aplicaiile web nu sunt dezvoltate *din nimic+ n ceea ce privete infrastructura tehnic, deseori trebuie etins sau adaptat o infrastructur eistent& Pe l!n" constr!n"erile pur tehnice, putem identifica alte aspecte, precum viabilitatea economic a unei infrastructuri tehnice& Componentele arhitecturii aplicaiilor web )n -i"ura .&/ sunt reprezentate componentele de baz ale arhitecturilor web i relaiile dintre ele& Comunicarea dintre aceste componente se bazeaz n "eneral pe principiul cerere-rspuns0 o component $e& un browser web% trimite o cerere ctre o alt component $e& un server web% i rspunsul la aceast cerere este trimis napoi pe acelai canal de comunicare $comunicare sincron%& Componentele frecvent implicate n comunicare sunt0 - client0 n "eneral un browser $a"ent utilizator% este controlat de ctre un utilizator care folosete aplicaia web& -uncionalitatea clientului poate fi etins prin instalarea plu"-in-urilor i applet- urilor& - firewall0 un software care re"lementeaz comunicarea ntre reele nesecurizate $eemplu 1nternet% i reele securizate $eemplu reele locale ale unei companii%& Aceast comunicare este filtrat prin re"uli de acces& - pro20 un pro2 este utilizat pentru a stoca temporar pa"inile web ntr-un cache, pentru a adapta coninutul pentru utilizatori $personalizare% sau pentru a urmri utilizatorii& - server web0 un software care suport diferite protocoale web $eemplu 344P i 344P5% pentru a procesa cererile clientului& - server de baze de date0 prezint datele de producie ale unei or"anizaii ntr-o form structurat $eemplu0 n tabele% -i"ura .&/ Componentele de baz ale arhitecturilor unei aplicaii web Arhitecturile stratificate 6%Arhitecturi pe 7 straturi Arhitecturile pe 7 straturi permit or"anizarea unei aplicaii web pe un numr arbitrar de nivele $vezi fi"ura .&.%& Acestea constau de obicei n trei straturi0 stratul datelor, care ofer acces la datele aplicaiei, stratul afacerii 8 care "zduiete lo"ica de afaceri a aplicaiei ntr-un server de aplicaii i stratul prezentare 8 care returneaz rezultatul cererii n formatul de ieire dorit& )n plus, pot fi inte"rate n fluul cerere-rspuns mecanisme de securitate cum ar fi firewall-urile sau mecanisme de cachin" $pro2%& Arhitecturile pe dou straturi i 7 straturi difer n principal prin modul n care ncorporeaz serviciile n componenta server a aplicaiei& 5ervicii precum personalizarea sau fluul de date sunt pstrate n serverul aplicaiei, astfel nc!t s fie disponibile pentru toate aplicaiile web& 5erviciile sunt ncorporate n serverul de aplicaii cu o interfa definit, care poate fi utilizat i pentru a administra aceste servicii& 'n eemplu pentru aceste funcionaliti este serverul de aplicaii 9eb5phere, mpreun cu componentele afacerii 9eb5phere& Conectorii pot fi utilizai pentru a inte"ra sistemele eterne $e& sisteme partener de afaceri% sau pentru a inte"ra aplicaii motenite i sisteme informaionale ale companiilor& :a;oritatea serverelor de aplicaii comerciale au fost optimizate pentru procesarea coninutului bazelor de date, suportul pentru coninutul multimedia i structurile hipertet fiind ne"li;at& 'n eemplu de inte"rare a datelor video ntr-un server de aplicaii este disponibil la http0<<www&ibm&com<software<data<informi<blades<video<& Client =rowser Plu"-in-uri Applet-uri Aplicaii eterne Firewall Proxy 5erver de baze de date 5erver de aplicaie 5erver media 5erver de mana"ement al coninutului Aplicaii motenite Server web Fiiere HTM! "M! "S Container C>1 5ervlet Componentele arhitecturii web Componente opionale ale arhitecturilor web Ciclu Cerere#$%spuns -i"ura .&. ? arhitectur pe 7 straturi pentru aplicaiile web /% pro2-uri de le"turi0 sunt de cel puin dou tipuri& -sistemele de tipul '@A-urilor persistente $P'@As- Persistent '@As% utilizeaz componente de tip pro2 - server intermediar pentru a trimite cererile de '@A-uri ale clientului ctre serverul real - utilizate pentru a adapta i formata le"turile i coninutul pentru utilizatori B pro2-uri de istoric - pot fi utilizate pentru a administra istoricul pa"inilor vizitate de utilizator - 5erverul =oomeran" de pe CoubleClicD Proxy&uri 1niial pro2-urile erau folosite pentru a salva limea de band, din acest motiv fiind numite i pro2-uri de cachin"E6F& Pro2-urile sunt capabile s ndeplineasc i alte funcii0 - pro2-uri de le"turi0 sunt de cel puin dou tipuri& )n primul r!nd, sistemele de tipul '@A- urilor persistente $P'@As- Persistent '@AsE/F% utilizeaz componente de tip pro2& :ai eact, un pro2 este utilizat ca un server intermediar pentru a trimite cererile de '@A-uri ale clientului ctre serverul real& Cac numele sau locaia resursei solicitate se schimb, atunci adresa sa $'@A% trebuie schimbat doar intern $clientul nu trebuie s tie acest lucru%& ? astfel de schimbare necesit un tabel de mapare ntre '@A-ul solicitat i cel *real+, acesta fiind "estionat de ctre pro2& )n al doilea r!nd, pro2-urile sunt utilizate pentru a adapta i formata le"turile i Client -irewall Pro2 5erver web 5erver de aplicaii Acces date Colaborare Ao"istica afacerii 7ivelul afacere -lu de date Personalizare etc& Conectori =acDend Aplicaii de motenire 5istem informaional al companiei 7ivelul prezentare 5erver de baze de date =/= 7ivelul datelor coninutul pentru utilizatori& ? metod folosit n acest concept este inserarea dinamic a le"turilor care se potrivesc intereselor unui utilizator, prin aceasta pa"inile 34:A fiind analizate de pro2 i modificate pentru a se potrivi profilului utilizatorului& 'tilizatorul va fi informat la sf!ritul documentului n privina schimbrii resursei transmise& - pro2-uri de istoric0 multe aplicaii web ncearc s-i adapteze funcionalitile cerinelor utilizatorilor& Problema care apare este c 344P-ul este un protocol simplu, care nu ofer informaii despre istoricul navi"rii unui utilizator pe mai multe situri& Ce eemplu, dac un utilizator planific o vacan i rezerv un zbor, un hotel i o main de nchiriat pe internet, atunci v!nztorul de bilet de avion nu tie c utilizatorul a rezervat o camer la hotel i o main de nchiriat& Cac compania aerian ar cunoate aceste informaii, atunci camera de hotel i maina rezervate ar putea fi anulate dac utilizatorul contramandeaz zborul& ? problem similar apare i n domeniul marDetin"ului direct, n care, cu c!t se cunosc mai multe detalii despre interesele utilizatorului, cu at!t publicitatea va fi mai orientat pe consumator& Pro2-urile pot fi utilizate pentru a administra istoricul pa"inilor vizitate de utilizator, prin atribuirea unui 1C unic pentru un utilizator i stocarea acestui 1C utiliz!nd tehnolo"ia cooDie& )n aceast situaie, dac utilizatorul viziteaz situl web al unei alte companii conectate la acelai pro2, atunci informaiile despre acest utilizator pot fi etrase, permi!nd identificarea unui utilizator unic& 5erverul =oomeran" de pe CoubleClicD $http0<<www&doubleclicD&com% utilizeaz acest concept pentru marDetin"ul direct Arhitecturi 'e inte(rare 5istemele interne sau eterne 8 aplicaiile i bazele de date eistente, interfeele ctre partenerii de afaceri eterni - pot fi inte"rate n aplicaiile web pe trei nivele0 nivelul prezentare, nivelul lo"ic al aplicaiei i nivelul coninutului Arhitecturile de inte"rare - se adreseaz aspectelor de inte"rare la nivelul coninut i nivelul lo"ic al aplicaiei i sunt cunoscute sub numele de arhitecturi GA1 $Gnterprise Application 1nte"ration%& Arhitecturi 'e inte(rare 5istemele interne sau eterne 8 aplicaiile i bazele de date eistente, interfeele ctre partenerii de afaceri eterni - pot fi inte"rate n aplicaiile web pe trei nivele0 nivelul prezentare, nivelul lo"ic al aplicaiei i nivelul coninutului& Arhitecturile de inte"rare se adreseaz aspectelor de inte"rare la nivelul coninut i nivelul lo"ic al aplicaiei i sunt cunoscute sub numele de arhitecturi GA1 $Gnterprise Application 1nte"ration%& )n esen, GA1 se focalizeaz pe inte"rarea sistemelor motenite& ? alternativ la GA1 sunt serviciile web, care ofer inte"rarea serviciilor $lo"ica aplicaiei i coninutul%& Aa nivelul prezentare, un set de sisteme diferite este inte"rat tipic prin utilizarea arhitecturilor portal& Portalurile reprezint cele mai recente dezvoltri ale aplicaiilor web multi-stratificate& Cu a;utorul portalurilor coninutul, care este distribuit pe mai multe noduri ale diverilor furnizori de servicii, va fi disponibil dintr-un sin"ur nod, oferind un aspect consistent& )n fi"ura .&H este schematizat arhitectura de baz a unui server portal& 5erverele portal se bazeaz pe portlet-uri, care aran;eaz coninutul i lo"ica aplicaiei ntr-o structura de navi"are i un la2out adecvate portalului& 'n eemplu de server portal este proiectul open- source Iet5peed -i"ura .&H Gemplu de arhitectur a unei aplicaii web orientat pe portal Arhitecturi )n funcie 'e aspectul 'atelor - date structurate de tipul celor aflate n bazele de date, - documente de tipul celor utilizate n sistemele de mana"ement al documentelor, - date multimedia de tipul celor incluse pe serverele media Arhitecturi aate pe baze de date - accesate fie direct prin intermediul etensiilor serverului web $n cazul arhitecturilor pe dou straturi% fie prin serverele de aplicaii $n cazul arhitecturilor pe 7 straturi% Arhitecturi pentru mana"ementul documentelor web - ofer posibilitatea inte"rrii documentelor din surse diferite, reprezent!nd un mecanism pentru inte"rarea acestora n aplicaiile web Arhitecturi )n funcie 'e aspectul 'atelor Catele pot fi "rupate n una din urmtoarele cate"orii arhitecturale0 $6% date structurate, de tipul celor aflate n bazele de date, $/% documente de tipul celor utilizate n sistemele de mana"ement al documentelor, $J% date multimedia de tipul celor incluse pe serverele media& Aplicaiile web nu sunt limitate la una din aceste cate"orii de date, ele inte"reaz documente, media i baze de date& Arhitecturi aate pe baze de date 5unt disponibile numeroase utilitare i abordri pentru inte"rarea bazelor de date n aplicaiile web& Aceste baze de date sunt accesate fie direct prin intermediul etensiilor serverului web $n cazul arhitecturilor pe dou straturi%, fie prin serverele de aplicaii $n cazul arhitecturilor pe 7 straturi%& Pentru accesul la bazele de date relaionale sunt disponibile interfee $AP1s% pentru diferite platforme $Iava Catabase Connectivit2 -IC=C pentru aplicaii bazate pe Iava sau ?pen Catabase Connectivit2 -?C=C pentru tehnolo"ii :icrosoft%& Arhitecturi pentru mana"ementul documentelor web 5erver web Client A"re"are Portlet 6 Portlet n 5erviciu web 6 5erviciu web n Coninut Coninut Pe l!n" datele structurate din bazele de date i cele multimedia de pe serverele media, coninutul aplicaiilor web este frecvent procesat sub forma documentelor& Arhitecturile de mana"ement al coninutului ofer posibilitatea inte"rrii documentelor din surse diferite, reprezent!nd un mecanism pentru inte"rarea acestor coninuturi n aplicaiile web& -i"ura .&6K Arhitectur de mana"ement a coninutului pentru aplicaiile web -i"ura .&6K reprezint componentele unei arhitecturi de mana"ement al coninutului& 'n server web recepioneaz o cerere de la client i o trimite mai departe unui server de furnizare a coninutului $responsabil pentru distribuirea i eventual cachin"-ul coninutului%& Cac coninutul solicitat nu este n cache atunci cererea este trimis mai departe ctre serverul de mana"ement al coninutului& Coninutul poate fi disponibil direct pe acel server $n form static ca un document sau ntr-o baz de date% sau poate fi accesat etern& )n funcie de tipul de inte"rare coninutul etern poate fi etras fie prin accesarea bazelor de date eterne $direct sau prin utilizarea unui serviciu de a"re"are% fie dintr-un serviciu de mediatizare& 5pre deosebire de accesarea unei baze de date, serviciile de mediatizare pot avea i funcionaliti suplimentare $eemplu facturarea automat a drepturilor de licen%& Arhitecturi pentru 'atele multime'ia Capacitatea de a manipula un volum mare de date are un rol decisiv n proiectarea sistemelor care utilizeaz coninut multimedia& Cei volumul de date nu este important n aplicaiile web Client 5istem de furnizare a coninutului 5erver web 5erver de furnizare a coninutului 5erviciu sindicat Partener Gditor 5erviciu Cispatch Cocumente statice =aze de date pentru coninut 5erviciu de a"re"are =aze de date eterne 5erver de mana"ement al coninutului aate pe baze de date, acesta influeneaz considerabil arhitectura i proiectarea aplicaiilor web multimedia& Catele multimedia 8 audio i video- pot fi transmise prin intermediul protocoalelor internet standard $344P sau -4P%, asemenea altor date folosite n aplicaiile web& Aceast abordare este utilizat de un numr mare de aplicaii web, deoarece prezint avanta;ul c nu necesit componente suplimentare pe server, dezavanta;ul este c descrcrile de fiiere multimedia sunt foarte lente& 5e pot utiliza tehnolo"ii streaming pentru a minimiza perioada de ateptare pentru redarea coninutului multimedia, prin streaming n acest contet se nele"e c un client poate reda un fiier audio i<sau video la c!teva secunde dup ce ncepe recepionarea acestuia de pe server& Aceast tehnic evit descrcarea ntre"ului fiier nainte de a ncepe redarea lui& Coninutul trebuie transmis n timp real, ceea ce necesit o lime de band corespunztoare $"arantarea limii de band a transmisiei este numit calitatea serviciului%& )n "eneral sunt folosite dou protocoale pentru streamin"-ul de coninut multimedia0 un protocol preia transmisia datelor multimedia la nivelul reea, iar cellalt controleaz fluul prezentrii $eemplu pornirea i oprirea unui clip video% i transmisia meta-datelor& 'n eemplu de protocol de reea este @4P $@eal 4ime Protocol% care coopereaz cu un protocol de control numit @45P $@eal 4ime 5treamin" Protocol%& Gist dou domenii distincte de aplicaii pentru streamin"-ul datelor multimedia0 primul face disponibil la cerere coninutul eistent $e& video la cerere%, iar al doilea distribuie live coninutul unui numr mare de utilizatori $e& web castin"%& -iecare din aceste dou cazuri de utilizare formuleaz cereri total diferite la nivelul reelei i arhitecturilor hardware i software& Cei fiecare utilizator stabilete propria sa coneiune la server ntr-un scenariu la cerere $vezi fi"ura .&6/% cauz!nd probleme ma;ore de lime de band i ncrcare pe server, broadcastin"-ul realizeaz cereri foarte mari la nivelul reelei& )n mod ideal, un server utilizat pentru broadcastin" ar trebui s administreze un sin"ur stream media, care este difuzat simultan ctre toi utilizatorii de ctre infrastructura reelei $de eemplu de router-e%, ca n fi"ura .&6J& Ceoarece multicastin"- ul nu este suportat n "eneral n 1nternet, serverul trebuie s foloseasc coneiuni punct-la-punct pentru a *simula+ funcionalitatea broadcast& Gist dou domenii distincte de aplicaii pentru streamin"-ul datelor multimedia0 primul face disponibil la cerere coninutul eistent $e& video la cerere%, iar al doilea distribuie live coninutul unui numr mare de utilizatori $e& web castin"%& -iecare din aceste dou cazuri de utilizare formuleaz cereri total diferite la nivelul reelei i arhitecturilor hardware i software& Cei fiecare utilizator stabilete propria sa coneiune la server ntr-un scenariu la cerere $vezi fi"ura .&6/% cauz!nd probleme ma;ore de lime de band i ncrcare pe server, broadcastin"-ul realizeaz cereri foarte mari la nivelul reelei& )n mod ideal, un server utilizat pentru broadcastin" ar trebui s administreze un sin"ur stream media, care este difuzat simultan ctre toi utilizatorii de ctre infrastructura reelei $de eemplu de router-e%, ca n fi"ura .&6J& Ceoarece multicastin"- ul nu este suportat n "eneral n 1nternet, serverul trebuie s foloseasc coneiuni punct-la-punct pentru a *simula+ funcionalitatea broadcast& Tehnolo(ii web client&si'e CSS CSS Cascadin" 5t2le 5heets - etichete folosite pentru formatarea pa"inilor web $formatare tet, bacD"round sau aran;are in pa"ina% formatarea este introdusa intr-un sin"ur loc pentru tot documentul editarea rapida a etichetelor datorita introducerii intr-un sin"ur loc a etichetelor se obtine o micsorare a codului pa"inii, implicit incarcarea mai rapida a acesteia Sintaxa CSS nivelul 6 - proprietatile etichetelor din documentul 34:A, tip inline nivelul / - informatia introdusa in blocul 3GAC, tip embedded nivelul J - comenzile aflate in pa"ini separate, tip eterne 5intaa C55 nivelul 6 - proprietatile etichetelor din documentul 34:A, tip inline <eticheta style="codul CSS dorit"> ...textul sau obiectul asupra caruia este aplicat codul CSS... </eticheta> <p style="color: #!!!!"">#ext rosu</p> nivelul / - informatia introdusa in blocul 3GAC, tip embedded <style type="text/css"> <$-- ... comen%i CSS ... --> </style> nivelul J - comenzile aflate in pa"ini separate, tip eterne <lin& rel="stylesheet" type="text/css" hre="isier'css.css"> sau <style type="text/css">(import url) Calea catre isierul.css *</style> 5intaa C55-ului este compusa doar din J parti0 selector + proprietate: ,aloare - /. /cesta este un comentariu ./ body + bac&ground: #eeeeee" ont-amily: "#rebuchet 0S"1 2erdana1 /rial1 seri" - Cea mai mare importanta $suprascrie orice alt parametru% o are sintaa de nivelul 6 iar cea mai mica importanta o are cea de nivelul J& -olosirea unui fisier etern sau nivel J care sa contina comenzi C55 este foarte practic deoarece poate fi utilizat in mai multe situatii $mai multe fisiere 34:A pot folosi acelasi fisier etern C55% eliminand timpul necesar introducerii codului corespunzator in fiecare pa"ina si totodata editarea lor intr-un sin"ur loc pentru mai multe fisiere& Gtensia acestor fisiere este &css& 5electorul este elementul $L%34:A pe care doresti sa il stilizezi& Proprietatea este chiar titlul $numele% proprietatii respective, iar valoarea reprezinta stilul pe care il aplici proprietatii& div, span si etichete C55 <divM functioneaza asemanator cu eticheta <pM <spanM este similara cu eticheta <fontM eticheta L34:A <eticheta ar"umentNOvaloareOM eticheta C55 elementPar"ument0 valoare,Q L34:A <font colorNORKK--KKOM <pM4et verde<<pM <<fontM L34:A cu C55 <p st2leNOcolor0 RKK--KK,OM 4et verde <<pM comenzi C55 incluse in zona 3GAC <htmlM <headM <titleMGemplul 6S6<<titleM <st2le t2peNOtet<cssOM <T-- pPcolor0 RKK--KK,Q--M <<st2leM <<headM <bod2M <pM4et verde<<pM 4et ne"ru <pM4et verde<<pM <<bod2M <<htmlM Glementele id si class <htmlM <headM <titleMGemplu /S6<<titleM <st2le t2peNOtet<cssOM <T-- RalbastruPcolor0 RKKKK--,Q--M <<st2leM <<headM <bod2M <p idNOalbastruOM4et albastru introdus prin id OalbastruO<<pM 4et ne"ru <<bod2M <<htmlM Glementul id se aplica unui st2le de format o sin"ura data sau la o sin"ura eticheta 34:A, plasandu-se un nume acelui st2le& Acest element necesita eistenta comezilor C55 in zona 3GAC sau intr-un fisier etern& Glementele id si class <htmlM <headM <titleMGemplu /S/<<titleM <st2le t2peNOtet<cssOM <T-- &rosuPcolor0 R--KKKK,Q--M <<st2leM <<headM <bod2M <p classNOrosuOMPrimul tet rosu introdus prin class OrosuO<<pM 4et ne"ru <p classNOrosuOMAl doilea tet rosu introdus prin class OrosuO<<pM <<bod2M <<htmlM Glementul class se similar cu id dar spre deosebire de acesta poate fi folosit de mai multe ori sau pentru zone mai mari& Ca si la id necesita eistenta comezilor C55 in zona 3GAC sau intr-un fisier etern& 5tiluri pentru fonturi font-famil2 <htmlM <headM <titleMGemplu JS6<<titleM <st2le t2peNOtet<cssOM <T-- pPfont-famil20 font6,font/,arial,Q--M <<st2leM <<headM <bod2M <pM4et scris cu fontul Arial<<pM 4et ne"ru <pM4et scris cu fontul Arial<<pM <<bod2M <<htmlM <htmlM <headM <titleMGemplu JS/<<titleM <<headM <bod2M <p st2leNOfont-famil20 font6,font/,arial,OM4et scris cu fontul Arial<<pM 4et ne"ru <p st2leNOfont-famil20 font6,font/,arial,OM4et scris cu fontul Arial<<pM <<bod2M <<htmlM 5tiluri pentru fonturi font-size <headM <titleMGemplu JSJ<<titleM <st2le t2peNOtet<cssOM <T-- pPfont-size0 /Kp,Q--M <<st2leM <<headM <bod2M <pM4et scris cu font de /Kp<<pM 4et ne"ru <<bod2M <<htmlM C55 De2word numar -?74 size -small 6 -small / small J medium . lar"e U -lar"e V -lar"e W Pentru dimensiunea eprimata in puncte folosim acelasi eemplu inlocuid p cu pt& Cimensiunea eprimata prin De2words foloseste cuvinte in loc de cifre& 5apte cuvinte inlocuiesc dimensiunile de la 6 la W de la veche eticheta -?74 -ACG din 34:A& Procentele sunt o alta valoare pe care o poate lua font-size& Aceasta modalitate poate fi vizualizata diferit de browsere diferite& Ca verificare folositi acelasi eemplu schimband /Kp cu /KKX& 5tiluri pentru fonturi font-st2le <st2le t2peNOtet<cssOM <T-- pPfont-st2le0 italic,Q--M <<st2leM font-wei"ht <st2le t2peNOtet<cssOM <T-- pPfont-wei"ht0 WKK,Q--M <<st2leM htmlM <headM <titleMGemplu JS.<<titleM <st2le t2peNOtet<cssOM <T-- pP font-famil20 arial, font-size0 /Kp, font-st2le0 italic, font-wei"ht0 YKK,Q --M <<st2leM <<headM <bod2M <pM4et scris cu Arial, /Kp, italic, YKK<<pM 4et ne"ru <<bod2M <<htmlM Font&style este folosit pentru a adau"a caracteristica italica fontului& Poate lua valorile normal si italic& font-wei"ht este paramerul care stabileste "rosimea caracterului putand lua valorile numerice de la 6KK la HKK sau =?AC, =?ACG@, A1>34G@& Text&ali(n pozitioneaza pe orizontala obiecte $de eemplu tet sau ima"ini% si admite valorile left, ri"ht si center ca si eticheta ali"n din 34:A& vertical-ali"n este folosit pentru alinierea pe verticala a obiectelor dintr-un tabel si poate lua valorile0 top, middle si bottom& float este folosit pentru alinierea tetului cu ima"inile si poate avea valorile0 left si ri"ht& 1n functie de valoarea aleasa ima"inea va fi aliniata in partea opusa a pa"inii& Tabulare 4et-indent este folosit pentru alinierea tetului in interior avand valori eprimate in inci $in%, centimetri $cm% sau pieli $p%& 1n eemplul de mai ;os tet-indent este aplicat etichetei p deplasand tetul cu 6K pieli in interior Cecorare tet-decoration adau"a sublinierea sau taierea blocului tet asociat si poate avea valorile underline, line-throu"h sau none& Culoare Color defineste culoarea tetului dintr-o zona sau intra"a pa"ina& 1n 34:A culoarea le"aturilor poate fi stabilita prin atributele A17Z, AA17Z si (A17Z declarate in interiorul etichetei =?C[& Acelasi lucru si chiar mai mult poate fi realizat folosind sintaa C55& a defineste stilul "eneral pentru le"atura a0linD defineste stilul le"aturii nevizitate a0visited defineste stilul le"aturii vizitate a0active defineste stilul le"aturii active $nu prea se foloseste% a0hover defineste stilul cand mouse-ul este deasupra le"aturii 1n mod normal ima"inea de fundal incepe din coltul stan"a sus al obiectului asociat, dar acest lucru poate fi controlat prin comanda C55 bacD"round-position& 5unt acceptate doua valori0 in prima pozitie poate fi0 top, center, bottom, percenta"e sau piel in a doua pozitie poate fi0 ri"ht, center, left, percenta"e sau piel -olosind eticheta ol din 34:A cream liste ordonate sau numerotate& Adau"and comenzi C55 in zona 3GAC putem adau"a pe lan"a numere si cifre sau alte simboluri& =rowserul 7etscape nu permite asocierea comenzilor C55 decat pentru eticheta li& 1n afara simbolurilor de marca; prestabilite cunoscute de browser pot fi folosite si ima"ini prin comansa C55 list-st2le-ima"e& 1ma"inile sunt introduse prin adresa url$%& ?ri"inea elementului este considerat coltul din dreapta sus fata de care se vor raporta toate dimensiunile prezentate in continuare& paddin" stabileste distanta dintre obiect si chenar simultan pentru toate laturile& Cistantele pot fi stabilite si individual folosind paddin"-top, paddin"-bottom, paddin"-left sau paddin"-ri"ht& mar"in stabileste distanta dintre chenar si celelalte obiecte din pa"ina simultan pentru toate laturile& Cistantele pot fi stabilite si individual folosind mar"in-top, mar"in-bottom, mar"in-left sau mar"in-ri"ht& (alorile pentru paddin" si mar"in pot fi eprimate in0 p $pieli%, in $inci%, pt $puncte% sau cm $centimetri%& 7etscape si 1nternet Gplorer afiseaza diferit chenarele& Comanda C55 pentru definirea chenarului este border avand proprietatile asociate width, st2le si color& Pentru a fi si"uri ca aceste proprietati functioneaza atat in 1nternet Gplorer cat si in 7etscape trebuie sa declaram pentru border cel putin width si st2le& border-width stabileste "rosimea chenarului si poate fi eprimata in p $pieli%, pt $puncte%, cm $centimetri% sau in $inci%& border-st2le stabileste tipul chenarului si poate fi dotted, dashed, solid, double, "roove, rid"e, inset si outset& border-color stabileste culoarea chenarului si poate fi eprimata prin valoare heazecimala sau in cuvinte Pozitionarea permite asezarea unui obiect intr-un anume loc folosind coordonatele& 4otodata obiectele pot fi pozitionate pe straturi diferite, unul deasupra celuilalt& Atat pozitionarea absoluta $A5?A'4G% cat si cea relativa $@GAA41(G% folosesc proprietatile AG-4 si 4?P eprimate in p $pieli%, in $inci%, pt $puncte%, ems, procenta;e sau cm $centimetri%& Pozitionare absoluta plaseaza obiectul in pa"ina eact in locatia data de left si top& Astfel poate fi creat un element liber fata de celelalte din pa"ina& ?biectul poate fi orice, de eemplu tet sau ima"ine& Pozitionare relativa este pozitia normala pe care o ocupa un element, dupa elementele anterioare si inaintea celor urmatoare& Poate fi deplasat fata de aceasta pozitie folosind proprietatile left si top& Glementele sunt pozitionate pe ecran pe o suprafata bidimensionala dar pot fi asezate si unul deasupra celuilalt, intr-o stiva utilizand un indicativ $inde-z% incepand cu K, urmatorul 6 si tot asa in continuare& Glementul cu indeul cel mai mare este asezat deasupra& HTM * 'efinitie 34:A - descendent al limba;ului 5>:A, folosit pentru dezvoltarea de documente hipertet accesibile prin 1nternet M o prezentare succinta a celor mai utilizate ta"-uri 'n document poate fi identificat prin urmatoarele caracteristici fundamentale0 structura, continut si forma& Caca forma de vizualizare este dependenta de pro"ramul de afisare a informatiilor continute de acel document, structura si continutul sau trebuie sa aiba un format "eneral de reprezentare, pentru a asi"ura portabilitatea& HTM * Format 34:A, limba; care conformindu-se principiilor 5>:A, accepta un numar de elemente $ta"-uri% pentru formatarea documentului& 5imilar cu 5>:A, acestea se incadreaza intre < si M, putind eista ta"-uri de inceput si de sfirsit& -isierele 34:A sint fisiere A5C11 obisnuite avind etensia &html $sau &htm% si sint divizate in doua parti0 antetul $hea'% si corpul $bo'y%& o pa"ina 9eb marcata cu ta"-uri 34:A are forma "enerala 0 <htmlM <T-- ta" obli"atoriu --M <headM <T-- inceput de antet --M &&& <<headM <T-- sfirsit de antet --M <bod2M <T-- inceput de corp --M &&& <<bod2M <T-- sfirsit de corp --M <<htmlM <T-- sfirsit de document --M 5tructura "enerala a unui document 34:A +HTM, +H-A., 5ub-elemente0 +T/T-, titlul documentului, cat mai su"estiv, si se ncheie cu +#T/T-, +0AS-, Poate fi folosit pentru a nre"istra locaia documentului in forma '@A& $7ecesar daca documentul nu este accesat in locaia lui ori"inala%& 5e ncheie cu +#0AS-, +/12, 1ndica o relaie dintre document si alte obiecte de pe 9G=& 5e ncheie cu +#/12, +M-TA, informaii cum ar fi tastatura folosita, descrierea si cuvinte cheie care pot fi "site de motoarele de cutare& 5e ncheie cu +#M-TA, +SC$/PT, Conine Iava5cript sau (= 5cript& 5e ncheie cu +#SC$/PT, +ST3-, informaii privind stilul, "rafica informaiilor care vor aprea pe pa"ina& 5e ncheie cu +#ST3-, 5e ncheie elementele adau"ate in 3GAC +#H-A., +04.3, Gtichetele 34:A si continutul documentului care va fi afisat in pa"ina web sunt incluse in acest element& Aici pot fi puse si elemente cum ar fi0 +SC$/PT, +#SC$/PT, 5e ncheie cu +#04.3, +#HTM, specificatia 34:A .&K6 - pentru a fi identificat ca document 5>:A in vederea procesarii de un analizator 5>:A, un fisier 34:A trebuie precedat de una dintre liniile0 <TC?C4[PG 34:A P'=A1C O-<<9JC<<C4C 34:A .&K6 5trict<<G7M <TC?C4[PG 34:A P'=A1C O-<<9JC<<C4C 34:A .&K6 4ransitional<<G7M <TC?C4[PG 34:A P'=A1C O-<<9JC<<C4C 34:A .&K6 -rame5et<<G7M Cele trei variante de C4C-uri stabilite de Consortiul 9eb0 stricta $fara a contine elemente si atribute considerate depasite% tran%itionala $putind apare si elemente sau atribute depasite% cu cadre $suport pentru cadre% antetul - poate contine titlul documentului $al pa"inii 9eb% specificat de ta"-ul <titleM0 <titleM-acultatea de stiinte economice<<titleM - rutine scrise in limba;e script $ca Iava5cript%, definii de stiluri C55 ori meta- elemente pentru a fi analizate si memorate de navi"ator $antetul e procesat primul% stil 'e afisare <bM $in"rosat%, <iM $inclinat%, <uM $subliniat%, <stron"M $intensificat%, <bi"M $mai mare%, <smallM $mai mic%, <subM $indice%, <supM $eponent%, <fontM $dimensiune si culoare font%, <preM $tet preformatat%, <codeM $cod sursa%, <centerM $centrat% titluri <h6M &&& <hVM sectiuni <divM $diviziuni%, <pM $para"rafe%, <hrM $linie orizontala%, <brM $trecere la linie noua% liste <ulM $lista nenumerotata%, <olM $lista numerotata%, <liM $element de lista%, <dirM $lista de directoare%, <menuM $meniu% ima(ini <im"M tabele <tableM $inceput de tabel%, <trM $linie de tabel%, <tdM $definitie celula%, <thM $antet% le(aturi 5ancore6 <aM formulare <formM $definitie%, <inputM $cimp de intero"are% ca're 5frame&uri6 <framesetM $definire%, <frameM $cadru%, <noframesM suport pentru alte limba7e <appletM, <scriptM suport multi&me'ia <embedM $etensie 7etscape% extensii <metaM entitati speciale \nbsp, \lt, \"t, \amp, \cop2, etc HTM * Ta(&uri Crearea si editarea pa"inii 34:A 6& Crearea nceputului unui document <htmlM <headM <titleM -oodcenter <<titleM <<headM <bod2M <<bod2M <<htmlM /& 5etarea proprietarilor documentului Glementul =?C[ - Acestui element ii puteti adau"a informatii care sa defineasca culoarea sau ima"inea din fondul pa"inii, tetul si culoarea linD-urilor& - Caca elementul =?C[ nu este completat cu alte atribute atunci browser-ul va prezenta culorile standard, de obicei fondul este alb& - Pentru a seta culoarea fondului pa"inii adau"ati in eticheta <=?C[M atributul =>C?A?@& Gemplu de document a carui fond este de culoare albastra0 <bod2 b"colorNORKKKKffOM<<bod2M /& 5etarea proprietarilor documentului Culoarea tetului - Atributul 4GL4 controleaza culoarea tetului normal din document& - Acesta va afecta tot tetul din document care nu este colorat de alte elemente, cum ar fi linD-ul& - Culoarea standard pentru tet este 7e"ru& Gemplu in care culoarea fondului va fi albastru si culoarea tetului va fi rosu, atributul 4GL4 va fi adau"at astfel0 <bod2 b"colorNORKKKKffO tetNORffKKKKOM<<bod2M /& 5etarea proprietarilor documentului AinD-uri $A17Z, (A17Z si AA17Z% - Aceste atribute controleaza culoarea linD-ului in diferite stari A17Z - culoarea initiala a linD-ului& 5tandard este albastru (A17Z - culoarea unui linD vizitat& 5tandard este purpuriu& AA17Z - culoarea linD-ului in momentul activarii& 5tandard este rosu& - :odul de setare al acestor atribute este urmatorul0 <bod2 b"colorNORffffffO tetNORffKKKKO linDNORKKKKffO vlinDNORffKKffO alinDNORffffKKOM<<bod2M @ezultatul va fi o pa"ina cu fondul alb, tetul rosu, linD-urile albastre, linD-urile vizitate vor avea culoarea roz iar culoarea linD-urilor in momentul activarii va fi "alben /& 5etarea proprietarilor documentului Folosirea unei ima(ini ca fon' pentru pa(ina 5bac8(roun'6 - Glementul bod2 ofera posibilitatea nlocuiri fondului pa"inii cu o ima"ine $=acD"round ima"e%& Caca ima"inea este mai mica dec!t dimensiunile pa"inii atunci ima"inea va fi multiplicata pana va acoperi ntre" cadru documentului& Gste indicat ca ima"inea sa fie in format ]&"if sau ]&;p"& -olosirea unei ima"ini va da un aspect placut documentului& - 'n eemplu de cod 34:A cu ima"ine pentru bacD"round este urmatorul0 <bod2 bacD"roundNOima"ine&"ifO b"colorNORffffffOM<<bod2M 1n acest eemplu fondul pa"ini va fi dat de ima"inea fisierului Oima"ine&"ifO si de asemenea am setat =>C?A?@ astfel incat in timpul procesului de ncarcare a ima"inii culoarea fondului va fi alba& Titluri! Para(rafe! 9n nou r:n'! inie ori;ontala <= Titluri +Hx, === +#Hx, - Pentru titluri din continutul documentului 34:A este indicat folosirea etichetelor <3M, $headings% unde ^^ este un numar intre 6 si V& - 1n cadrul elementului =?C[, elementele 3eadin"s sunt folosite ca titluri sau pentru o mai buna impartire a continutului pa"inii& - :rimea tetului ncon;urat de elementul 3eadin" variaz de la foarte mare, in +H<, pana la foarte mic in +H>,& Titluri! Para(rafe! 9n nou r:n'! inie ori;ontala ?= Para(raf +p, === +#p, & Para"rafele permit adau"area de tet in document astfel incat lun"imea de afisare a tetului va fi a;ustata de marimea deschiderii browser-ului si fiecare para"raf va incepe un nou r!nd& - Cistanta dintre doua para"rafe succesive este mare deoarece browser-ul le afiseaza cu un r!nd "ol intre ele& Titluri! Para(rafe! 9n nou r:n'! inie ori;ontala @= 9n nou ran' +br, - 4a"-ul <brM permite sa decidem unde va incepe tetul pe un nou r!nd, astfel se forteaza nceperea unui nou r!nd& - <brM este un Glement >ol dar poate sa conina atribute& <brM nu are si nu cere element de nchidere, nu se foloseste </br> - folosete un sin"ur atribut 8 CAGA@ care poate avea valoarea AG-4, @1>34 sau AAA, si sunt folosite daca este o ima"ine pe pa"ina& Atributul CAGA@ foreaz o linie in ;os& Titluri! Para(rafe! 9n nou r:n'! inie ori;ontala A= inie ori;ontala +hr, - Acest element afiseaza o linie orizontala in document, nu folosete element de nchidere E</hr>F - Glementul <hrM foloseste urmatoarele atribute0 - 51_G N latimea liniei, in pieli $standard este /% - 91C43 N lun"ii liniei, in pieli sau procente din lun"imea afisarii pa"inii $standard 6KKX% - 7?53ACG N afiseaza linia fara a avea un aspect JC - AA1>7 N aliniaza linia $Aeft, Center, @i"ht%, $ 5tandard centru% - C?A?@ N seteaza culoarea liniei Formatul textului <= Ta(&ul +F41T, === +#F41T, Cu acest element, +F41T,, puteti modifica aspectul tetului, cum sunt tipul fontului folosit, marimea si culoarea tetului& - :arimea tetului poate fi modificata cu elementul F41T si atributul S/B-& Atributul 51_G poate lua valorile numerice de la 6 la W si pe lan"a acestea poate folosi, ca valoare relativa, semnele OCO sau O&O& 4etul normal $daca nu este specificat acest atribut% are valoarea J& Gemplu 0 - 4ipul fontului poate fi modificat cu elementul F41T si atributul FAC-& Gemplu 0 - Culoarea tetului poate fi modificata cu elementul F41T si atributul C44$& ?= 0ol'! /talic! 9n'erline si alte elemente Glemente des folosite pentru formatul tetului sunt0 - =old $in"rosat% +b, === +#b, - 1talic $inclinat% +i, === +#i, - 'nderline $subliniat% +u, === +#u, Alte elemente folosite pentru formatul tetului sunt0 - +pre, Performated +#pre, - 4etul incadrat de elementul P@G este prezentat intr-un sin"ur font, oricare ar fi atributul -ACG& 5patiile mai lun"i si liniile necesare sunt prezentate aa cum sunt scrise in 7otePad, ne mai fiind nevoie de alte elemente adiionale, cum ar fi <brM pentru o noua linie si DnbspE DnbspE pentru mai mult spaiu intre cuvinte& - +em, /ccentuare )3mphasis* +#em, - =rowser-ul de obicei arata acest element ca italic - +stron(, Stron( +#stron(, - =rowser-ul de obicei arata aces element ca bold - +tt, 4elet2pe +#tt, - Ca si P@G, browser-ul prezinta acesta intr-un sin"ur tip de font, indiferent de fontul ales cu atributul -ACG, in interiorul elementului -?74 - +cite, Citat +#cite, - @eprezinta un citat din document& /% Alinierea Glemente care pot avea atributul $AA1>7% pentru aliniere, - 4itlurile <3M , Para"raful <pM`<<pM si Ainia orizontala <hrM & Cele trei valori ale atributului AA1>7 sunt0 AG-4, @1>34 si CG74G@& Aliniamentul celor mai multe elemente se face cu a;utorul altor elemente0 - <div ali"nNO,aloareOM &&& <<divM Poate conine cele mai multe elemente& 4ot ce este poziionat cu elementul C1( poate fi aliniat oriunde-n pa"ina, indiferent daca in acel loc se afla si alt ceva $1ma"ine, 4et, `%& - <centerM &&& <<centerM (a centra elementele Marcatori si numerotare <= -lementele pentru marcatori si numerotare 'n element des folosit in formarea listelor $neordonate% este <ulM& - <ulM este elementul de nceput ,dupa scrierea listei se incheie cu <<ulM& - :a;oritatea elementelor pentru marcatori si numerotare sunt compuse din unul sau mai multe elemente <liM &&& <<liM $list element%& -ara atributul Ot2peO specificat in O<ulMO acestea prezint un marca; ca un bullet& Sunt @ tipuri 'e marca7eF 'isc! circle 5cerc6 si sGuare 5patrat6 - 4ipul de marca; care va fi folosit se introduce prin atributul t2pe in eticheta <ulM 9n alt element folosit pentru formarea listelor 5or'onate6 este +ol,= - <olM &&& <<olM este un element de numerotare& Glementele din lista sunt numerotate automat& - 1mpreuna cu <olM se foloseste <liM &&& <<liM 5unt mai multe tipuri de numerotare care pot fi folosite& Acestea sunt controlate de atributul Ot2pe care este adau"at in elementul <olM, le puteti vetea mai ;os0 - t2peNO6O - stil0 6, /, J, &&& - t2peNOaO - stil0 a, b, c, &&& - t2peNOiO - stil0 i, ii, iii, &&& - t2peNO1O - stil0 1, 11, 111, &&& Ce asemenea se poate specifica numarul de inceput al numerotarii printr-o valoare data atributului start& /& Alte elemente pentru asezarea tetului in pa"ina Alte elemente pentru asezarea tetului sunt0 ta"-ul <dlM, care cuprinde elementele <dtM si <ddM - <dlM &&& <<dlM este folosit $impreuna cu OdtO si OddO% pentru definirea si incadrarea unei liste de definitii& - <dtM &&& <<dtM Cefineste elementul din lista& -iecare tip de astfel de element trebuie precedat de unul sau mai multe elemente <ddM &&& <<ddM, folosite pentru descrierea elementului definit& Aceste elemente a;uta pentru a da un aspect ordonat si placut tetului si a putea face o separare mai buna a continutului& A'au(are /ma(ini Cele mai folosite formate pentru ima"inile adau"ate intr-o pa"ina 34:A sun >1- si IPG> $IP> , IPG%, Alte tipuri de formate sunt0 P7>, =:P, 41--, PCL Pentru a introduce o ima"ine intr-un format 34:A se folosete elementul +im(, === +#im(, mpreuna cu urmatoarele atribute 0 - src - (aloarea acestui atribut determina locatia fisierului care contine ima"inea& - alt - Aa acest atribut se scrie tetul care va aparea daca ima"inea nu e afisata $de unele bro4sere% sau cand utilizatorul va pozitiona, in browser, mouse-ul peste ima"ine& - ali(n - Acest atribut permite asezarea ima"inii in locuri diferite pe pa"ina& Pot fi folosite urmatoarele optiuni0 0ottom ! Mi''le ! Top ! eft ! $i(ht ! TextTop ! A0SMi''le ! 0aseline ! A0S0ottom - wi'th - (aloarea acestui atribut reprezinta lun"imea ima"inii, in pieli& Caca nu este scris ima"inea va fi prezentata cu lun"imea ori"inala& - hei(ht - (aloarea acestui atribut reprezinta inaltimea $latimea% ima"inii, in pieli& Caca nu este scris ima"inea va fi prezentata cu inaltimea ori"inala& - bor'er - Prin adau"area acestui atribut ima"inea va aparea ncon;urata de un chenar, valoarea acestui atribut reprezinta "rosimea chenarului, in pieli& - hspace - Acest atribut este pentru spatiu orizontal pe ambele parti ale ima"inii, specificat in pieli& Ce eemplu o valoare de U va pune un spatiu invizibil, de U piel, in p!rtile orizontale ale ima"inii& - vspace - Acest atribut este pentru spatiu vertical pe ambele parti ale ima"inii, specificat in pieli& Ce eemplu o valoare de U va pune un spatiu invizibil, de U piel, in p!rtile verticale ale ima"inii& Crearea 'e lin8&uri AinD-urile $linDs% sunt elemente 34:A cu a;utorul carora putem deschide alte pa"ini, sari de la un document la altul sau la alt site& -orma "enerala pentru crearea unui linD este urmatoarea0 +a hrefHIurlI titleHITitlu lin8I,1ume+#a, - a este elementul specific pentru crearea linD-urilor - href este atributul care marcheaza indicarea adresei linD-ului - url este adresa linD-ului $a pa"inii care va fi deschisa%& Ce eemplu $http://444.marplo.net% - title este atributul prin care se da un titlu linD-ului $un text ascuns1 care apare numai cand este po%itionat mouse-ul deasupra lin&-ului% - Titlu lin8 este tetul ascuns care apare cand este pozitionat mouse-ul deasupra linD-ului - 1ume este tetul care va aparea in browser si pe care trebuie dat clicD cu mouse-ul& 1n loc de acest tet se poate folosi si o ima"ine, astfel O7umeO va fi inlocuit cu +im( srcHInumeJima(ine=extensieI, Crearea 'e lin8&uri 6& AinD-uri eterne - $sunt cele mai utilizate%, care sunt si ele de doua feluri0 a% AinD-uri eterne c!tre pa"ini ale aceluiasi site& Pentru acestea '@A-ul poate sa nu includa si domeniul site-ului, cum ar fi Ohttp0<<www&nume&comO, ci se poate folosi doar cale in directoare, numele si etensia documentului la care se face saltul& Ce eemplu0 - daca documentul tinta se afla in acelasi director cu fisierul in care se scrie linD-ul, codul va fi scris asa0 +a hrefHInumeJfisier=extensieI titleHITitlu lin8I,1ume+#a, - daca documentul tinta se afla intr-un director anterior celui in care se afla fisierul in care se scrie linD-ul, codul va fi scris asa0 +a hrefHI==#numeJfisier=extensieI titleHITitlu lin8I,1ume+#a, - daca documentul tinta se afla intr-un director din cel care se afla fisierul in care se scrie linD-ul, codul va fi scris asa0 +a hrefHI'irector#numeJfisier=extensieI titleHITitlu lin8I,1ume+#a, b% AinD-uri eterne c!tre alte site-uri& Aici, adresa '@A din linD trebuie sa contina si domeniul $numele site-ului% pa"inii tinta, codul 34:A se va scrie, de eemplu, asa0 +a hrefHIhttpF##numeJsite#pa(inaI titleHITitlu lin8I,1ume+#a, Crearea 'e lin8&uri /& AinD-uri interne - sunt linD-uri c!tre alte tete din aceeasi pa"ina& 5e folosesc c!nd pa"ina respectiva este lun"a si e nevoie sa se sara spre anumite tete din pa"ina& - Pentru crearea de linD-uri interne trebuie urmati urmatorii pasi0 6& 5e scrie urmatorul cod la tetul tinta, care marcheaza locatia unde se va face saltul si se afla in aceeasi pa"ina cu linDul <a nameNOcuvantOM4etul tinta<<aM - atributul OnameO indica tinta pentru linD, e un fel de semn care indica locatia& - OcuvantO poate fi orice cuv!nt, trebuie sa fie unic pentru fiecare linD& - O4etul tintaO este tetul unde se face saltul& /& 1n locul unde vrem sa fie linD-ul $acolo unde o sa dam clicD pentru a face saltul c!tre tetul ales%, se scrie urmatorul cod0 <a hrefNORcuvantOM7ume<<aM - aici OcuvantO este acelasi tet scris la pasul 6& AinD-urile interne si eterne pot fi combinate& Astfel putem face saltul c!tre un anumit tet aflat intr-o alta pa"ina& 1n pa"ina respectiva se scrie codul de la pasul 6, la tetul ales pentru tinta linD- ului, iar in pa"ina in care va fi linD-ul se scrie0 <a hrefNOadresaSpa"inaRcuvantOM7ume<<aM Tabele 6& Crearea de tabele Pentru a crea tabele in pa"inile web se foloseste elementul +table, === +#table, , acesta incadreaza alte patru sub-elemente, care alcatuiesc structura tabelului& - Ainia $randul% 4abelului +tr, === +#tr, - 4itlul 4abelului +th, === +#th, - Celulele tabelului $datele% +t', === +#t', - 5ub-titlu tabelului +caption, === +#caption, Tabele ?= Atributele Tabelului - b(color N defineste culoarea tabelului - wi'th N specifica lun"imea tabelului $1n pieli sau procente din lun"imea pa"inii% - bor'er N "rosimea liniei $in pieli% ce defineste tabelul si ncon;oara fiecare celula - cellspacin( N spatiu dintre celule $in pieli% - cellpa''in( N spatiu dintre linia celulei si continutul acesteia $in pieli% - ali(n N controleaz poziionarea tabelului in pa"ina, cu urmtoarele atribute 0 left! ri(ht! sau center - bac8(roun' N controleaza culoarea de fond a tabelului, care poate fi si o ima"ine - bor'ercolor N culoarea liniei din ;urul tabelului - bor'ercolorli(ht N culoarea luminoasa folosita de doua linii din cele patru care ncon;oara tabelul - bor'ercolor'ar8 N culoarea ntunecata folosita de doua linii din cele patru care ncon;oara tabelul Tabele J& Atributele specifice elementelor pentru titlu si coloane - colspan N specifica cat de multe coloane ale tabelului va inlocui aceasta celula - rowspan N specifica cat de multe randuri ale tabelului va inlocui aceasta celula - ali"n N alinierea datelor celulei pe orizontala $left, ri"ht sau center% - vali"n N alinierea datelor celulei pe verticala $top, middle sau bottom% - bacD"round N controleaza culoarea de fond a celulei, care poate fi si o ima"ine - b"color N defineste culoarea celulei $dar nu imagine% - width N specifica lun"imea celulei $1n pieli sau procente din lun"imea pa"inii% - hei"ht N specifica inaltimea celulei $1n pieli sau procente din inaltimea pa"inii% A'au(area ca'relor iframe Pentru crearea unui cadru cu O<iframeMO puteti folosi, ca eemplu, urmatoarea sintaa $aceasta se adauca in sectiunea =?C[, in locul unde doriti sa apara frame-ul%0 <iframe srcNOurlSpa"inaO widthNOVKKO hei"htNO/KKO ali"nNOcenterO scrollin"NO2esO frameborderNOKO nameNOnumeSframeOM <<iframeM - OiframeO este elementul principal care indica adau"area unui frame in pa"ina& - OurlSpa"inaO e adresa pa"inii care va fi incarcata in iframe, OwidthO si Ohei"htO reprezinta lun"imea respectiv inaltimea cadrului $eprimata in procente sau pieli%, Oscrollin"O reprezinta permisiunea de derulare a pa"inii din cadru $2es sau no%, OframeborderO specifica daca va fi sau nu afisata o mar"ine $bordura% pentru cadru $6Nda, KNnu%, iar OnumeSframeO este numele cadrului $necesar pentru atributul O4A@>G4O in linD-uri sau cand frame-ul este folosit de Iava5cript%& Crearea formularelor 6& 4a"-ul -?@: Pentru a crea un formular in 344:A se folosete elementul +form, === +#form,, in cadrul acestuia se vor adau"a celelalte elemente specifice& Glementul +form, === +#form, nu contine atribute pentru format, foloseste insa urmatoarele atribute0 action - aici se specifica adresa '@A a unui script de pe server $de obicei P3P sau C>1%, pro"ram care trebuie sa accepte datele din -?@: , le proceseaza si trimite napoi raspunsul la browser& metho' - aici putem scrie (et , sau post& Aceste valori specifica ce metoda 344P va fi folosita pentru a trimite continutul formularului la server& enctype - determina mecanismul folosit pentru a codifica continutul transmis din formular& name - Gste numele formularului, folosit de scripturi (= $(isula =asic% sau Iava5ript& tar(et - Gste tinta cadrului $frame% unde pa"ina va fi vizualizata, dupa transmiterea datelor din form& ?= -lementele 'e formular restul elementelor de formular care sunt folosite pentru a crea diferite campuri, casete, butoane in pa"ina web, necesare pentru a aduna datele care vor fi trimise la aplicatie pe server& Cele mai multe se creaza prin atributul type al elementului +input, === +#input, Proprietatile elementului +input, === +#input, type - tipul de -?@: folosit $caseta tet, buton si altele &&&% name - numele elementului respectiv de formular, folosit de scripturile la care sunt trimise datele value - datele $valoarea% asociate acelui element de formular si care sunt trimise, impreuna cu numele, catre scripturi $P3P, C>1, Iava5cript% si;e - specifica numarul de caractere care dau lun"imea zonei de tet maxlen(th - numarul maim de caractere acceptate chec8e' - specifica daca un buton sau alta forma va fi initial selectata $bifata%& rea'only - folosit pentru campuri de tip tet, impedica modificarea valorii $tetului% din acel camp 'isable' - impedica folosirea campului care are aceasta proprietate& (a fi vizibil dar nu va putea fi folosit, datele acestuia nu vor fi trimise din formular la vreun script& Crearea formularelor Casete 'e text - este folosit pentru a crea in pa"ina un camp pentru tet $cu o sin"ura linie%& - Codul este +input typeHItextI,+#input, - Acest element foloseste urmatoarele atribute0 type - tet name - numele casutei de tet, folosit de scriptul la care sunt trimise datele value - va reprezenta propriul contet ca valoare aleasa& 'n sir de tet care apare in casuta de tet si;e - specifica numarul de caractere care dau lun"imea casutei de tet $default /K% maxlen(th - numarul maim de caractere acceptate sa fie adau"ate de utilizator Camp textarea - OtextareaO este un element ce creaza un camp in pa"ina, in care utilizatorul poate adau"a mai multe linii de tet& - Codul este +textareaE,+#textarea, 1n browser va apare0 - Acest element foloseste urmatoarele atribute0 name - numele campului de tet, folosit de scriptul la care sunt trimise datele rows - numarul de linii a zonei de tet cols - numarul de coloane a zonei de tet wrap - standard este ?--& Car poate avea valorile 0 O(1@4'AAO sau OP3[51CAAO, astfel ca tetul wraps in browser sa fie prezentat eact cum este scris de utilizator& Crearea formularelor Casete pentru parole - Opass4ordO este folosit pentru a permite adau"area de parole& Caracterele adau"ate in aceasta caseta nu sunt afisate cu valoarea lor reala, pentru a nu se vedea parola scrisa& - Codul este +input typeHIpasswor'I,+#input, - Acest element foloseste urmatoarele atribute0 type - password name - numele casutei pentru parole, folosit de scriptul la care sunt trimise datele value - de obicei nu este adau"at& Caca este scris, va reprezenta parola default din acea caseta& si;e - specifica numarul de caractere care dau lun"imea casutei pt& adau"area parolei $default /K% maxlen(th - numarul maim de caractere acceptate sa fie adau"ate de utilizator Casete 'e formular ascunse - OhiddenO este folosit pentru a adau"a in formular date care sa nu fie vizibile in browser si care sunt trimise la scripturi impreuna cu celelalte date din formular& - Codul este +input typeHIhi''enI,+#input, - Acest element foloseste urmatoarele atribute0 type - hidden name - numele casutei ascunse, folosit de scriptul la care sunt trimise datele value - valoarea care se doreste sa fie transmisa prin acea caseta ascunsa& Crearea formularelor Chec8 box - este folosit pentru adau"area mai multor optiuni pe care utilizatorul le poate ale"e $oricate din ele% prin bifarea lor - Codul este +input typeHIchec8boxI,+#input, - Acest element foloseste urmatoarele atribute0 type - checDbo name - numele casutei checDbo, folosit de scriptul la care sunt trimise datele value - valoarea casetei checDbo respective, care poate fi selectata $bifata% chec8e' - daca este adau"at acest atribut, caseta checDbo respectiva este selectata $bifata%& $a'io button - este folosit pentru adau"area mai multor optiuni dintre care utilizatorul poate ale"e una sin"ura - Codul este +input typeHIra'ioI,+#input, - Acest element foloseste urmatoarele atribute0 type - radio name - numele casutei radio, folosit de scriptul la care sunt trimise datele value - valoarea casetei radio respective, care poate fi selectata $bifata% chec8e' - daca este adau"at acest atribut, caseta radio respectiva este selectata $bifata%& Crearea formularelor Casete pentru uploa' - Oile uploadO este folosit pentru a permite utilizatorului sa incarce alte documente pe serverul web& Aceasta caseta este insotita de un buton O=rowseO prin care se ale"e documentul care va fi transferat pe server& $upload-ul se face tot prin intermediul unui script $P3P, C>1% - Codul este +input typeHIfileI,+#input, - Acest element foloseste urmatoarele atribute0 type - file name - numele casutei upload, folosit de scriptul la care sunt trimise datele si;e - specifica numarul de caractere care dau lun"imea casutei upload& 0uton simplu - acesta este folosit cu Iava5cript sau (=5cript pentru a efectua o actiune c!nd este apasat - Codul este +input typeHIbuttonI valueHI0utonI,+#input, - Acest element foloseste urmatoarele atribute0 type - button name - numele butonului, necesar pentru a fi folosit de script value - tetul care apare pe buton& Crearea formularelor 0uton Submit - acest element face ca prin apasarea lui browser-ul sa trimita numele si valoarea tuturor celorlalte elemente din formular la scriptul de pe server - Codul este +input typeHIsubmitI valueHITrimiteI,+#input, - Acest element foloseste urmatoarele atribute0 type - submit name - numele butonului, poate fi folosit de scriptul la care se trimit datele value - tetul care apare pe buton& /ma(ine pentru buton Submit - permite aplicarea unei ima"ini in locul butonului 5ubmit standard - Codul este +input typeHIima(eI srcHIlocatieJima(ineI,+#input, - Acest element foloseste urmatoarele atribute0 type - ima"e name - numele butonului, poate fi folosit de scriptul la care se trimit datele src - locatia ima"inii folosite& 0uton $eset - permite utilizatorului sa stear"a toate datele pe care le-a scris in celelalte elemente din formular - Codul este +input typeHIresetI valueHISter(eI,+#input, 1n browser va apare0 - Acest element foloseste urmatoarele atribute0 type - reset value - tetul care apare pe buton& Crearea formularelor -lemente select - pentru acest element se foloseste ta"-ul O+select,+#select,O, care formeaza o lista, un meniu, cu date ce pot fi selectate& - Atributete elementului O<selectMO sunt0 name - numele acestui element, necesar pentru a fi folosit de scriptul la care sunt trimise datele si;e - seteaza inaltimea elementului 5elect, care reprezinta si numarul de optiuni din lista care vor fi vizibile initial multiple - prezenta acestui atribut specifica faptul ca utilizatorul poate selecta mai multe optiuni& - O+select,+#select,O este folosit impreuna cu elemente O+option, +#option,O care reprezinta lista elementelor ce sunt adau"ate si afisate in lista de selectare& - +option, +#option, foloseste doua atribute0 selecte' - cand acesta este adau"at, optiunea respectiva este selectata c!nd pa"ina web este initial incarcat& Cand sunt adau"ate mai multe optiuni, este indicat folosirea acestui atribut doar cu una sin"ura& value - specifica valoarea variabilei numita in optiunea respectiva $necesara pt& scriptul care va primi datele%& Tehnolo(ii pentru aplicaiile web Ale"erea unor tehnolo"ii adecvate - cunoaterea modului n care tehnolo"ii diferite interacioneaz ntr-o arhitectur eistent M recomandrile 9JC $9orld 9ide 9eb Consortium% implementarea n trei moduri0 cerere $client%, rspuns $server% i re"uli de comunicare ntre cele dou $protocol% Ale"erea unor tehnolo"ii adecvate este un factor de succes important n dezvoltarea aplicaiilor web& )n afara cunotinelor privind caracteristicile tehnolo"iilor, implementarea aplicaiilor web necesit deseori i cunoaterea modului n care tehnolo"ii diferite interacioneaz ntr-o arhitectur eistent& )n continuare vom aborda principalele tehnolo"ii, interaciunea i modul de utilizare al acestora n anumite arhitecturi, in!nd cont de recomandrile 9JC $9orld 9ide 9eb Consortium%& Cin momentul n care am definit cerinele pentru o aplicaie web, am ales o arhitectur i am dezvoltat un mod de proiectare $pe scurt am clarificat *ce+%, putem demara faza de implementare $pe scurt *cum+%& )n acest contet, reutilizarea are un rol din ce n ce mai important n procesul de dezvoltare& Cerinele rezultate pentru implementarea aplicaiilor web ncep cu ale"erea tehnolo"iilor adecvate& 5epararea coninutului i a prezentrii este o cerin esenial pentru o utilizare adecvat a tehnolo"iilor& )n plus, trebuie luate n considerare cerinele pentru distribuirea i inte"rarea altor sisteme, n funcie de o arhitectur selectat sau eistent& Caracteristicile implementrii tehnolo"iilor pentru aplicaiile web versus sisteme software tradiionale provin din utilizarea standardelor web& Aceasta afecteaz n special implementarea n trei moduri0cerere $client%, rspuns $server% i re"uli de comunicare ntre cele dou $protocol%& Catorit evoluiei rapide a tehnolo"iilor bazate pe web este imposibil descrierea tuturor tehnolo"iilor& Cin acest motiv ne vom limita doar la prezentarea anumitor tehnolo"ii specifice& )n primul r!nd vom prezenta cele mai utilizate protocoale pe web, accentul fiind pus pe cel mai important protocol pentru 9orld 9ide 9eb - 344P $32pertet 4ransfer Protocol%& Glemente fundamentale Marcarea - i are ori"inea n industria editorial i reprezint instruciuni tipo"rafice pentru formatarea documentelor Hipertext i hiperme'ia or"anizare a interconeiunilor unitilor de informaii sin"ulare modalitate de etindere a principiului hipertet ctre obiectele multimedia arbitrare Glemente fundamentale )n "eneral, toate paradi"mele de pro"ramare, aspectele de distribuire, tehnolo"iile de authorin", etc&, pot fi utilizate drept baz pentru implementarea unei aplicaii web& Aceasta reprezint una din problemele care au condus la dezvoltarea haotic a aplicaiilor web& Aceste dezvoltri rezult n principal din abordrile ad-hoc sau din schimbrile rapide ale tehnolo"iei& Cin acest motiv ne vom focaliza pe ori"ini0 marcare $marDup%, ce formeaz baza pentru 34:A i L:A i hipertet $h2pertet%, ce descrie conceptul de baz al 999& Marcarea Conceptul de marcare i are ori"inea n industria editorial i reprezint instruciuni tipo"rafice pentru formatarea documentelor& Aceste instruciuni sunt specificate n interiorul unui document sub forma caracterelor adiionale& Ce eemplu, putem scrie ]5alut] pentru a obine ieirea Salut sau <5alut< pentru a obine ieirea Salut& :arcarea semantic ne permite scrierea de comentarii n cadrul tetului fr a le afia n document& 15? definete urmtoarele clase de marcare0 6& marcare0 acesta este tetul introdus n document pentru a adu"a informaii despre modul n care caracterele i coninutul trebuie reprezentate n document, /& marcare descriptiv0 aceast marcare descrie structura i alte atribute ale documentului, indiferent de modul de procesare al documentului pentru reprezentare $e0 comentarii%, J& instruciuni de procesare0 aceast marcare const n date specifice sistemului, controleaz modul n care este procesat un document& Cezvoltarea 5>:A $5tandard >eneralized :arDup Aan"ua"e% a fost promovat de companiile editoriale din 5'A& )n 5>:A,autorii utilizeaz etichete $<ta"M% pentru a marca anumite pri ale tetului, care au fost anterior definite folosind 5>:A $ntr-un aa numit C4C 8 Cocument 42pe Cefinition%& )n consecin, 5>:A este i punctul de pornire pentru anumite marcri specializate, ndeosebi 34:A i L:A& Hipertext i hiperme'ia Pe baza utilizrii marcrii pentru marcarea elementelor sin"ulare, hipertextul este vzut ca o or"anizare a interconeiunilor unitilor de informaii sin"ulare& @elaiile dintre aceste uniti pot fi eprimate prin leg5turi& Conceptul hipertet este fundamental pentru 9orld 9ide 9eb& )n timp ce hipertetul desemneaz doar le"turile unitilor de informaie n versiunea lor tet, hipermedia este vzut ca o modalitate de etindere a principiului hipertet ctre obiectele multimedia arbitrare $e0 ima"ini sau video%& Comunicarea client<server pe web coloana vertebral dintre un utilizator $client sau a"ent utilizator% i aplicaia real $server% - arhitectur pe dou straturi, pot necesita inte"rarea altor sisteme MM Arhitecturile pe 7-straturi SMTP * Simple Mail Transfer Protocol - 5:4P $5imple :ail 4ransfer Protocol% # P?PJ $Post ?ffice Protocol% # 1:AP $1nternet :essa"e Access Protocol Comunicarea client#server pe web Paradi"ma client<server care st la baza aplicaiilor web formeaz coloana vertebral dintre un utilizator $client sau a"ent utilizator% i aplicaia real $server%& Acest model de comunicare se bazeaz n principal pe o arhitectur pe dou straturi& ?ricum, paii de procesare de pe un server web pot necesita inte"rarea altor sisteme $e0 baze de date, servere de aplicaii%& Arhitecturile pe 7-straturi astfel formate sunt n principal bazate tot pe modelul client<server& Ce eemplu, un browser web trimite o cerere i aceast cerere determin un rspuns de la un server web, n timp ce protocoalele $n special 344P% au un rol esenial& Aceste protocoale controleaz modul n care un client ar trebui s fac o cerere, ce rspunsuri i poate returna serverul i cum ar trebui s realizeze acest lucru& SMTP * Simple Mail Transfer Protocol 5:4P $5imple :ail 4ransfer Protocol% $Postel, 6HY/%, combinat cu P?PJ $Post ?ffice Protocol% sau 1:AP $1nternet :essa"e Access Protocol% $Crispin, /KKJ% permite trimiterea i recepionarea e-mail-urilor& )n plus, 5:4P este din ce n ce mai mult utilizat ca un protocol de transport pentru schimbul de mesa;e asincrone bazate pe 5?AP $TSP & $eal Time Streamin( Protocol - distribuirea de date multimedia n timp real - streaming - permite schimbarea manual a aperioadei de timp+ audio-vizuale HTTP & HyperText Transfer Protocol - cel mai popular protocol de transport pentru coninutul 9eb - construit pe stiva 4CP<1P - resursele sunt adresate prin utilizarea conceptului de '@1 - '@A-urile pot fi utilizate n coneiune cu sistemul numelor de domenii - un '@1 - descrie de obicei trei lucruri - )n plus, '@1-rile definesc un separator al intero"rii $*b+%, care permite 344P-ului s transmit parametrii vezi si @-C 6VJK, @-C 6H.U $TSP & $eal Time Streamin( Protocol @45P reprezint un standard publicat de 1G4- $1nternet Gn"ineerin" 4asD -orce% i a fost proiectat pentru a suporta distribuirea de date multimedia n timp real& 5pre deosebire de 344P, @45P permite transmiterea resurselor ctre client ntr-un anumit timp n locul transmiterii acestora n ntre"ime $imediat%& Aceast form de transmitere este cunoscut sub denumirea de streaming& 5treamin"-ul permite schimbarea manual a aperioadei de timp+ audio-vizuale prin solicitarea stream-ului la un anumit moment, astfel oferindu-ne posibilitatea de a controla rularea componentei media ntr-un mod continuu& Ce eemplu, putem implementa funcii similare celor de pe dispozitivele hi-fi, cum ar fi apauza+, anainte+ sau anapoi+ sau repoziiona rularea componentei media ntr-un moment viitor sau trecut& HTTP & HyperText Transfer Protocol 344P a devenit un protocol foarte important n ultimii ani& Proliferarea pe scar lar" a standardelor web i posibilitatea de etindere a web-ului au permis 344P-ului s devin cel mai popular protocol de transport pentru coninutul 9eb& 344P este un protocol bazat pe tet, care controleaz modul n care sunt accesate resursele $e0 documentele 34:A sau ima"inile%& 344P este construit pe stiva 4CP<1P, unde serviciul este n mod normal disponibil pe portul YK& @esursele sunt adresate prin utilizarea conceptului de identificator uniform de resurse $'niform @esource 1dentifier, '@1%& '@1-urile nu sunt le"ate de un anumit protocol cum este 344P, ele reprezint un mecanism de adresare uniform, care este utilizat de asemenea n 344P& 'n '@1 aloc identificatori unici resurselor, indiferent de tipul acestora $documente 34:A, ima"ini%& Cel mai reprezentativ '@1 este '@A-ul $'niform @esource Aocator% - adresa uniform pentru localizarea resurselor& '@A-urile pot fi utilizate n coneiune cu sistemul numelor de domenii $Comain 7ame 52stem, C75% pentru a identifica sistemele "azd pe care se "sesc aceste resurse& 'n '@1 $http0<<www&feaa&uaic&ro<despreSfeaa<inde&htm%, descrie de obicei trei lucruri0 cum este accesat o resurs $e0 http0<< dac este utilizat 344P%, calculatorul destinaie $"azd% pe care este localizat resursa $e0 www&feaa&uaic&ro% i numele resursei $e0 despreSfeaa<inde&htm%& )n plus, '@1-rile definesc un separator al intero"rii $*b+%, care permite 344P-ului s transmit parametrii $e0 http0<<www&feaa&uaic&ro<catedre<in/&aspbcodcatN1G%& 5intaa complet a '@1-urilor a fost standardizat de 1G4- n @-C 6VJK& :ecanismul de livrare al 344P-ului difer de metoda utilizat n sistemele distribuite orientate obiect& )n timp ce valoarea unui apel de funcie $de eemplu prin utilizarea @PC-ului%, este transmis doar atunci c!nd funcia a fost procesat n ntre"ime, o cerere 344P conduce la un stream de date, care este evaluat imediat, chiar dac nu toate datele au fost transmise n ntre"ime& Aceast metod are beneficiul c pa"inile web pot fi interpretate imediat, astfel fiind livrate i afiate mai rapid& 4otui, livrarea imediat de ctre un server web i procesarea imediat de ctre un client web poate face ca eecuia unui pro"ram ntr-o pa"in 34:A $numit client- side scripting% s fie defectuoas dac plasarea lui n cadrul stream-ului de date apare la un timp nepotrivit& 344P a fost standardizat n @-C 6H.U i este disponibil n prezent n versiunea 6&6& 9rm%rirea sesiunii - distin"ere cereri de la utilizatori simultani i s identifice cererile care vin de la acelai utilizator - implementat un mecanism de urmrire a sesiunilor prin rescrierea '@A-ului sau cooDies 9rm%rirea sesiunii Aplicaiile web interactive trebuie s fie capabile s distin" cererile de la numeroi utilizatori simultani i s identifice cererile care vin de la acelai utilizator& 4ermenul sesiune este utilizat pentru a defini o astfel de secven a cererilor 344P dintre un anumit utilizator i un server ntr-o anumit perioad de timp& Ceoarece 344P este un protocol simplu, serverul web nu poate aloca automat cererile venite pentru o sesiune& Cistin"em dou metode principale care permit serverului web s aloce automat o cerere venit pentru o sesiune0 - n fiecare din cererile sale ctre un server, clientul se identific ntr-un mod unic& Aceasta nseamn c toate datele trimise ctre server sunt alocate ulterior sesiunii respective, - toate datele schimbate ntre un client i un server sunt incluse n fiecare cerere pe care un client o trimite unui server& )n ma;oritatea cazurilor este de dorit s lsm datele lo"icii aplicaiei pe server, astfel nc!t lo"ica aplicaiei s nu fie at!t de simpl& Ce obicei, este implementat un mecanism de urmrire a sesiunilor prin rescrierea '@A-ului sau cooDies& @escrierea '@A-ului @escrierea '@A-ului este un mecanism care transmite datele relevante ale sesiunii ca parametri ntr-un '@A& Catele transmise pot fi apoi utilizate pentru a reconstrui sesiunea de pe server& Cin nefericire, acest mecanism are anumite dezavanta;e0 -dac este necesar un volum mare de date ntr-o sesiune, atunci '@A-ul poate deveni cu uurin dezordonat i susceptibil la erori& Cin momentul n care aplicaiile web tind s devin complee, cerinele pentru volumul de date care trebuie stocate ntr-o sesiune poate crete de asemenea, - limitarea lun"imii unui '@A poate determina ca acest mecanism s devin inutilizabil pe anumite sisteme, -dezavanta;ul principal este c '@A-urile codificate n pa"inile 34:A trebuie s fie adaptate dinamic pentru fiecare sesiune, de eemplu pentru a codifica o sesiune ntr-un 1C de sesiune dintr-un '@A& Aceasta nseamn c pa"inile sau le"turile din aplicaie trebuie s fie "enerate dinamic pentru fiecare cerere& Putem folosi cooDies pentru a rezolva ele"ant aceast problem& -iiere cooDie CooDie-urile sunt fiiere tet mici folosite pentru a stoca informaia de pe server $e0 1C- ul unei sesiuni% pe sistemul clientului& Aceast informaie este scris ntr-un fiier tet sub forma perechilor nume-valoare& CooDie-urile sunt "enerate de ctre serverele web i transmise clienilor n antetul rspunsului 344P& =rowser-ul web al clientului stocheaz un cooDie pe sistemul clientului, iar ulterior va utiliza ntotdeauna acest cooDie pentru a-l transmite serverului ce a "enerat cooDie-ul cu fiecare cerere& CooDie-urile sunt clasificate n cooDie-uri *permanente+$rm!n stocate pe hard disD-ul de pe calculatorul clientului% sau *sesiune+ $sunt pstrate doar p!n c!nd situl este prsit sau browser-ul este nchis%& Aceasta nseamn c serverul poate identifica cererile de la anumit client i le poate aloca unei sesiuni& CooDie-urile pot include i datele epirrii, odat ce o astfel de data epir, browser-ul clientului nu va mai trimite cooDie-ul ctre server& Principalul beneficiu al cooDie-urilor este c informaia care identific o sesiune poate fi schimbat n mod transparent ntre un client i un server& Gle pot fi utilizate pentru a implementa cu uurin urmrirea sesiunilor i nu necesit un efort sporit deoarece doar 1C-ul sesiunii "enerate de server trebuie transmis& Principalul dezavanta; al cooDie-urilor este c anumii utilizatori dezactiveaz funcionalitatea cooDie n browsere pentru a preveni schimbarea comportamentului browserului& Tehnolo(ii client&si'e A7utoare i plu(in&uri & adau" funcionaliti browserelor web Applet&uri Kava - pro"rame scrise n Iava care sunt ncrcate dinamic n browser - ruleaz ntr-un *sandboa Controale Active" & utilizarea componentei C?: n browserele web - componentele pot fi dezvoltate ntr-un limba; arbitrar $Iava, (isual =asic i C##%, Tehnologii client-side A7utoare i plu(in&uri Pro"ramele de a;utor sunt aplicaii care adau" funcionaliti browserelor web& )n momentul n care un browser recepioneaz un tip de media inclus n lista de a;utoare sau plu"in- uri, tipul respectiv este trimis unui pro"ram etern specificat n list pentru o procesare ulterioar& Gemple de aplicaii de a;utor sunt 9in_ip i Acrobat @eader& 'n pro"ram de a;utor trebuie instalat de ctre utilizator pe calculatorul clientului& Pro"ramul de a;utor este apoi invocat pentru asocierea lui la tipul :1:G corespunztor& ?rice pro"ram poate deveni de fapt un pro"ram de a;utor, dezavanta;ul acestor pro"rame const n comunicarea comple cu browser- ul& Plu"in-urile pot rezolva aceast problem& 'n plu"-in este un pro"ram de a;utor instalat permanent n browser pentru optimizarea comunicrii& Applet&uri Kava Applet-urile Iava sunt pro"rame scrise n Iava care sunt ncrcate dinamic n browser& Gle ruleaz ntr-un *sandbo+, ceea ce mpiedic accesul lor direct la resursele sistemului client sau permite accesarea resurselor doar dup controlul politicii de securitate& Applet-urile sunt ncrcate de un server web i eecutate ntr-un browser ntr-un mediu de lucru numit I(: $Iava (irtual :achine%& Applet-urile nu sunt stocate n mod persistent pe un sistem& 5pre deosebire de controalele ActiveL, applet-urile sunt compilate ntr-un format b2tecode independent de sistem, ceea ce le permite s ruleze pe toate platformele care dispun de I(:& Controale Active" Prin controalele ActiveL :icrosoft a permis utilizarea componentei C?: n browserele web& Controalele ActiveL sunt componente C?: standard proiectate pentru a oferi un anumit set de interfee $interfee C?:%& 'n browser web poate ncrca o astfel de component de pe un server web, o poate instania via sistemul de rulare C?: i apoi poate utiliza funcionalitatea acelei componente& 5pre deosebire de applet-urile Iava, controalele ActiveL sunt compilate n cod binar, care ofer o performan deosebit& Controalele ActiveL sunt stocate ntr-un director de cache special al browser-ului, pentru apelrile ulterioare funcionalitatea respectiv fiind de;a disponibil& )n plus, controalele ActiveL au aceleai posibiliti ca un plu"-in sau pro"ram de a;utor, ele pot accesa toate zonele sistemului i funciile utilizatorului care deine controlul securitii pe sistemul respectiv& Acesta reprezint un risc pentru securitate, de accea :icrosoft a dezvoltat o metod care permite distribuitorilor de controale ActiveL s utilizeze o metod cripto"rafic pentru a semna aceste componente& C!nd un control ActiveL este ncrcat ntr-un browser, certificatul distribuitorului Active va fi afiat, utilizatorul poate decide dac este de acord s ruleze pro"ramul n funcie de ncrederea pe care o prezint compania productoare& 'n alt beneficiu al controalelor ActiveL este c componentele pot fi dezvoltate ntr-un limba; arbitrar $Iava, (isual =asic i C##%, at!t timp c!t compilatorul limba;ulului respectiv ndeplinete specificaiile C?: necesare Tehnolo(ii specifice 'ocumentului HTM & Hypertext Mar8up an(ua(e - aplicaie 5>:A care descrie elementele ce pot fi utilizate pentru a marca coninutul ntr-un document hipertet i modul n care aceste elemente relaioneaz SLM & Scalable Lector Mraphics & permite descrierea ima"inilor bidimensionale n L:A - recunoate trei tipuri de obiecte "rafice0 ima"ini vectoriale care constau n linii i curbe, ima"ini i tet SM/ & Syncroni;e' Multime'ia /nte(ration an(ua(e - reprezenta prezentrile multimedia sincronizate "M & e"tensible Mar8up an(ua(e - dialect etrem de simplu al 5>:A-ului - sunt caracterizate prin dou proprieti distincte0 sunt bine formate i sunt valide Tehnologii specifice documentului HTM & Hypertext Mar8up an(ua(e 34:A este o aplicaie 5>:A care descrie elementele ce pot fi utilizate pentru a marca coninutul ntr-un document hipertet i modul n care aceste elemente relaioneaz $ntr-un C4C - Cocument 42pe Cefinition%& Glementele de marcare sunt nchise ntre simbolurile *<+ i *M+& 34:A definete numeroase etichete pentru a indica semantici diferite& Ce eemplu, eticheta <36M poate fi folosit pentru a marca un titlu de nivel 6& Gtichetele sunt folosite pentru structurarea lo"ic a documentului& Ce eemplu, elementul de marcare <stron"M specific faptul c partea din document dintre aceste perechi de etichete trebuie interpretat sub forma unei evidenieri lo"ice, pe care browserele o afieaz n mod normal cu aldine& Catorit posibilitilor limitate ale proiectrii "rafice, au fost introduse elemente suplimentare pentru a permite proiectanilor s influeneze n mod direct la2out-ul unui document& Ce eemplu, elementul de marcare <bM poate fi folosit pentru a instrui browserele s reprezinte o parte din document cu aldine& ?ricum, semantica marcrii este pierdut& Catorit multitudinii de posibiliti de a influena la2out-ul, nu este surprinztor c ma;oritatea resurselor 34:A ne"li;eaz utilizarea elementelor de marcare lo"ice<semantice& Aceasta face mult mai dificil interpretarea informaiilor de ctre maini& 5ituaia este mult mai critic deoarece informaia ar putea fi, altminteri, uor convertit n alte formate $de eemplu pentru a o face utilizabil pe dispozitive cum sunt telefoanele mobile%& 5implitatea n crearea i procesarea resurselor 34:A $ele sunt simple fiiere tet% este o proprietate foarte important pentru caracterul omniprezent al informaiei pe 9eb, aceasta fiind mpiedicat de aspectul prezentrii& 1ntroducerea noilor elemente de marcare a fost facilitat ndeosebi de faptul c browserele respin" sau i"nor elementele de marcare pe care nu le cunosc& Aceast fleibilitate a fost utilizat n mod repetat de productorii de browsere pentru a etinde opiunile de la2out i n cele din urm a condus la noi standarde, dar i la reprezentri *incompatibile+& Aceste probleme au ncura;at introducerea unui mare numr de etensii& Ce eemplu, C55 $Cascadin" 5t2le 5heets% reprezint un mecanism simplu pentru adu"area informaiilor de stil $fonturi, culori etc&% la documentele 9eb& )mpreun cu introducerea L34:A-ului, un dialect L:A, a devenit posibil utilizarea beneficiilor L:A-ului ca un limba; *curat+ pentru descrierea documentelor 34:A& SLM & Scalable Lector Mraphics -ormatul ima"ine 5(> $9JC, /KK6a% permite descrierea ima"inilor bidimensionale n L:A& 5(> recunoate trei tipuri de obiecte "rafice0 ima"ini vectoriale care constau n linii i curbe, ima"ini i tet& ?biectele "rafice pot fi "rupate i inte"rate n alte obiecte& 5(> suport interaciuni bazate pe evenimente $e0 rspunsuri la micarea mouse-ului sau apsarea unui buton%& Ce eemplu, un astfel de rspuns poate fi mrirea unei ima"ini& )n plus, este posibil definirea unui cursor special pentru interactivitatea cu utilizatorul& 5(> suport toate tipurile de animaii, oferind un numr mare de funcii, inclusiv cea de mutare a unui obiect "rafic de-a lun"ul unei ci pre-definite& Catorit acestor proprieti, acest format este adecvat pentru toate tipurile de "rafice vectoriale interactive i animate& Gemple de astfel de aplicaii includ reprezentrile CAC, hrile i rutele& SM/ & Syncroni;e' Multime'ia /nte(ration an(ua(e Aimba;ul 5:1A $9JC, /KK6a% a fost dezvoltat de 9JC pentru a reprezenta prezentrile multimedia sincronizate& 5:1A permite coordonarea prezentrii diferitelor tipuri de media $audio, video, tet i ima"ini%& Ce eemplu, 5:1A ne permite s definim eact c!nd ar trebui rostit o fraz i ce ima"ine sau tet ar trebui s apar n paralel& -iecare mediu poate fi adresat direct i putem specifica locaia i perioada reprezentrii& Perioadele de start i final pentru fiecare mediu pot fi sincronizate relativ uor cu cele ale altor medii& 4rsturile de control standard permit utilizatorului s interacioneze cu 5:1A, fiind posibile oprirea, pauza, derularea nainte sau napoi a ntre"ii prezentri& -unciile suplimentare includ "eneratoarele aleatorii, rularea cu ncetinitorul i perioada de timp trecut $time lapse%& Pe parcursul prezentrii, utilizatorul poate selecta le"turi pentru a navi"a ctre alte pa"ini web& )n versiunea actual 5:1A include funcii pentru animaie, prezentarea controlat a coninutului, le"turi, inte"rarea diferitelor tipuri de media, coordonare i sincronizare, controlul timpului i efecte de tranziie& "M & e"tensible Mar8up an(ua(e L:A $eLtensible :arDup Aan"ua"e% este un dialect etrem de simplu al 5>:A-ului& ?biectivul este de a permite 5>:A-ului "eneric s fie deservit, recepionat i procesat pe web ntr-un mod posibil n prezent cu 34:A& Cin acest motiv, L:A a fost proiectat pentru a uura implementarea i pentru interoperabilitate cu 5>:A i 34:A $9JC 9orDin" Craft, 7oiembrie 6HHV%& Pe baza recomandrilor 9JC, L:A $eLtensible :arDup Aan"ua"e, 9JC, 6HHY% a cunoscut un real pro"res n ceea ce privete utilizarea i proliferarea sa n cadrul i n afara 9eb- ului& Catorit capacitii de a defini ntr-un mod etrem de simplu formate de date fleibile i de a schimba aceste formate pe 9eb, L:A ofer premisa pentru omo"enizarea mediilor etero"ene& Aceasta nseamn c, pe l!n" descrierea uniform a formatelor de date, putem lua n considerare semantica acestor date, indiferent de informaie& Capacitatea de etindere provine din faptul c, spre deosebire de 34:A, L:A nu *dicteaz+ o marcare predefinit cu semantica implicit, ci ne permite definirea fleibil a sensului semanticii i a structurii unui document L:A, acesta put!nd astfel fi adaptat la anumite circumstane& Acesta este motivul pentru care L:A, n loc de a fi o alternativ la 34:A, deschide noi moduri de a descrie datele pentru diverse scopuri& Cocumentele L:A sunt caracterizate prin dou proprieti distincte0 sunt bine formate i sunt valide& =una structurare este n mod inerent ancorat n L:A, n timp ce validitatea poate fi asi"urat de C4C $Cocument 42pe Cefinition% i schemele L:A& Pentru asi"urarea c un document L:A este bine format, eist re"uli "enerale pentru sintaa documentelor L:A, care -spre deosebire de 34:A- trebuie respectate ntocmai& Ce fapt, specificaiile L:A abordeaz aceste re"uli sub forma *constr!n"erilor+& 4abelul V&6 prezint anumite eemple pentru a demonstra re"ulile pentru o bun structurare din L:A& $e(uli pentru o bun% structurare a unui 'ocument "M .escriere Mreit Corect 4oate etichetele trebuie s apar n perechi pe acelai nivel de imbricare& )n plus, pot apare etichete "oale $<=<M <AM<=M<<AM<<=M <AM<=M<<=M<<AM sau <AM<=<M<<AM Gtichetele sunt sensibile la litere mari sau mici <AM<<aM <AM<<AM 4oate atributele trebuie nchise ntre "hilimele <A elem N U<M <A elem N *U+<M 5pre deosebire de 34:A, nu eist atribute far valori <td nowrapM <td st2le N *white- space0nowrap+ 7umele de etichete trebuie s respecte re"ulile pentru numele elementelor& Ce eemplu, elementele "oale i < sau M sunt invalide& <A =M <<A =M <A=M<<A=M Tehnologii specifice documentului HTM & Hypertext Mar8up an(ua(e 34:A este o aplicaie 5>:A care descrie elementele ce pot fi utilizate pentru a marca coninutul ntr-un document hipertet i modul n care aceste elemente relaioneaz $ntr-un C4C - Cocument 42pe Cefinition%& Glementele de marcare sunt nchise ntre simbolurile *<+ i *M+& 34:A definete numeroase etichete pentru a indica semantici diferite& Ce eemplu, eticheta <36M poate fi folosit pentru a marca un titlu de nivel 6& Gtichetele sunt folosite pentru structurarea lo"ic a documentului& Ce eemplu, elementul de marcare <stron"M specific faptul c partea din document dintre aceste perechi de etichete trebuie interpretat sub forma unei evidenieri lo"ice, pe care browserele o afieaz n mod normal cu aldine& Catorit posibilitilor limitate ale proiectrii "rafice, au fost introduse elemente suplimentare pentru a permite proiectanilor s influeneze n mod direct la2out-ul unui document& Ce eemplu, elementul de marcare <bM poate fi folosit pentru a instrui browserele s reprezinte o parte din document cu aldine& ?ricum, semantica marcrii este pierdut& Catorit multitudinii de posibiliti de a influena la2out-ul, nu este surprinztor c ma;oritatea resurselor 34:A ne"li;eaz utilizarea elementelor de marcare lo"ice<semantice& Aceasta face mult mai dificil interpretarea informaiilor de ctre maini& 5ituaia este mult mai critic deoarece informaia ar putea fi, altminteri, uor convertit n alte formate $de eemplu pentru a o face utilizabil pe dispozitive cum sunt telefoanele mobile%& 5implitatea n crearea i procesarea resurselor 34:A $ele sunt simple fiiere tet% este o proprietate foarte important pentru caracterul omniprezent al informaiei pe 9eb, aceasta fiind mpiedicat de aspectul prezentrii& 1ntroducerea noilor elemente de marcare a fost facilitat ndeosebi de faptul c browserele respin" sau i"nor elementele de marcare pe care nu le cunosc& Aceast fleibilitate a fost utilizat n mod repetat de productorii de browsere pentru a etinde opiunile de la2out i n cele din urm a condus la noi standarde, dar i la reprezentri *incompatibile+& Aceste probleme au ncura;at introducerea unui mare numr de etensii& Ce eemplu, C55 $Cascadin" 5t2le 5heets% reprezint un mecanism simplu pentru adu"area informaiilor de stil $fonturi, culori etc&% la documentele 9eb& )mpreun cu introducerea L34:A-ului, un dialect L:A, a devenit posibil utilizarea beneficiilor L:A-ului ca un limba; *curat+ pentru descrierea documentelor 34:A& SLM & Scalable Lector Mraphics -ormatul ima"ine 5(> $9JC, /KK6a% permite descrierea ima"inilor bidimensionale n L:A& 5(> recunoate trei tipuri de obiecte "rafice0 ima"ini vectoriale care constau n linii i curbe, ima"ini i tet& ?biectele "rafice pot fi "rupate i inte"rate n alte obiecte& 5(> suport interaciuni bazate pe evenimente $e0 rspunsuri la micarea mouse-ului sau apsarea unui buton%& Ce eemplu, un astfel de rspuns poate fi mrirea unei ima"ini& )n plus, este posibil definirea unui cursor special pentru interactivitatea cu utilizatorul& 5(> suport toate tipurile de animaii, oferind un numr mare de funcii, inclusiv cea de mutare a unui obiect "rafic de-a lun"ul unei ci pre-definite& Catorit acestor proprieti, acest format este adecvat pentru toate tipurile de "rafice vectoriale interactive i animate& Gemple de astfel de aplicaii includ reprezentrile CAC, hrile i rutele& SM/ & Syncroni;e' Multime'ia /nte(ration an(ua(e Aimba;ul 5:1A $9JC, /KK6a% a fost dezvoltat de 9JC pentru a reprezenta prezentrile multimedia sincronizate& 5:1A permite coordonarea prezentrii diferitelor tipuri de media $audio, video, tet i ima"ini%& Ce eemplu, 5:1A ne permite s definim eact c!nd ar trebui rostit o fraz i ce ima"ine sau tet ar trebui s apar n paralel& -iecare mediu poate fi adresat direct i putem specifica locaia i perioada reprezentrii& Perioadele de start i final pentru fiecare mediu pot fi sincronizate relativ uor cu cele ale altor medii& 4rsturile de control standard permit utilizatorului s interacioneze cu 5:1A, fiind posibile oprirea, pauza, derularea nainte sau napoi a ntre"ii prezentri& -unciile suplimentare includ "eneratoarele aleatorii, rularea cu ncetinitorul i perioada de timp trecut $time lapse%& Pe parcursul prezentrii, utilizatorul poate selecta le"turi pentru a navi"a ctre alte pa"ini web& )n versiunea actual 5:1A include funcii pentru animaie, prezentarea controlat a coninutului, le"turi, inte"rarea diferitelor tipuri de media, coordonare i sincronizare, controlul timpului i efecte de tranziie& "M & e"tensible Mar8up an(ua(e L:A $eLtensible :arDup Aan"ua"e% este un dialect etrem de simplu al 5>:A-ului& ?biectivul este de a permite 5>:A-ului "eneric s fie deservit, recepionat i procesat pe web ntr-un mod posibil n prezent cu 34:A& Cin acest motiv, L:A a fost proiectat pentru a uura implementarea i pentru interoperabilitate cu 5>:A i 34:A $9JC 9orDin" Craft, 7oiembrie 6HHV%& Pe baza recomandrilor 9JC, L:A $eLtensible :arDup Aan"ua"e, 9JC, 6HHY% a cunoscut un real pro"res n ceea ce privete utilizarea i proliferarea sa n cadrul i n afara 9eb- ului& Catorit capacitii de a defini ntr-un mod etrem de simplu formate de date fleibile i de a schimba aceste formate pe 9eb, L:A ofer premisa pentru omo"enizarea mediilor etero"ene& Aceasta nseamn c, pe l!n" descrierea uniform a formatelor de date, putem lua n considerare semantica acestor date, indiferent de informaie& Capacitatea de etindere provine din faptul c, spre deosebire de 34:A, L:A nu *dicteaz+ o marcare predefinit cu semantica implicit, ci ne permite definirea fleibil a sensului semanticii i a structurii unui document L:A, acesta put!nd astfel fi adaptat la anumite circumstane& Acesta este motivul pentru care L:A, n loc de a fi o alternativ la 34:A, deschide noi moduri de a descrie datele pentru diverse scopuri& Cocumentele L:A sunt caracterizate prin dou proprieti distincte0 sunt bine formate i sunt valide& =una structurare este n mod inerent ancorat n L:A, n timp ce validitatea poate fi asi"urat de C4C $Cocument 42pe Cefinition% i schemele L:A& Pentru asi"urarea c un document L:A este bine format, eist re"uli "enerale pentru sintaa documentelor L:A, care -spre deosebire de 34:A- trebuie respectate ntocmai& Ce fapt, specificaiile L:A abordeaz aceste re"uli sub forma *constr!n"erilor+& 4abelul V&6 prezint anumite eemple pentru a demonstra re"ulile pentru o bun structurare din L:A& Testarea aplicaiilor web Aplicaiile web - platform de comunicare esenial pentru multe companii trebuie s ofere o nalt performan, fiabilitate i servicii uor de folosit 4estarea - una dintre cele mai importante msuri de asi"urare a calitii - dezvoltarea unui plan eficient de testare care s acopere "ama lar" de caracteristici de calitate ale aplicaiilor web, care s fac fa la schimbri 4estarea aplicaiilor web - cerine speciale de testare Aplicaiile web au evoluat ntr-o platform de comunicare esenial pentru multe companii& Aplicaiile web sunt deosebit de importante pentru comer, schimbul de informaii i numeroase activiti sociale& Cin acest motiv, aplicaiile web trebuie s ofere o nalt performan, fiabilitate i servicii uor de folosit& ?ferirea unor aplicaii web de calitate pentru utilizatorii eisteni i cei viitori reprezint o provocare ma;or pentru asi"urarea calitii& 4estarea este una dintre cele mai importante msuri de asi"urare a calitii& :etodele i tehnicile de testare tradiionale se concentreaz n principal pe testarea cerinelor funcionale& Cin pcate, acestea nu se focalizeaz suficient pe cerinele de calitate importante pentru utilizatorii de aplicaii 9eb, cum ar fi performana, uurina n folosire, fiabilitatea i securitatea& ? provocare ma;or n testarea aplicaiilor web este dominana schimbrii& Cerinele utilizatorilor i ateptrile, platformele i confi"uraiile, modelele de afaceri, dezvoltarea i testarea bu"etelor sunt subiecte supuse unor modificri frecvente pe tot parcursul ciclului de via al aplicaiilor web& Prin urmare, este necesar dezvoltarea unui plan eficient de testare care s acopere "ama lar" de caracteristici de calitate ale aplicaiilor web, care s fac fa la schimbri i care s a;ute la implementarea i buna nele"ere a unei testri sistematice, complete i lipsit de riscuri& 'n astfel de plan de testare formeaz baza pentru construirea unei metode model i a instrumentelor aferente& Gperiena practic a demonstrat c testarea metodic i sistematic fundamentat pe un astfel de plan este realizabil i util pe tot parcursul dezvoltrii i evoluiei aplicaiilor web& Aplicaiile web ridic noi provocri pentru asi"urarea calitii i testare& Aplicaiile web sunt compuse din diverse componente software, posibil oferite de productori diferii& Calitatea unei aplicaii web este n principal determinat de calitatea fiecrei componente software implicate i de calitatea le"turilor dintre acestea& 4estarea este unul din cele mai importante instrumente folosite n dezvoltarea aplicaiilor web pentru a realiza produse de nalt calitate, care ndeplinesc ateptrile utilizatorilor& 4estarea aplicaiilor web mer"e dincolo de testarea sistemelor software tradiionale& Cei se aplic cerine similare la corectitudinea tehnic a unei aplicaii, utilizarea unei aplicaii 9eb de ctre "rupuri etero"ene de utilizatori, pe un numr mare de platforme, duce la cerine speciale de testare& Ceseori este "reu de anticipat numrul viitor de utilizatori pentru o aplicaie web& 4impul de rspuns este unul din factorii de succes decisivi pe 1nternet i trebuie s fie testat din timp, chiar dac platforma hardware final este n "eneral disponibil mult mai t!rziu& Ali factori importani pentru succesul unei aplicaii web $uurina n folosire, disponibilitatea, compatibilitatea cu browserele, securitatea, actualitatea i eficiena% trebuie de asemenea s fie luai in considerare n testrile timpurii& Caracteristicile testrii n in"ineria web erorile din Oconinuta structura hipertet cerinele soft de la nivelul prezentare distribuirea multi-platform multi-lin"vismul i uurina n folosire tinereeaO i caracterul multidisciplinar al echipelor componente software diferite i sisteme inte"rate oferite de diferii furnizori OimaturitateaO multor metode i instrumente de testare Odominana schimbriiO Caracteristicile test%rii )n in(ineria web Glementele de baz prezentate anterior se aplic at!t la testarea software-ului tradiional c!t i la cea a aplicaiilor web& 'rmtoarele puncte subliniaz cele mai importante caracteristici i provocri ale testrii aplicaiilor web, pe baza particularitilor aplicaiei0 B erorile din OconinutO pot fi deseori "site doar prin msuri manuale sau or"anizaionale costisitoare $de eemplu, prin corectarea "reelilor%& -orme simple de verificare automat $de eemplu, un corector orto"rafic% ofer un a;utor valoros, dar sunt limitate la o palet redus de poteniale defecte& :eta-informaiile despre structurarea i semantica coninutului sau un sistem de referin care ofer valori comparative constituie deseori o condiie prealabil pentru a putea efectua teste de profunzime& Cac aceste premise nu sunt disponibile, trebuie "site alte abordri& Ce eemplu, dac datele privind situaia zpezii dintr-un sistem de informare turistic se modific frecvent i nu pot fi testate cu acuratee folosind meta-informaii sau valori comparative, atunci validitatea datelor poate fi restricionat euristic la dou zile pentru a asi"ura actualitatea datelor& B c!nd testm structura hipertet, trebuie s ne asi"urm c pa"inile sunt le"ate n mod corect $de eemplu, fiecare pa"in trebuie s fie accesibil printr-o le"tur i, la r!ndul su, s aib o le"tur napoi la structura hipertet%& )n plus, toate le"turile trebuie s duc la pa"ini eistente, adic nu trebuie s fie antrerupte+& Ae"turile nefuncionale reprezint erori frecvente atunci c!nd le"turile statice predefinite devin invalide $de eemplu, atunci c!nd se face referire la o pa"in web etern, care a fost eliminat sau i-a modificat structura%& ? alt surs de erori este navi"area prin intermediul funciilor browser-ului web $de eemplu, O)napoi n 1storicO%, n asociere cu strile n care poate fi o aplicaie web& 'n eemplu tipic nt!lnit este0 dac un utilizator adau" un articol n coul de cumprturi virtual n timp ce realizeaz cumprturi online, atunci acest articol va rm!ne n coul de cumprturi, chiar dac utilizatorul se duce cu un pas napoi n istoricul browser-ului, afi!nd pa"ina anterioar fr acel articol& B cerinele soft, subiective de la nivelul prezentare al aplicaiilor web $de eemplu, OesteticaO%, sunt dificil de specificat& Cu toate acestea, ele sunt o condiie prealabil esenial pentru tester pentru a putea distin"e n mod clar i obiectiv comportamentul acceptabil $i de dorit% de comportamentul defectuos& )n plus, doar c!teva metode i tehnici convenionale pentru testarea software-ul sunt adecvate pentru testarea prezentrii& Pentru a testa o prezentare trebuie utilizate metode din alte discipline $de eemplu, publicistica tiprit% i msuri or"anizaionale, similar cu asi"urarea calitii coninutului& B numrul mare de dispozitive poteniale i caracteristicile lor diferite de performan $distribuirea multi-platform% reprezint o alt provocare& Chiar dac un tester dispune de toate dispozitivele posibile, acesta ar trebui s ruleze cazurile de test pentru fiecare dispozitiv& Cei simulatoarele pentru dispozitive pot fi de a;utor dac tester-ul nu dispune fizic de dispozitive, ele nsele prezint n multe cazuri defecte, sau nu pot simula cu eactitate proprietile unui dispozitiv& B datorit disponibilitii i utilizrii "lobale a aplicaiilor web, eist o serie de provocri la testarea aplicaiilor web, privind multi-lin"vismul i uurina n folosire& Provocarea principal este recunoaterea interdependenelor culturale i luarea lor n considerare n mod adecvat la testare& Ce eemplu, ordinea de citire n diferite culturi $de eemplu0 arab, chinez% implic folosirea a;utoarelor de navi"are lateral n fereastra browser-ului& ? alt dificultate provine din lun"imea diferit a mesa;elor tet n limbi diferite, care poate determina probleme n afiarea la2out-ului& B OtinereeaO i caracterul multidisciplinar al echipelor sunt adesea le"ate de slaba acceptare a metodolo"iilor i lipsa de promptitudine n efectuarea testrii& Ceseori, cunotinele despre metode, tehnolo"ii i instrumente trebuie acumulate pe parcursul proiectului& Punctele de vedere diferite cu privire la testare trebuie unificate& 7umai o echip format din membri cu eperien va a;un"e la o decizie corect privind volumul testrii - prea mult testare poate fi la fel de neproductiv ca o testare insuficient& 4esterii sunt deseori tentai s testeze tot n ntre"ime, mai ales la nceput& B aplicaiile web constau dintr-un numr de componente software diferite $de eemplu0 servere web, baze de date, middleware% i sisteme inte"rate $de eemplu0 sisteme G@P, sisteme de mana"ement al coninutului%, care sunt oferite de diferii furnizori, i implementate cu a;utorul diferitelor tehnolo"ii& Aceste componente formeaz infrastructura tehnic a aplicaiilor 9eb& Calitatea unei aplicaii 9eb este n principal determinat de calitatea tuturor componentelor software sin"ulare i de calitatea interfeelor dintre ele& Aceasta nseamn c, pe l!n" componentele dezvoltate ntr-un proiect, va trebui s testm componentele software furnizate de pri tere, precum i inte"rarea i confi"urarea acestor componente& :ulte erori n aplicaiile web rezult din OimaturitateaO unor componente software, OincompatibilitateaO ntre componentele software, sau confi"urarea "reit a unor componente software corecte& B OimaturitateaO multor metode i instrumente de testare constituie o provocare suplimentar pentru tester& Cac o aplicaie 9eb este implementat cu o tehnolo"ie nou, de cele mai multe ori nu eist nc metode i instrumente de testare adecvate& 1ar dac primele instrumente de testare devin disponibile, ma;oritatea sunt imature, prezint defecte i sunt dificil de utilizat& B Odominana schimbriiO face ca testarea aplicaiilor web s fie mai comple dec!t testarea software-ului tradiional& Cerinele i ateptrile utilizatorilor, platformele, sistemele de operare, tehnolo"iile i confi"uraiile 1nternet, modelele de afaceri i ateptrile clienilor, dezvoltarea i testarea bu"etelor sunt subiectul unor modificri frecvente pe tot parcursul ciclului de via al unei aplicaii 9eb& Adaptarea la cerinele noi sau modificate este dificil deoarece funcionalitatea eistent trebuie retestat ori de c!te ori se face o schimbare& Aceasta nseamn c o sin"ur funcionalitate trebuie testat de mai multe ori, ceea ce pledeaz pentru ideea realizrii unor teste automate i repetabile, pun!nd accentul n special pe testele de re"resie, care verific dac ceea ce a funcionat mai funcioneaz nc dup o anumit schimbare& 'p"rade-urile i mi"rarea aplicaiilor web determinate de schimbrile permanente ale platformelor, sistemelor de operare sau hardware-ului, trebuie mai nt!i s ruleze i s se dovedeasc de succes n mediul de test, pentru evitarea unor probleme neateptate n mediul de producie& Meto'e i tehnici 'e testare C!nd testm aplicaiile web, putem aplica toate metodele i tehnicile folosite n testarea software-ului tradiional& Pentru a ine cont de specificul aplicaiilor web, unele din aceste metode i tehnici de testare vor trebui reanalizate sau adaptate i etinse $de eemplu, OCe factori de influen trebuie luai n considerare atunci c!nd testm compatibilitatea cu diferite browsere 9ebbO%& )n plus, cel mai probabil vom avea nevoie de noi metode i tehnici de testare pentru a acoperi acele caracteristici care nu au nici o coresponden n testarea software-ului tradiional $de eemplu, testarea structurii hipertet%& @ezumatul prezentat n 4abelul W-6 corespunde schemei de test prezentate n seciunea W&U i este structurat n funcie de dimensiunea obiectelor testrii i dimensiunea caracteristicilor de calitate& 4abelul ofer o privire de ansamblu asupra metodelor, tehnicilor, i claselor de instrumente pentru testarea aplicaiilor web& 4abelul arat tehnicile i metodele de testare reprezentative, ele servind drept baz de referin pentru ale"erea metodelor i utilitarelor specifice unui proiect& 4abelul W-6 :etode, tehnici, i clase de instrumente pentru testarea aplicaiilor web$a% Meto'e i tehnici 'e testare C!nd testm aplicaiile web, putem aplica toate metodele i tehnicile folosite n testarea software-ului tradiional& Pentru a ine cont de specificul aplicaiilor web, unele din aceste metode i tehnici de testare vor trebui reanalizate sau adaptate i etinse $de eemplu, OCe factori de influen trebuie luai n considerare atunci c!nd testm compatibilitatea cu diferite browsere 9ebbO%& )n plus, cel mai probabil vom avea nevoie de noi metode i tehnici de testare pentru a acoperi acele caracteristici care nu au nici o coresponden n testarea software-ului tradiional $de eemplu, testarea structurii hipertet%& @ezumatul prezentat n 4abelul W-6 corespunde schemei de test prezentate n seciunea W&U i este structurat n funcie de dimensiunea obiectelor testrii i dimensiunea caracteristicilor de calitate& 4abelul ofer o privire de ansamblu asupra metodelor, tehnicilor, i claselor de instrumente pentru testarea aplicaiilor web& 4abelul arat tehnicile i metodele de testare reprezentative, ele servind drept baz de referin pentru ale"erea metodelor i utilitarelor specifice unui proiect& 4abelul W-6 :etode, tehnici, i clase de instrumente pentru testarea aplicaiilor web$b% 4estarea le"turilor leg5turi moarte B "raf de le"turi paginile orane 4estarea n browser starea aplicaiei web este "estionat corectb poate fi reinut o pa"in web $"enerat dinamic% ca preferinb se poate deschide aplicaia web n mai multe ferestreb cum reacioneaz aplicaia c!nd browser-ul are dezactivate cooDie-urile sau limba;ele de scriptb Testarea le(%turilor Ae"turile dintr-o structur de navi"are hipertet care trimit la un nod $pa"ini, ima"ini, etc% sau ancor non-eistente sunt numite leg5turi moarte i reprezint erori bine-cunoscute i frecvente n aplicaiile web& Pentru a testa corectitudinea le"turilor dintre pa"ini $,eriicarea leg5turilor%, toate le"turile sunt urmate n mod sistematic ncep!nd din pa"ina de start, i apoi "rupate ntr- un "raf de le"turi $harta site-ului%& C!nd lansm o rutin de verificare a le"turilor, vom "si nu numai le"turi care duc la pa"ini non-eistente, dar i pa"ini care nu sunt le"ate cu celelalte - aa-numitele pa"ini orfane& 6aginile orane pot fi atinse printr-o le"tur, dar nu au o le"tur napoi ctre structura hipertet& Pentru utilizatorii ocazionali nu este evident unde pot continua navi"area, astfel abandon!nd site-ul web& 1deal ar fi ca pa"inile s fie proiectate astfel nc!t s se termine cu o su"estie privitoare la locul n care cititorul ar putea navi"a n continuare& )n plus, atunci c!nd parcur"em le"turile, putem "si date suplimentare care ofer indicaii privind erorile poteniale $de eemplu, ad!ncimea i ntinderea structurii de navi"are, distana dintre dou pa"ini le"ate, msurat dup numrul de le"turi, sau timpul de ncrcare a pa"inilor%& Testarea )n browser 'n numr mare de browsere web pot fi folosite drept client pentru aplicaiile web& )n funcie de productor $de eemplu, :icrosoft, :ozilla, 7etscape, ?pera%, sau de versiune $de eemplu, 1nternet Gplorer U&K, U&K6, U&U, V&K%, sau de sistemul de operare $de eemplu, 1nternet Gplorer pentru 9indows LP</KKK, 9indows HY<:G<74 sau :acintosh%, sau de echipamentul hardware $de eemplu, rezoluia ecranului i ad!ncimea de culoare%, sau de confi"urare $de eemplu, activarea cooDie-urilor, limba;e de scriptin", foi de stiluri%, fiecare browser web are un comportament diferit& Ceseori standardele specificate de ctre 9JC nu sunt implementate n totalitate i sunt OconsolidateO cu etensii incompatibile specifice distribuitorilor& 5tatistici i setri ale browserelor web sunt disponibile online la adresa http0<<www&webreference&com<stats<browser&html& 4estarea n browser ncearc s descopere erorile din aplicaiile web cauzate de incompatibilitile dintre diferite browsere web& )n acest scop, se definesc funciile de baz ale aplicaiei web, se proiecteaz cazuri de testare adecvate, i se eecut teste pe sisteme int diferite, cu diferite versiuni de browser& )n timpul acestor teste, trebuie s se in cont de urmtoarele ntrebri0 B 5tarea aplicaiei web este "estionat corect, sau pot apare stri inconstante c!nd navi"m direct la o pa"in, de eemplu, prin utilizarea butonul O)napoiO din browserb B Poate fi reinut o pa"in web $"enerat dinamic% ca preferin $booDmarD% n timpul unei tranzacii, astfel nc!t utilizatorii s poat navi"a la pa"ina respectiv mai t!rziu, fr a fi nevoii s introduc un nume de utilizator i o parol pentru a se autentificab B Pot utilizatorii s deschid aplicaia web n mai multe ferestre de browser $una sau mai multe instane ale browser-ului web% concomitentb B Cum reacioneaz aplicaia web atunci c!nd browser-ul are dezactivate cooDie-urile sau limba;ele de scriptb Pentru a limita numrul de combinaii posibile de browsere, platforme, setri i ali factori de influen la un set administrabil de cazuri de test, trebuie analizate confi"uraiile de utilizatori eisteni sau poteniali, de eemplu, prin evaluarea fiierelor ;urnal $lo"-urilor% i consultarea statisticilor browser-ului, pentru a "si cele mai populare combinaii& 4estarea uzabilitii evalueaz uurina n folosirea diferitelor proiectri web, la2out-ului "eneral, i navi"rii n laborator, utiliz!nd camere de lucru echipate cu one-4ay glass recenzia euristic accesibilitatea aplicaiilor web pentru utilizatorii cu dizabiliti 4estarea n condiii de ncrcare, solicitri i continu test n condiii de ncrcare - timpii de rspuns necesari i productivitatea solicitat test n condiii de solicitare - sistemul reacioneaz ntr-un mod controlat n Osituaii de stresa testarea continu - sistemul este testat o perioad mare de timp pentru a descoperi erori OsubtileO& Testarea u;abilit%ii 4estarea uzabilitii evalueaz uurina n folosirea diferitelor proiectri web, la2out-ului "eneral, i navi"rii unei aplicaii web de ctre un set de utilizatori reprezentativi& Accentul se pune pe aspect i pe uurina n folosire& 'n test formal de uzabilitate este de obicei efectuat ntr-un laborator, utiliz!nd camere de lucru echipate cu one-4ay glass, camere video i o staie de nre"istrare& 5unt colectate at!t date cantitative c!t i calitative& Al doilea tip de evaluare a uzabilitii este recenzia euristic& ? recenzie euristic implic unul sau mai muli specialiti care aplic un set de "hiduri pentru a msura uzabilitatea soluiei propuse, identific domeniile de remediat, i ofer recomandri pentru schimbarea desi"n-ului& Aceast evaluare sistematic folosete anumite principii de uzabilitate $e& prevenirea erorilor, asi"urarea feedbacD-ului i consistenei%, care ar trebui s fie urmate de ctre toi proiectanii interfeei cu utilizatorul& )n contetul testrii uzabilitii, trebuie tratat i problema accesibilitii aplicaiilor web pentru utilizatorii cu dizabiliti& Accesibilitatea nseamn c persoanele cu dizabiliti $vizuale, auditive, sau co"nitive% pot percepe, nele"e, navi"a i interaciona cu aplicaiile web& 9eb Accessibilit2 1nitiative $9A1% aparine de 9JC i a dezvoltat abordri pentru evaluarea site- urilor web din punct de vedere al accesibilitii, abordri relevante i pentru testarea aplicaiilor web& Pe l!n" "hidurile de evaluare, 9JC ofer un serviciu de validare $http0<<validator&wJ&or"<% ce trebuie utilizat n asociere cu manualul de referin i testarea de ctre utilizator a caracteristicilor de accesibilitate& Testarea )n con'iii 'e )nc%rcare! solicit%ri i continu% 4estele la ncrcare, testele la solicitri i testarea continu se bazeaz pe proceduri similare& Civerse cereri sunt trimise concomitent aplicaiei web testate de ctre utilizatori simulai pentru a msura timpii de rspuns i capacitatea de transfer $throu"hput%& Cererile utilizate n aceste teste sunt "enerate de ctre unul sau mai multe O"eneratoare de ncrcareO& ? aplicaie de control distribuie script-urile de test "eneratoarelor de ncrcare, de asemenea, sincronizeaz rularea testului i colecteaz rezultatele testului& Cu toate acestea, testele n condiii de ncrcare, testele la solicitri i testarea continu au obiective diferite0 B un test n condiii de ncrcare verific dac un sistem posed timpii de rspuns necesari i productivitatea solicitat& )n acest scop, se determin mai nt!i profilele de ncrcare $tipurile de acces, numrul de vizite pe zi, orele de v!rf, numrul de vizite pe sesiune, numrul de tranzacii pe sesiune, etc% i amestecul de tranzacii $ce funcii vor fi eecutate i cu ce procent%& Apoi, vom determina valorile int pentru timpii de rspuns i capacitatea de transfer $n cazul funcionrii normale i la orele de v!rf, pentru accesri normale sau complee, cu valori minime, maime i medii%& 'lterior, vom rula testele, "ener!nd volumul de ncrcare mpreun cu amestecul de tranzacii definite n profilul de ncrcare i vom msura timpii de rspuns i capacitatea de transfer& @ezultatele sunt evaluate i sunt identificate potenialele O"!tuiriO ale sistemului& B un test n condiii de solicitare verific dac sistemul reacioneaz ntr-un mod controlat n Osituaii de stresO& 5ituaiile de solicitare sunt simulate prin aplicarea unor condiii etreme, cum ar fi suprancrcarea nerealist sau o ncrcare foarte fluctuant& 5copul testului este de a afla dac sistemul a;un"e la timpii de rspuns i capacitatea de transfer necesar n cazul unei solicitri n orice moment i dac acesta rspunde adecvat, prin "enerarea un mesa; de eroare $de eemplu, prin respin"erea tuturor cererilor ulterioare imediat ce un Ovolum predefinit maim de date primiteO este atins%& Aplicaia nu trebuie s cedeze sub OstresO datorit cererilor suplimentare& ?dat ce situaia de solicitare s-a ncheiat, sistemul trebuie s recupereze c!t de repede posibil i s revin la comportamentul normal& B testarea continu se refer la faptul c sistemul este testat o perioad mare de timp pentru a descoperi erori OsubtileO& Problemele de "estionare a resurselor, cum ar fi omiterea deconectrii la bazele de date sau Oscur"erile de memorieO sunt un eemplu tipic& Gle apar atunci c!nd o operaiune aloc resurse $de eemplu, memoria principal, handlere de fiiere sau coneiuni la bazele de date%, dar nu le elibereaz atunci c!nd se termin& Cac am apela de c!teva ori operaiunea cu OdefecteO n testarea OnormalO, nu vom detecta eroarea& Coar testarea continu ne asi"ur c operaiunea este eecutat n mod repetat, pentru perioade lun"i de timp, pentru a reproduce n cele din urm O"!tuirea+ resurselor cauzat de aceast eroare $de eemplu, lipsa de memorie%& 4estarea securitii confidenialitatea autorizarea autentificarea responsabilitatea 1nte"ritatea Cezvoltarea pe baz de testare teste automate, care sunt create nainte de codificare efect psiholo"ic benefic Testarea securit%ii Probabil cel mai critic aspect al unei aplicaii web este securitatea& 7ecesitatea de a re"lementa accesul la informaii, de a verifica identitile utilizatorilor i de a cripta informaiile confideniale este de o importan etrem& 4estarea securitii este un domeniu vast i va fi discutat succint n aceast seciune& 4estarea securitii nu reprezint o tehnic de testare n sensul literal, ci se refer la aspecte le"ate de caracteristica de calitate OsecuritateO0 B confidenialitatea0 Cine poate accesa anumite dateb Cine poate modifica i ter"e dateb B autorizarea0 Cum i unde sunt "estionate drepturile de accesb 5unt criptate dateleb Cum sunt criptate dateleb B autentificarea0 Cum se autentific utilizatorii sau servereleb B responsabilitatea0 Cum se ;urnalizeaz acceseleb B inte"ritatea0 Cum este prote;at informaia mpotriva modificrii pe parcursul transmiterii acesteiab C!nd realizm teste n domeniul securitii, este important s procedm n conformitate cu o schem de testare sistematic& 4oate funciile trebuie s fie testate n ceea ce privete securitatea $altfel spus trebuie s testm fiecare funcie pentru a stabili dac ndeplinete sau nu fiecare din cerinele enumerate mai sus%& 4estarea mecanismelor de securitate $de eemplu, criptarea% doar pentru corectitudine nu este suficient& )n pofida unei corecte implementri a al"oritmului de criptare, o funcie de cutare, de eemplu, ar putea afia date confideniale pe pa"ina de rezultate& Aceasta este o eroare pe care testele rulate ar trebui s o detecteze& )n mod obinuit, testarea securitii nu trebuie s "seasc doar defectele datorate unei funcionaliti dorite dar incomplete sau incorecte, ci i cele datorate unui comportament nedorit care poate avea efecte secundare neprevzute sau chiar conine cod periculos& ? cantitate mare de informaii cu privire la "urile tipice de securitate din aplicaiile web este disponibil pe 1nternet $de eemplu, cele mai frecvente vulnerabiliti i epuneri sunt discutate la http0<<www&cve&mitre&or", o list a problemelor de securitate este disponibil la http0<<www&wJ&or"<5ecurit2<-ac<www-securit2-fac&html%& .e;voltarea pe ba;% 'e testare Cezvoltarea pe baz de testare a aprut n urma abordrii ant!i testeaz+ utilizate n Gtreme Pro"rammin", dar nu implic neaprat o abordare doar a proiectelor a"ile& Aceasta nseamn c putem folosi aceast tehnic chiar i n proiectele convenionale& Aa cum su"ereaz i numele, dezvoltarea pe baz de testare este condus de teste automate, care sunt create nainte de codificare& 'n nou cod este scris dac un test creat anterior eueaz, altfel spus, dezvoltatorii trebuie s scrie testele nainte de a ncepe implementarea $refactorin"%& )n acest fel, proiectarea $i, n consecin, aplicaia% crete Oor"anicO i fiecare unitate are testele proprii& )n mod firesc, proiectarea const din componente nlnuite, ceea ce faciliteaz testarea& Cac testul eueaz, dezvoltatorul implementeaz ceea ce este absolut necesar pentru a eecuta cu succes testul c!t mai rapid posibil, chiar dac acest lucru poate nsemna nclcarea anumitor principii& Cin c!nd n c!nd, dezvoltatorul elimin codul duplicat introdus n timpul implementrii& Cezvoltarea pe baz de testare are un efect psiholo"ic benefic, dezvoltatorul se poate concentra pe pai mici i pstra n minte obiectivul "eneral $Ocod curat, care funcioneazO%& Acest aspect este opus cercului vicios des nt!lnit, n care datorit presiunii crescute rm!ne mai puin timp pentru testare, sunt testate mai puine lucruri i astfel, n final, mai multe incertitudini conduc la o mai mare presiune& Cezvoltarea pe baz de testare ne asi"ur c un dezvoltator aflat sub un "rad crescut de stres, pur i simplu ruleaz testele automate eistente mult mai des& Acest lucru i permite s obin un feedbacD direct din care rezult c lucrurile funcioneaz, ceea ce reduce stresul i probabilitatea de apariie a erorilor& Automati;area test%rii & beneficii detectarea defectelor cauzate de efectele secundare ale unor funcionaliti neschimbate metode i tehnici de testare sunt dificil sau imposibil de realizat manual rularea mai multor teste ntr-un timp mai scurt capacitatea de a re-rula rapid un set automat de teste Automatizarea testrii 4estarea sistemelor mari beneficiaz de instrumente care implementeaz i automatizeaz anumite metode i tehnici& Acest lucru este valabil n special pentru dezvoltarea iterativ i evolutiv a aplicaiilor web, n care utilizarea or"anizat a instrumentelor poate spri;ini testel Automatizarea poate mri semnificativ eficiena testrii i, n plus, permite noi tipuri de teste care lr"esc scopul $de eemplu, diferite obiecte de test i caracteristici de calitate% i profunzimea testrii $de eemplu, combinaii i cantiti mari de date de intrare%& Automatizarea testrii aduce urmtoarele beneficii testrii aplicaiilor web0 B rularea testelor de re"resie automate pentru noile versiuni ale unei aplicaii web permite detectarea defectelor cauzate de efectele secundare ale unor funcionaliti neschimbate& Aceste teste de re"resie ne a;ut s prote;m funcionalitile eistente ale aplicaiilor web cu schimbri frecvente& B diverse metode i tehnici de testare sunt dificil sau imposibil de realizat manual& Ce eemplu, testarea la ncrcare i solicitri necesit o automatizare i folosirea de instrumente corespunztoare pentru a simula un numr mare de utilizatori simultani& )n acelai mod, este practic imposibil s testm n ntre"ime toate le"turile unei structuri hipertet ciclice, etensive a unei aplicaii web, n mod manual& B automatizarea permite rularea mai multor teste ntr-un timp mai scurt i deci rularea testelor mai des, duc!nd la o mai mare ncredere n sistemul testat& Prin urmare, automatizarea este o condiie prealabil pentru dezvoltarea bazat pe testare& B capacitatea de a re-rula rapid un set automat de teste ne poate a;uta s scurtm timpul de eecuie al testului i s reducem timpul p!n la punerea pe pia a aplicaiei web& Cu toate acestea, n ciuda creterii eficienei pe care o poate oferi testarea automat, ateptrile privitoare la automatizarea testrii sunt adesea nerealiste& Automatizarea testrii nu mbuntete eficiena testrii $numrul total de defecte detectate%& Automatizarea unui test nu-l face mai eficient dec!t rularea aceluiai test n mod manual& Ce obicei, testele manuale "sesc mai multe defecte dec!t testele automate, deoarece este mai probabil s "sim un defect de la prima rulare a testului& Cac un test a fost rulat o dat, este improbabil ca un nou defect s fie detectat atunci c!nd rulm testul din nou, cu ecepia cazului n care codul testat este afectat de o schimbare& :ai mult, dac testarea este prost or"anizat, cu teste ineficiente care au o capacitate sczut de depistare a defectelor, automatizarea acestor teste nu ofer nici un beneficiu& Automatizarea unui proces de testare haotic determin mai mult haos&e care se repet n mod frecvent pe parcursul unor cicluri de dezvoltare scurte& Chiar dac dezvoltarea este finalizat, modificrile la nivelul infrastructurii i mediului unei aplicaii web necesit deseori repetarea testelor& ? strate"ie de investiii de bun-sim implic utilizarea de instrumente pentru a mbunti testarea manual, dar nu nlocuiete testarea manual cu testarea automat& 4estele manuale sunt cele mai bune pentru a eplora noi funcionaliti, determinate de creativitatea, nele"erea i eperiena tester-ului uman& 4estele automate asi"ur funcionalitatea eistent, depisteaz efectele adverse i defectele re-introduse i mresc acurateea i aria testelor manuale& Ce aceea, nu toate testele trebuie s fie automatizate& ? automatizare parial poate fi foarte util i sunt disponibile diverse instrumente de testare pentru a spri;ini diferite tipuri de activiti de testare& Utilitare pentru testare - sarcini suportate planificarea i mana"ementul testrii proiectarea cazurilor de test analiza static i dinamic automatizarea rulrii testelor monitorizarea sistemului sarcinile "enerale 9tilitare pentru testare Cele mai frecvent utilizate instrumente de testare suport urmtoarele sarcini0 B planiicarea 7i managementul test5rii& Aceste instrumente faciliteaz "estionarea cazurilor i datelor de testare, selectarea cazurilor de testare adecvate, colectarea rezultatelor testrii i urmrirea bu"-urilor& B proiectarea ca%urilor de test& 1nstrumentele disponibile pentru proiectarea cazurilor de test spri;in dezvoltatorul n derivarea cazurilor de test din definirea cerinelor sau n "enerarea datelor de test& B anali%a static5 7i dinamic5& 1nstrumentele disponibile pentru a analiza aplicaiile web $de eemplu, validatoarele 34:A sau controloarele de le"turi% ncearc s descopere abaterile de la standarde& B automati%area rul5rii testelor. 1nstrumentele pot automatiza rulrile testelor prin simulare sau ;urnalizare, precum i prin captura i re-rularea comportamentului unor componente sau utilizatori& B monitori%area sistemului& 1nstrumentele disponibile pentru monitorizarea sistemelor ofer un spri;in n detectarea erorilor $de eemplu, prin capturarea proprietilor sistemului, cum ar fi consumul de memorie sau accesul la baza de date%& B sarcinile generale& 1nstrumente precum editoarele sau "eneratoarele de rapoarte sunt utile, dar nu le vom discuta n detaliu& Selectarea utilitarelor 'e testare 4endina actual n folosirea instrumentelor de test pentru aplicaiile web este str!ns asociat cu evoluia continu a tehnolo"iilor web i procesele de dezvoltare moderne& 'n numr mare de instrumente sunt disponibile n prezent& C!nd selectm instrumentele adecvate pentru testarea aplicaiilor web trebuie s cercetm i s reevalum permanent anumite lucruri& 5chema de test prezentat anterior ofer un spri;in real n selectarea instrumentelor i construirea unui set de instrumente complet i bine structurat& 'n catalo" cuprinztor de instrumente folosite n testarea aplicaiilor web re"sim la adresa0 http0<<www&softwarecatest&com<catweb6&html& 9urina )n folosire a aplicaiilor web 'urina n folosire poate fi definit ca Omsura n care un produs poate i olosit de anumi8i utili%atori 9ntr-un anumit context de utili%are pentru a-7i atinge obiecti,ele speciicate 9n mod eecti,1 eicient 7i satis5c5tor". 'urina n folosire poate fi definit ca Omsura n care un produs poate i olosit de anumi8i utili%atori 9ntr-un anumit context de utili%are pentru a-7i atinge obiecti,ele speciicate 9n mod eecti,1 eicient 7i satis5c5tor". ". Aceast definiie oferit de standardul internaional 15?<1GC H/.6-66 descrie, de fapt, cele mai importante aspecte care trebuie luate n considerare atunci c!nd se proiecteaz un software uor de folosit0 Cine sunt utili%atorii produsuluib Care sunt scopurile produsuluib )n ce context este utilizat produsulb 6ot fi atinse scopurile n mod eecti, $complet i eact%, eicient $la un cost de realizare ;ustificabil%, i n mod satis5c5torb O5atisfctorO nseamn c produsul poate fi utilizat fr probleme i are ca rezultat o atitudine pozitiv a utilizatorului fa de produs& Cel din urm aspect este puternic influenat de atracia estetic a aplicaiei web& /S4 # /-C N?A<&<< 1ielsen <NNA Shnei'erman i Plaisant ?OOP Gficien Gficien (itez de eecuie Posibilitatea de a fi nvat 4imp de nvare Posibilitatea de a fi memorat :emorare n timp Gfectivitate Grori < si"uran @at de erori depistate de ctre utilizatori 5atisfacie 5atisfacie 5atisfacie subiectiv :etodele disponibile pentru evaluarea uurinei n utilizare pot fi mprite n dou clase& 0etodele ba%ate pe utili%ator implic utilizatorii finali n evaluarea i optimizarea uurinei n folosire a unui produs pe parcursul proiectrii, prototipizrii i implementrii& 5pre deosebire de acestea, metodele expert sunt bazate pe eperiena eperilor i pe modelele OteoreticeO "eneral acceptate& ? valabilitate mai mare a evalurii poate fi ateptat n "eneral de la metodele bazate pe utilizator, dar ele sunt mai costisitoare i mai mari consumatoare de timp& :anhartsber"er i :usil - diferene de uzabilitate intre app& web si traditionale - "Sot4are-ul nu mai este ,:ndut 9n cutii; < 9[519[> - "Surer-ii nu pot i instrui8i" - "6e site-urile 4eb sunt )sau nu* ,:ndute produse reale" - "6e =nternet nimeni nu 7tie ca e7ti un c:ine." 'urina n folosire este o caracteristic de calitate cu o semnificaie special pentru aplicaiile web, de aceea pentru proiectarea unor aplicaii web uor de utilizat trebuie luate n considerare recomandrile de desi"n specifice proiectrii aplicaiilor web utilizabile& 1mportana uurinei n folosire pentru aplicaiile web fa de produsele software tradiionale se poate datora distribuiei "lobale a celor dint!i i a filozofiei 1nternet& :anhartsber"er i :usil $/KK/%, prezint c!teva dintre aceste diferene0 B "Sot4are-ul nu mai este ,:ndut 9n cutii". 7u eist o mpachetare strlucitoare i neltoare a softului pe web& 4ermenul 9[519[> $vizual% c!ti" o nou semnificaie0 un site web arat imediat ce primeti, iar cultura specific web-ului i comportamentul utilizatorului eercit mai mult presiune asupra furnizorilor& B "Surer-ii nu pot i instrui8i"& Gist numeroase pro"rame de instruire, n special n cazul produselor software complee, pentru a se asi"ura o utilizare efectiv, eficace i satisfctoare& Cin pcate, multe pro"rame de instruire sunt folosite pentru a compensa defectele produsului prin ncercarea de a adapta utilizatorii la restriciile produsului n loc de a apela la modalitatea opus& Cin fericire instruirea este imposibil n "eneral pe web, de aceea un accent deosebit trebuie s fie pus pe realizarea de aplicaii web auto-eplicative& B "6e site-urile 4eb sunt )sau nu* ,:ndute produse reale". Cei multe aplicaii web sunt proiectate pentru a vinde produse, un numr mare de studii indic faptul c procentul de clieni on-line care efectueaz achiziii de pe web este relativ sczut& )n ciuda inteniilor iniiale de a achiziiona produse, muli utilizatori se pierd $virtual% pe drumul ntre intrarea ntr-un ma"azin online i verificarea la casieri, i din acest motiv caut Oieirea de ur"enO& B "6e =nternet nimeni nu 7tie ca e7ti un c:ine." )ntr-o caricatur publicat n #he >e4 ?or&er n 6HHJ, Peter 5teiner a ilustrat cu umor anonimatul utilizatorilor web& Caricatura ilustreaz un c!ine care eplic unui alt c!ine posibilitatea de a navi"a pe web fr a fi recunoscut& Comunicarea pe web este unilateral, deci o aplicaie web nu poate s reacioneze ca un v!nztor real i s se adapteze rapid la un client& @ecomandrile stabilite n privina uurinei n folosire n 6HHH sunt nc relevante - pstrarea volumului de ncrcare c!t mai sczut posibil, luarea n calcul a ad!ncimii reduse de culoare sau evitarea restriciilor pentru platforme software specifice $7ielsen 6HHHb%% - lipsa posibilitilor de instruire i alternative numeroase0 - 6ercep8ia - 0emoria - /ten8ia 'ltimul punct arat o problem fundamental a uurinei n folosire pe web0 clasificarea utilizatorilor& Gste etrem de dificil s facem presupuneri despre potenialii utilizatori ai unei aplicaii& )n plus, condiiile tehnice ale utilizrii unei aplicaii web sunt etrem de etero"ene& Ce eemplu, dei numrul de coneiuni de band lar" crete constant, eist nc o serie de utilizatori care lucreaz eclusiv cu modem-urile convenionale& )n afar de coneiunea n reea, un rol important l ;oac placa "rafic disponibil sau sistemul de operare& Cin aceste motive, recomandrile stabilite n privina uurinei n folosire cu aproape un deceniu n urm sunt nc relevante $eemple0 pstrarea volumului de ncrcare c!t mai sczut posibil, cel puin n pa"ina de start, luarea n calcul a ad!ncimii reduse de culoare sau evitarea restriciilor pentru platforme software specifice $7ielsen 6HHHb%%& Catorita lipsei posibilitilor de instruire i numrului mare de alternative $care pot fi uor depistate prin intermediul motoarelor de cutare%, aplicaiile web trebuie s fie intuitive i proiectate clar pentru utilizatorii lor& Aplicaiile web trebuie s permit tuturor utilizatorilor s le foloseasc fr probleme, fr prea mult "!ndire i la un nivel tolerabil de stres co"nitiv& )n acest sens, urmtoarele aspecte sunt importante0 B 6ercep8ia0 poziionarea, "ruparea i or"anizarea coninutului pe un site web trebuie s corespund mecanismelor de percepie uman& Aceste mecanisme, care sunt identice pentru aproape toi oamenii, sunt n mare msur automate i incontiente& 'nul din cele mai importante mecanisme este percepia formelor0 acestea nu sunt percepute separat, ci n raport cu alte lucruri& Astfel, un site 9eb este perceput iniial ca o entitate, dar ulterior el ar trebui s dezvluie o structur c!t mai clar posibil pentru utilizator, ecluz!nd orice incertitudini& Cesi"ur, pot eista diferene 'e percepie& Cineva interesat n aplicarea pentru un loc de munc la un hotel va privi informaiile altfel dec!t cineva care vrea s rezerve o camera& Aplicaia web trebuie s ofere suport pentru ambele situaii& B 0emoria0 Capacitatea de procesare a informaiilor de ctre om este limitat& Pe parcursul navi"rii pe web, n mod normal, trebuie s memorm o list de lucruri de realizat $s cumprm ceva, s cutm informaii, etc&%, inclusiv date& Acest lucru poate fi dificil din cauza stresului "enerat de abundena de informaii sub forma animaiilor, bannere-lor, le"turilor, astfel nc!t este uor s pierdem din vedere ceea ce am vrut de fapt s realizm& B /ten8ia0 'nul dintre cele mai importante mecanisme care compenseaz problemele descrise mai sus este atenia& )n cazul n care capacitatea mental este insuficient pentru a procesa o cantitate mare de informaii simultan, atenia focalizat ne permite s ne concentrm pe un aspect specific i s ne"li;m orice altceva& Aceast atenie focalizat voluntar poate fi influenat de banner-e sau ferestre popup cu reclame, pe care le urmrim refle& Cei nivelul de nele"ere al tehnolo"iilor web se mbuntete constant, muli pro"ramatori de site-uri web nc cred c prezena efectelor multimedia ntr-un numr c!t mai mare atra" utilizatorii, fr a lua n considerare c acestea diminueaz capacitatea de memorare i distra" atenia de la sarcina respectiv, st!n;enind utilizarea efectiv a aplicaiei web& @e"uli de proiectare - 4impii de rspuns - Gficiena interaciunii - Culorile - Aran;area tetului - 5tructura pa"inii - 5tructura de navi"are - :ulticulturalismul )n cele ce urmeaz vom prezenta c!teva recomandri de desi"n importante i "eneral acceptate& Timpii 'e r%spuns Pentru ca utilizatorii unei aplicaii interactive s nu-i piard impresia de interactivitate i control al fluului, timpii de rspuns ai sistemului pe toi paii de interaciune trebuie s fie sub anumite pra"uri asociate cu mecanismele de prelucrare uman a informaiilor0 un timp de rspuns de K,6 secunde este perceput ca un rspuns direct, o perioad de ateptare de p!n la J secunde este tolerat, fr a perturba "!ndirea, perioadele de ateptare mai lun"i sunt percepute n mod contient i sunt deza"reabile& Cup Y - 6K secunde, utilizatorii ncep s fie preocupai de altceva& )n cazul aplicaiilor web se poate presupune c timpii de rspuns de p!n la J secunde sunt considerai normali i tot ce este mai sus, n intervalul de Oo cifrO $n secunde% este tolerat, dac eist informaii privind timpul de ateptare sau sunt su"erate recompense pentru ateptare& Pentru aplicaiile web, respectarea acestor valori ale pra"urilor este o provocare ma;or, av!nd n vedere multiplele variante tehnice de conectare la 1nternet& Cin acest motiv, este recomandat s proiectm pa"ini OsupleO0 s limitm numrul de ima"ini i alte elemente media per pa"in i s folosim metode de compresie sau s reducem rezoluia acestora $sau ad!ncimea de culoare% pentru a minimiza dimensiunea ima"inilor& Cac ima"inile mari sunt inevitabile, atunci este recomandat s se afieze nt!i miniaturi i s se ncarce ima"inile numai la cererea eplicit a utilizatorului& Ca re"ul "eneral, ntre"ul volum de pe o sin"ur pa"in nu trebuie s depeasc aproimativ UK Dilooctei& ? alt metod de a accelera ncrcarea unui site web const n specificarea dimensiunilor ima"inilor n tetul 34:A pentru a permite browser-ului s reprezinte o pa"in nainte ca ima"inile s fie ncrcate complet& Pentru a oferi utilizatorilor posibilitatea de a se orienta din timp i pentru sporirea accesibilitii, trebuie utilizate tete alternative $folosind atributul AA4 n 34:A%& )n cazul n care coninutul care trebuie reprezentat $n urma unui pas interactiv% este foarte mare, trebuie s se menin o numerotare adecvat a pa"inilor $cum se nt!mpl de eemplu n ma;oritatea motoarelor de cutare%& Aceasta reduce volumul de date $i timpii de ateptare pentru utilizatori% la cel al unei sin"ure pa"ini, n fiecare etap a interaciunii& -ficiena interaciunii Pentru eficiena "lobal a unui sistem, pe l!n" timpul de rspuns al sistemului, este important i timpul pe care utilizatorii trebuie s-l consume pentru navi"are i introducerea datelor& :a;oritatea aplicaiilor web au interfee *point-and-clicD+, folosirea mouse-ului av!nd un rol dominant& 1nterfeele eficiente de acest tip minimizeaz distanele ctre elementele pe care se poate da clic& Cimensiunea elementelor nu trebuie s fie sub un anumit minim, astfel nc!t utilizatorii $n special cei cu handicap vizual sau motor% s le poat accesa cu acuratee& Culorile 7u este recomandat folosirea ecesiv a culorilor& Ce re"ul, aproimativ cinci culori reprezint limita superioar n aplicaiile web, evit!ndu-se culorile OiptoareO sau foarte saturate& Pentru evidenierea anumitor zone dintr-un site web nu trebuie folosite doar culorile, ci i poziionarea, la2out-ul etc& 4rebuie se in seama i c reprezentarea culorilor va fi diferit pe fiecare tip de monitor, n funcie de ad!ncimea de culoare $deci combinaiile de culori nu vor arta la fel ca pe calculatorul dezvoltatorului% i c persoanele cu tulburri de percepie a culorilor trebuie s poat recunoate diferenele& Aran7area textului Citirea tetului de pe un ecran este mai puin eficient dec!t cea de pe h!rtie& Cin acest motiv, tetul trebuie aran;at cu atenie, n special pentru aplicaiile web cu o cantitate mare de tet& Aran;area fi a tetului trebuie evitat, pentru a permite browser-ului s adapteze pa"inarea i la2out-ul la ferestre de dimensiuni diferite i utilizatorului s selecteze dimensiunea fontului preferat $vezi -i"ura%& Pentru o reprezentare mai bun pe ecranul calculatorului se recomand folosirea seturilor de caractere fr serife $e& fontul (erdana%, la o dimensiune adecvat& Structura pa(inii Pentru a se asi"ura o orientare uoar n cadrul unei pa"ini, trebuie s evitm deplasarea pe orizontal $la o citire r!nd cu r!nd utilizatorii ar trebui s deplaseze permanent coninutul ferestrei napoi i nainte%& Cefilarea pe vertical este n "eneral acceptat, at!t timp c!t nu afecteaz eficiena navi"rii pe pa"in& Cei mai muli utilizatori nu folosesc scroll-ul, i atunci c!nd fac acest lucru ei nu defileaz foarte mult, orice pa"in mai mare de /-J ecrane risc s fie ne"li;at& 5onda;ele arat c o aran;are pe coloane similar cu formatul obinuit din ziare accelereaz vizualizarea unei pa"ini pe ecranul calculatorului, schema "eneral de cutare fiind Ode sus n ;os i de la st!n"a la dreaptaO $n aceast ordine%& Structura 'e navi(are 7avi"area ntr-un site<aplicaie web reprezint un criteriu deosebit de important pentru uurina n folosire a site-ului<aplicaiei& O@tcirea n hiperspaiuO ca urmare a navi"rii non- lineare trebuie evitat cu orice pre& )n acest scop, este necesar s se transmit un model mental al structurii de navi"are c!t mai rapid posibil, permi!nd utilizatorilor s Omemoreze harta site- uluiO& Pentru ca sistemul de navi"are s fie bine proiectat sunt necesare0 o structur de baz clar i lo"ic, spri;init de o hart a sitului, un feedbacD permanent privitor la poziia actual n structur $O'nde suntbO%, oferirea de informaii clare privind coninutul de pe pa"ina curent $OCe pot face sau "si aicibO% i elementele accesibile n urmtorul pas al interaciunii $O'nde pot s m ducbO%& Multiculturalismul Cisponibilitatea "lobal a web-ului i etero"enitatea cultural a utilizatorilor determin cerine suplimentare privind uurina n folosire& Chiar i aplicaiile web proiectate pentru utilizarea la nivel local nu trebuie s i"nore aceste aspecte, pentru a preveni o pierdere a unor clieni poteniali& Cei pare imposibil s oferim soluii "eneral valabile, identificarea unui Onumitor comun culturalO ne permite evitarea "reelilor "rave& C!teva eemple sunt0 B Culorile0 Culorile au semnificaii diferite n culturi diferite& Aceasta nseamn c trebuie evitate caracteristicile bazate ecesiv pe puterea epresiv a culorilor& B 5imbolurile0 5imbolurile i lo"o-urile trebuie alese cu "ri; astfel nc!t s nu ofenseze pe nimeni& B Aimba0 Gste etrem de important s OvorbimO n limba clienilor de pe 9eb& B @eprezentarea informaiei0 'tilizatorii din diferite ri au nevoi speciale n ceea ce privete c!mpurile pentru nume i adrese din formulare, unitile de msur i datele calendaristice $7ielsen, /KKU%& Presupunerile interpretative trebuie s fie evitate& Gemplu0 66<6/</KKY ar fi 66 decembrie n Guropa i 6/ noiembrie din 5'A& ? simpl corecie $66<Cec</KKY% poate preveni aceast problem& -xploatarea i )ntreinerea aplicaiilor web _iua lansrii - partea serioas a vieii di"itale a unei aplicaii web - modalitile de promovare a aplicaiilor - mana"ementul coninutului unei aplicaii web - analiza "radului de utilizare Partea serioas a vieii di"itale a unei aplicaii web ncepe n ziua n care este lansat - c!nd acesta intr n faza de eploatare i ntreinere& )n timp ce aceast etap este destul de clar delimitat de faza de dezvoltare pentru aplicaiile tradiionale, n cazul aplicaiilor web acestea fuzioneaz, datorit anumitor sarcini care nu pot fi realizate separat de faza de dezvoltare, av!nd o influen puternic asupra dezvoltrii& )n continuare vom aborda trei subiecte importante pentru a sublinia aspectele specifice ale eploatrii i ntreinerii aplicaiilor web, comparativ cu aplicaiile convenionale& :ai nt!i vom discuta despre modalitile de promovare a aplicaiilor, prin luarea de msuri privind modul n care o aplicaie web apare n motoarele de cutare sau pe site-urile web afiliate& Aceste msuri au, o influen puternic asupra dezvoltrii unei aplicaii web, de eemplu, prin stabilirea meta- ta"-urilor sau prin ale"erea unei anumite structuri de le"turi& 'n alt obiectiv al acestui capitol este mana"ementul coninutului unei aplicaii web& )n funcie de ntrebuinarea coninutului i de cerinele de performan, pa"inile web sunt fie pre-"enerate, fie create Odin zborO& @efolosirea coninutului de la furnizori teri este spri;init de mediatizarea coninutului& )n final, ne vom ocupa de problema analizei "radului de utilizare& 'nul dintre obiectivele analizei utilizrii este identificarea posibilitilor de mbuntire a unei aplicaii web, prin msurarea i evaluarea nivelului de acces al utilizatorilor la aplicaia web i stabilirea unor modele de comportament al utilizatorilor& :surile de mbuntire derivate din aceste statistici includ nu doar optimizarea uzabilitii aplicaiei web, dar i o cretere a performanelor acesteia $de eemplu, prin pre-ncrcarea celor mai populare pa"ini web%& Provoc%ri 'eterminate 'e lansarea unei aplicaii web - devine disponibil5 imediat1 la ni,el global - -uncionarea /.W - erori pe perioada funcionrii normale, condiiile de mediu se vor modifica frecvent i vor apare noi cerine ale utilizatorilor - depite dup numai c!teva luni 'na dintre cele mai importante caracteristici ale fazei de implementare a unei aplicaii web este c aceasta devine disponibil5 imediat1 la ni,el global& )n ma;oritatea cazurilor, introducerea unei noi aplicaii web presupune a;ustri considerabile i "enereaz anumite probleme& -actori precum cererile de pe pia i interesele clientului, care de obicei apar n amploarea lor numai dup ce o aplicaie web a fost lansat, trebuie s fie adui la un numitor comun& Pentru aplicaiile web, eploatarea infrastructurii 14, care de obicei trebuie s fie disponibil /.W i s permit un numr nelimitat de utilizatori, determin costuri considerabile n termeni de bu"et pentru echipamentele hardware<software, precum i un efort deosebit al personalului& -recvent, bu"etele pentru utilizarea normal nu sunt luate n considerare n planificarea aplicaiilor web sau sunt abordate insuficient& Aceast situaie poate deveni foarte critic, deoarece ciclurile de actualizare sunt mult mai scurte comparativ cu aplicaiile non-web i trebuie s fie incluse n planificarea bu"etar& 'n sonda; efectuat de ctre Iupiter @esearch n octombrie /KKJ a artat c mai mult de UYX din site-urile web au planificat o relansare n /KK.& -uncionarea /.W poate fi rezolvat prin dou opiuni strate"ice folosite n aplicaiile non-web0 outsourcin"-ul sau eploatarea intern& ?dat ce o aplicaie web a fost lansat, vor apare erori pe perioada funcionrii normale, condiiile de mediu $sistem software nou, hardware nou% se vor modifica frecvent i vor apare noi cerine ale utilizatorilor privitoare la coninut, funcionaliti, interfaa cu utilizatorul sau performan& :surile de asi"urare a calitii $cum ar fi formarea unei echipe de proiect interdisciplinare% sunt de multe ori omise, i din acest motiv, nevoia de re-proiectare n timpul fazei de ntreinere i funcionare crete proporional& Aplicaiile web sunt de obicei depite dup numai c!teva luni dac nu sunt mbuntite continuu i erorile nu sunt eliminate n mod permanent& Altfel, consecinele nu se rsfr!n" doar asupra aplicaiei web, ci au de suferit ima"inea i credibilitatea proprietarului su, datorit prezenei publice "lobale a aplicaiilor web& Promovarea unei aplicaii web - OCum vor "si utilizatorii aplicaia web i informaiile salebO - 4eb,ertising - Qtiri pe e&mail 51ewsletters6 - coninut OneutruO i de valoare - Mar8etin( prin afiliere - opiuni de inte"rare - schimbul de bannere - plata per clic - mprirea veniturilor OCum vor "si utilizatorii aplicaia web i informaiile salebO @spunsul la aceast ntrebare i la cele similare este foarte important, n special pentru aplicaiile web comerciale& 4otui, aceast problem este deseori ne"li;at, mai ales din motive de bu"et, dei specialiti precum web desi"nerii, dezvoltatorii i eperii n marDetin" acord o etrem importan investiiei n promovarea aplicaiei web& (ariantele tradiionale de reclam precum reclamele publicitare din ziare, 4( sau radio, posterele, materialele tiprite i marDetin"-ul direct, nu reprezint sin"urele instrumente media pe care le putem utiliza pentru a anuna i promova aplicaiile web, un accent deosebit trebuie pus pe 4eb,ertising - utilizarea metodelor bazate pe web pentru a face publicitate n web& )n continuare vom discuta despre metodele cele mai folosite de publicitate pe web& dtirile distribuite prin e-mail reprezint un mediu eficient pentru a c!ti"a clieni noi i pentru a oferi asisten clienilor eisteni& 'n numr mare de companii utilizeaz buletinele de tiri din ce n ce mai mult, pentru a crea relaii puternice cu clienii eisteni sau poteniali& Cu toate acestea, mesa;ele publicitare i auto-portretele ar trebui pstrate la un nivel modest, iar utilizatorilor trebuie s li se ofere un coninut OneutruO i de valoare $de eemplu, informaii despre produsele noi%& Aa crearea unui buletin informativ ar trebui s fie respectate anumite re"uli0 orientarea ctre un coninut clar, valabil, epedierea re"ulat, actualizrile frecvente ale listei de distribuie, opiunea de dezabonare, etc& Gist surse multiple pe 1nternet care ofer su"estii utile pentru editorii de buletine de tiri $de eemplu, http0<<compan2newsletters&com<indeonline&htm%& Cin perspectiva dezvoltatorului, n afar de inte"rarea componentei Obuletin de tiriO n arhitectura de ansamblu, trebuie proiectate interfee pentru achiziia automatizat a tirilor, produselor etc&, i eventual o interconectare cu componentele personalizate& Ce eemplu, pentru o aplicaie web din domeniul turismului, atunci c!nd se creeaz o ofert de ultim moment, utilizatorii care au manifestat interes pentru anumite produse prin particularizarea anumitor detalii, ar putea fi informai automat prin intermediul unui buletin de tiri& Pe l!n" informaiile succinte despre produsul nou, buletinul de tiri ar trebui s includ o le"tur care conduce direct la pa"ina corespunztoare din aplicaia web& ?ri"inile marDetin"-ului prin afiliere ncep de la Ieff =ezos, fondatorul Amazon&com, care discuta cu o doamn la un cocDtail despre cum ea a vrut s v!nd cri despre divor pe site-ul web personal& =ezos a meditat asupra acestei discuii i a permis crearea unei le"turi de la Amazon&com la site-ul ei web n schimbul unui comision din v!nzrile crii& )n prezent, ideea marDetin"-ului prin afiliere este unul dintre cei mai importani factori care contribuie la popularitatea i succesul site-ului Amazon& :arDetin"-ul prin afiliere implic distribuirea veniturilor ntre a"eniile de publicitate <comercianii online i editorii< v!nztorii online, produsele, serviciile sau funcionalitile unei aplicaii web a unei persoane fiind inte"rate ntr-o aplicaie web a unui afiliat al acesteia& Cei marDetin"-ul prin afiliere "enereaz deseori o pierdere a propriei identiti, el ofer o form eficient de publicitate la costuri de pornire relativ sczute pentru a atra"e mai muli vizitatori ctre pa"inile web ale unui proprietar i pentru a face site-ul web mai popular& ?piunile de inte"rare sunt variate, a;un"!nd de la o simpl le"tur tet sau o prezentare a produsului care conine o le"tur, p!n la module avansate de v!nzare, care mapeaz ntre"ul lan de procese al aplicaiei web i implementeaz o reprezentare fidel a site-ului afiliat& Cele mai multe acorduri de venituri se bazeaz pe un model de plata-per-performan, un model de afaceri bazat pe web, care colecteaz o ta numai n cazul n care consumatorul ncheie o tranzacie& Cintre variantele acestui model menionm0 B schimbul de bannere, B plata per clic $afiliatul este pltit n funcie de clic-urile utilizatorilor%, B mprirea veniturilor $un anumit procent din v!nzri%& Promovarea unei aplicaii web Mar8etin(ul prin motoarele 'e c%utare - motoarele de cutare bazate pe crawlere Ce pot face pentru a fi si"ur c aplicaia mea web apare listat5 n motoarele de cutare importanteb Ce pot face pentru a m asi"ura c aplicaia mea web va fi plasat la nceput n motoarele de cutare importanteb Printre cele mai populare servicii de pe web sunt motoarele de cutare precum cele bazate pe crawlere, $de eemplu, >oo"le - http0<<www&"oo"le&com i All4he9eb - http0<<www&alltheweb&com% sau catalo"ul [ahoo creat n cea mai mare parte manual $http0<<www&2ahoo&com%& Prin ncercarea OtrimiteriiO utilizatorilor cu o nevoie specific de informaie ctre pa"ini web relevante, motoarele de cutare reprezint servicii online etrem de complee, care pot mi;loci contacte relevante& 0ar&etingul prin motoarele de c5utare $denumit i promovarea cu a;utorul motoarelor de cutare% ncearc s obin contacte relevante prin apariia n pa"inile cu rezultatele cutrii returnate de aceste servicii& Aceste plasamente pot fi sub form de rspuns la cererea unui utilizator n cadrul listei cu rezultatele cutrii, sub forma reclamelor, sau prin utilizarea mediatizrii coninutului& Pentru ca marDetin"ul prin motoare de cutare s aib succes, trebuie s cunoatem modul de lucru al motoarelor de cutare& :otoarele de cutare se bazeaz pe conceptele sistemelor clasice de reg5sire a inorma8iilor din anii eVK, care au fost menite s stocheze i s etra" depozite de date tetuale& )n acest mediu, documentele sunt achiziionate prin crearea unei reprezentri a acestora, sub forma unui index care descrie coninutul i semantica documentului& )n "eneral, aceast tehnic filtreaz din punct de vedere semantic termenii semnificativi dintr-un document, pun!ndu-le ntr-o form OderivatO uniform $de eemplu, O"olfersO se transform n O"olfO% i atribuie o importan fiecrui termen n funcie de frecvena de apariie sau de poziia acestuia n document& C!nd un utilizator solicit unul sau mai muli termeni, sistemul calculeaz documentele relevante pe baza unor modele de reg5sire i le prezint ntr-o list5 ordonat5 de re%ultate, sortate n ordine descresctoare dup probabilitatea relevanei acestora& Pe l!n" apariiile termenilor cutai ntr-un document, aceste modele de re"sire iau n calcul i importan8a ),aloarea* pentru calcularea relevanei& )ntrebrile care apar n vederea desfurrii marDetin"-ului prin motoarele de cutare sunt0 B Ce pot face pentru a fi si"ur c aplicaia mea web apare listat5 n motoarele de cutare importanteb B Ce pot face pentru a m asi"ura c aplicaia mea web va fi plasat la nceput n motoarele de cutare importanteb )n continuare, vom prezenta principalele msuri care trebuie avute n vedere pentru a satisface aceste cerine& :ai multe sfaturi i trucuri privitoare la marDetin"ul prin motoarele de cutare pot fi "site la http0<<searchen"inewatch&com& Promovarea unei aplicaii web - Trimiterea pentru motoarele 'e c%utare - trimiterea '@A-ului pa"inii de start a aplicaiei web - le"turi reciproce - Clasarea )n motoarele 'e c%utare - ran&ing - Ore"uliO pentru a dob!ndi o bun clasare - @AB-ul aplica8iei 4eb - meta-tag-ul ;#=#B3" - meta-tag-ul "C3?DEAFS" - meta-tag-ul ;F3SCA=6#=E>G - con8inutul paginii 4eb - popularitatea leg5turilor 7i clasarea paginilor - folosirea metadatelor Cublin Core $http0<<dublincore&or"<% - eclude accesul motoarelor de cutare Cu ecepia cazului n care ne bazm pe "sirea accidental a aplicaiei web de ctre un robot, '@A-ul pa"inii de start a aplicaiei web trebuie s fie trimis manual la motoarele de cutare dorite& 4oate motoarele de cutare populare au formulare de nre"istrare pe site-urile lor web, care permit introducerea unei scurte descrieri a aplicaiei web $n aproimativ /U de cuvinte%, mpreun cu doi sau trei termeni cheie& Perioada de procesare a unei nre"istrri dureaz n mod normal c!teva sptm!ni& )n plus, buna inte"rare pe web $eistena le"turilor ctre site pe alte site-uri web importante% sau punctele de acces pot influena uurina cu care roboii pot "si o aplicaie web& )n acest sens, aa-numitele Ole"turi reciproceO $le"turi de la alte site-uri web la aplicaia noastr web% reprezint o msur important de marDetin", nu numai pentru a crea traficul utilizatorilor, dar i pentru a atra"e atenia roboilor ctre aplicaia web& :a;oritatea utilizatorilor se uit doar la primele 6K-/K de intrri din lista de rezultate ale unui motor de cutare, ceea ce nseamn c o clasare bun $denumit i ran&ing% a unei aplicaii 9eb este un aspect esenial pentru marDetin"& ?bservm c, n mod normal, nu eist nici o modalitate de a "aranta sau fora listarea<clasarea unei aplicaii web n r!ndul primelor zece intrri& 'n motiv este c nu eist cunotine detaliate despre modul n care fiecare dintre motoarele de cutare determin modul de clasare a rezultatelor cutrii, n plus, strate"iile acestora se schimb n mod constant& 'n alt motiv este c muli concureni de pe web ncearc n aceeai msur s obin o clasare superioar& 4otui, proprietarii aplicaiilor web pot avea n vedere c!teva Ore"uliO pentru a dob!ndi o bun clasare pentru aplicaiile lor& )n acest scop, proprietarii aplicaiilor web trebuie s se pun n locul utilizatorilor care caut i s defineasc cuvintele cheie pe care utilizatorii le-ar putea folosi pentru a "si aplicaiile lor web& Aceste cuvinte cheie ar trebui s apar n anumite poziii n cadrul unei aplicaii web, dar trebuie avut n vedere c roboii tot vor putea obine date invizibile pentru utilizatorii motoarelor de cutare sau chiar le vor prefera pentru clasarea aplicaiei web $de eemplu, meta-ta"-urile, vezi i http0<<searchen"inewatch&com</6VWHJ6%& Principalele msuri specifice care trebuie avute n vedere sunt0 B @AB-ul aplica8iei 4eb0 domeniul unei aplicaii web ar trebui, n mod ideal, s conin cuvinte cheie descriptive $de eemplu, http0<<www&turism&com, pentru o aplicaie web din domeniul turismului%& B meta-tag-ul "#=#B3"0 pe l!n" indeare, unele motoare de cutare returneaz cuvintele din titlul unei pa"ini web, ca o informaie suplimentar n lista de rezultate& B meta-tag-ul "C3?DEAFS"0 multe dintre motoarele de cutare folosesc termenii listai n aceast meta-etichet drept cuvinte preferate pentru indeare, ceea ce nseamn c o aplicaie web poate atin"e o cotaie mai bun atunci c!nd utilizatorii caut dup unul din aceste cuvinte cheie& Proprietarul aplicaiei web ar trebui s foloseasc c!t mai multe cuvinte cheie care descriu subiectele aplicaiei web $de eemplu, <:G4A name N ODe2wordsO content N Oturism, Austria, munte, lac, drumeii, &&&OM%& :enionm c unele motoare de cutare limiteaz lun"imea cuvintelor cheie $de eemplu, la 6KKK octei%& 4rebuie s tim c, dei atunci c!nd repetm aceleai cuvinte putem mbunti clasarea, repetarea ecesiv este vzut ca Ospammin"O i este OpedepsitO de unele motoare de cutare prin plasarea aplicaiei web n partea de ;os a listei sau deloc& Acelai lucru se aplic i pentru Ospoofin"O 8 specificarea n mod intenionat a unor informaii false $de eemplu, utiliz!nd O3awaiiO, ca un cuv!nt cheie pentru o aplicaie web care vinde maini folosite%& B meta-tag-ul ;descriptionG0 unele motoare de cutare utilizeaz descrierea pe care o oferim, ca o prioritate n procesul lor de cutare& B con8inutul paginii 4eb0 deoarece unele motoare de cutare utilizeaz numai primii octei ai unei pa"ini web i nu ntre"ul ei coninut pentru indeare, nceputul pa"inii ar trebui s includ o descriere tetual plin de semnificaie semantic i nu ima"ini, tabele, etc& C!nd utilizm ima"ini, trebuie s folosim o descriere tetual suplimentar drept alternativ& )n plus, trebuie avut n vedere faptul c roboii nu sunt n msur s OcompletezeO formulare, deci trebuie oferite a;utoare alternative de navi"are ctre alte pa"ini& B popularitatea leg5turilor 7i clasarea paginilor0 o msur care a devenit foarte popular, n special pentru publicaiile tiinifice ale fondatorilor motorului de cutare >oo"le, este de a crete popularitatea le"turilor $creterea numrului de le"turi care trimit la o aplicaie web%& :ai eact, pentru a calcula ranDin"-ul se folosete un Pa"e@anD calculat pentru fiecare pa"in de pe web n funcie de urmtoarea re"ul0 O'n document este mai important cu c!t este mai des le"at de alte documente $populare%O& Pentru a crete aceast clasare a pa"inii $6ageAan&%, proprietarul unei aplicaii web ar trebui s seteze le"turi n aplicaia sa i s se asi"ure ca le"turile reciproce sunt realizate de ctre alte site-uri web $populare%& Pentru a mbunti calitatea rezultatelor motoarelor de cutare, dezvoltatorii de aplicaii web ar trebui s utilizeze corect meta-ta"-urile $de eemplu, meta-ta"-ul content, meta-ta"-ul date, sau meta-ta"-ul content-language*& Cezvoltatorii de aplicaii 9eb ar trebui s ia n considerare folosirea metadatelor Cublin Core $http0<<dublincore&or"<%& 'n alt aspect interesant pentru dezvoltatorii de aplicaii web sunt opiunile de a eclude accesul motoarelor de cutare la anumite pa"ini web din aplicaie, sau de a interzice anumitor motoare de cutare s viziteze aplicaia web parial sau n totalitate& Prima opiune este important dac un Ocontor pentru vizitatoriO ar trebui s msoare doar vizitatorii reali i nu accesrile roboilor& A doua opiune este util, de eemplu, dac unele pri ale aplicaiei web nu conin informaii relevante pentru utilizatorii motorului de cutare& Pentru a seta aceste opiuni, putem utiliza fiierul robots.txt sau meta-ta"-ul O@?=?45O $http0<<www&robotstt&or"%& Promovarea unei aplicaii web - Mar8etin(ul prin coninut - >oo"le Ad9ords - Mana(ementul 'omeniilor - domeniu masterO - "!ndit ca o marc di"ital a proprietarului aplicaiei web Pionierul absolut n domeniul formei de publicitate devenit din ce n ce mai popular, marDetin"ul prin coninut, este motorul de cutare >oo"le& Ce fapt, >oo"le a dezvoltat un pro"ram special numit Ad9ords $https0<<adwords&"oo"le&com% pentru a a;un"e la potenialii clieni ntr-o manier intit& Construit pe tehnolo"ia de succes a motorului de cutare pentru utilizarea intit a cuvintelor cheie, acest nou pro"ram permite n plus plasarea de reclame care se potrivesc at!t pe pa"inile cu rezultate ale cutrii c!t i pe pa"inile site-urilor web afiliate& Campaniile Ad9ords se adreseaz utilizatorilor care caut cuvinte cheie speciale n >oo"le, i, n plus, plaseaz anunuri n aplicaiile web asociate& Acest marDetin" prin coninut etinde distribuia Ad9ords dincolo de reeaua uria a pa"inilor de cutare >oo"le& Ce eemplu, dac utilizatorii afieaz pro"noza meteo pentru 1ai pe o pa"in web a vremii probabile, ei ar putea vedea n acelai timp i reclame pentru camerele de hotel i de nchiriere a mainilor din zona 1ai& Pentru utilizatori, beneficiul marDetin"ului prin coninut este prezena le"turilor ntre coninut i produsele i serviciile similare& Astfel, a"enii de publicitate pot a;un"e la mai muli clieni de pe un numr mai mare de site-uri web& -iecare aplicaie web are o adres 1nternet, care este folosit pentru accesul unic i direct la aceasta, aceast adres are o importan strate"ic pentru marDetin"& )n prezent, nre"istrarea este oferit de ctre un numr mare de companii de nre"istrare a domeniilor, responsabile pentru atribuirea i "estionarea de domenii, acestea oper!nd la nivel naional i "lobal& 5e recomand utilizarea unui sin"ur domeniu pentru a comunica cu lumea eterioar& Acest aa-numit Odomeniu masterO poate fi "!ndit ca o marc di"ital a proprietarului aplicaiei web& Gste recomandat ca alte domenii, care au le"tur cu Odomeniul masterO i cu produsele i serviciile sale, s fie utilizate ca domenii secundare care s conduc de asemenea la aplicaia web& Acest lucru ne asi"ur c concurenii nu pot obine aceste domenii pentru a le utiliza n scopuri proprii& )n plus, un domeniu bine-conceput este un important O"enerator de traficO& )n timpul funcionrii unei aplicaii web, domeniile deinute trebuie "estionate cu "ri;, iar taele anuale trebuie pltite punctual pentru a preveni riscul de a pierde domeniul, datorit unei ne"li;ene& Mana(ementul coninutului N achiziia, crearea, pre"tirea, "estionarea, prezentarea, prelucrarea, publicarea i refolosirea coninutului, ntr-un mod sistematic i structurat - formarea unui "rup independent de editare a coninutului sau eternalizarea ntreinerii coninutului - drepturile de autor - tehnic - separarea coninutului, structurii i prezentrii - globalitatea web-ului - coninut n mai multe limbi - $ata 'e actuali;are a coninutului - volumul coninutului $nevoia constant de creare a unui coninut nou% i *actualitatea+ sa, str!ns corelat cu consistena i fiabilitatea - frecven de actualizare sczut - pierderea ncrederii utilizatorilor n site- ul respectiv - strate"ia folosit pentru a "enera pa"inile web - Odin zborO < periodic - Me'iati;area coninutului & furnizarea de coninut sau aplicaii de ctre un mediator $s2ndicator% pentru a fi refolosite ntr-o aplicaie web de ctre un abonat :ana"ementul coninutului reprezint achiziia, crearea, pre"tirea, "estionarea, prezentarea, prelucrarea, publicarea i refolosirea coninutului, ntr-un mod sistematic i structurat& Aceast definiie poate fi aplicat la coninutul unei aplicaii web $tet, ima"ini, audio, video, reprezentate n documentele 34:A%, purt!nd denumirea de managementul con8inutului 4eb& Calitatea coninutului este un factor deosebit de important pentru acceptarea unei aplicaii web& 'n coninut bo"at i actualizat al aplicaiei web contribuie la c!ti"area clienilor, dar i la creterea *aderenei+ la site $ncura;area vizitatorului s rm!n o perioad mai mare de timp i s se ntoarc%& )n acest sens, o aplicaie web ar trebui s aib o cantitate minim de coninut de nalt calitate n momentul c!nd este lansat& Cel mai mare cost pentru crearea i pre"tirea coninutului apare n principal n perioada urmtoare lansrii aplicaiei web, din acest motiv reprezent!nd una din sarcinile eseniale ale etapei de eploatare i ntreinere& Cin punct de vedere organi%atoric, trebuie luate msuri adecvate, cum ar fi formarea unui "rup independent de editare a coninutului sau eternalizarea ntreinerii coninutului ctre un furnizor ter de servicii& 'n alt aspect strate"ic implic drepturile de autor& ? atenie deosebit trebuie acordat chestiunilor le"ale privitoare la drepturile asupra ima"inilor, nre"istrrilor video i lo"o-urilor care urmeaz s fie folosite n aplicaia web& 1nformaii suplimentare despre drepturile de autor de pe 1nternet pot fi re"site la http0<<www&cop2ri"ht&"ov& Cin punct de vedere tehnic, este important ca arhitectura aplicaiei web s permit ncredinarea mana"ementului coninutului ctre persoanele non-tehnice, n sensul separrii coninutului, structurii i prezentrii& 4rebuie stabilit dac va fi utilizat un instrument comercial de mana"ement al coninutului $C:5% sau vor fi implementate componente de sistem orientate pe mana"ementul coninutului, bazate pe un sistem de "estiune al bazelor de date& 'n alt aspect important pentru mana"ementul coninutului este globalitatea web-ului, ceea ce nseamn c pa"inile trebuie s ofere coninutul n mai multe limbi, aceasta implic!nd costuri considerabile& )n orice caz, coninutul trebuie s fie realizat n limba naional a principalului "rup int i, n plus, n limba en"lez& Gste recomandat apelarea la traductori specializai i nu investiia n dezvoltarea de competene lin"vistice pentru persoane din interiorul companiei& Cei structura i prezentarea unei aplicaii web sunt supuse anumitor modificri, ele sunt n "eneral meninute stabile pentru o perioad lun" de timp& )n schimb, coninutul ma;oritii aplicaiilor web este supus permanent unor modificri& Caracteristicile de calitate importante din faza de eploatare i ntreinere sunt volumul coninutului $nevoia constant de creare a unui coninut nou% i *actualitatea+ sa, str!ns corelat cu consistena i fiabilitatea& ? frecven de actualizare sczut poate duce la pierderea ncrederii utilizatorilor n site-ul respectiv& Ce eemplu, o aplicaie web din domeniul turismului include uniti de informaie care au cerine diferite privind frecvena modificrilor i necesiti de actualizare diferite& 1nformaiile privind disponibilitatea pot fi subiectul unor schimbri permanente, n timp ce informaiile tarifare se schimb odat cu sezonul& Pentru ambele, cererea privind actualitatea coninutului este mare, deoarece aceste informaii formeaz baza tranzaciilor de afaceri, atunci c!nd utilizatorii fac rezervri online& Preurile incorecte pot duce la anularea tranzaciei& 1nformaiile epirate privind disponibilitile pot duce la situaii n care locurile libere nu sunt afiate, i, prin urmare, nu se v!nd, sau, invers, pot duce la depirea numrului de rezervri posibile atunci c!nd locurile afiate nu eist de fapt& )n contrast, descrierea unui hotel sau a unui loc de vacan este improbabil s se modifice des, i nu ar avea consecine ne"ative pentru utilizatorii sau proprietarii de site-uri dac aceasta nu ar fi actualizat& Cac vom folosi o component de mana"ement a coninutului, perioada de timp c!nd vom administra coninutul i cea n care coninutul nou sau modificat va apare pe pa"inile web pot fi diferite, ceea ce are un impact ne"ativ asupra modului n care utilizatorii percep actualizarea coninutului& Acest lucru depinde de strate"ia folosit pentru a "enera pa"inile web& >enerarea unei pa"ini web n mod dinamic, Odin zborO, n momentul n care un utilizator solicit acest lucru asi"ur o actualizare maim, dar poate duce la o performan slab n momentul eecuiei& >enerarea unei pa"ini web n mod periodic $de eemplu, o dat pe zi%, i stocarea acesteia $de eemplu, n sistemul de fiiere%, duce la timpi de rspuns mai mici i la o stabilitate mai mare, deoarece pa"inile web actualizate sunt de;a disponibile atunci c!nd sunt solicitate de utilizatori& 4otui, "enerarea periodic are lipsuri n privina consistenei datelor i are sens doar pentru coninutul cu cereri sczute privind actualizarea& :ediatizarea coninutului nseamn furnizarea de coninut $e& datele actualizate% sau aplicaii $e& un planificator de rute% de ctre un mediator $syndicator% pentru a fi refolosite ntr-o aplicaie web de ctre un abonat& 'n mediator de coninut i un abonat la coninut semneaz un acord care re"lementeaz termenii i condiiile privind dreptul de autor i facturarea Anali;a utili;%rii - evaluare i analizare a utilizrii unei aplicaii web B 4ehnici de analiz a utilizrii B metodele explicite $sau offline% - sondaHele online, e,alu5rile prin e-mail B metodele implicite $sau online% B Fiierul 7urnal al serverului web - informaii - problemele - identificarea unui utilizator dup adresa 1P a clientului - 7A4 M folosirea cooDie-urilor sau autentificarea eplicit - 9ebtrends B Meto'e ba;ate pe etichetarea pa(inilor - etichet "rafic sau tip script B Monitori;area traficului )n reea - snier de pachete - 1ndicatori statistici 8 Accesri, Afiri, (izite Popularitate N booDmarD - Analiza comportamentului utilizatorului - 4eb usage mining - pre-prelucrare1 - descoperirea modelului 7i - anali%a modelului Analiza utilizrii web-ului $numit i analiza accesrii web-ului% este neleas ca un proces de evaluare i analizare a utilizrii unei aplicaii web& Analiza utilizrii servete pentru a msura succesul unei aplicaii web $prin evaluarea unor serii de indicatori% i pentru a obine informaii despre utilizatori i comportamentul lor, reprezent!nd o baz pentru mbuntirea aplicaiilor web $e& n ceea ce privete navi"area i performana, adaptarea la anumite "rupuri de utilizatori%& Pentru a obine date n scopul desfurrii unei analize a utilizrii, putem ale"e ntre metodele explicite $sau offline%, care se bazeaz pe datele introduse direct de utilizator i metodele implicite $sau online% care colecteaz date $automat%, fr implicarea utilizatorilor& Gemple de metode eplicite sunt sondaHele online bazate pe formularele web oferite de a"enii i e,alu5rile prin e-mail1 n care utilizatorii pot raporta problemele care au aprut cu o aplicaie web& Acestea sunt metode eficiente pentru evaluri i sonda;e individuale, dar implementarea lor este de obicei costisitoare, principala lor deficien const!nd n faptul c necesit participarea activ a utilizatorilor& Prin urmare, tehnicile cele mai folosite pentru analiza utilizrii sunt metodele implicite, ce vor fi prezentate n continuare& Cea mai important metod implicit se bazeaz pe fiierele ;urnal $lo"-urile% serverului web, care nre"istreaz toate accesrile unui site web i ale unitilor sale $pa"ini web, cadre, etc&% /nali%a i7ierelor Hurnal implic evaluarea acestor fiiere, de eemplu pentru a stabili indicatorii sau comportamentul de navi"are al unui anumit utilizator& -iierele ;urnal pot avea diferite formate, cele mai comune sunt CA- $Common Ao"file -ormat%, ca un standard minim $detalii la http0<<www&wJ&or"<Caemon<'ser<Confi"<Ao""in"%, sau Gtended Ao"file -ormat $detalii la http0<<www&wJ&or"<4@<9C-lo"file&html%& -iierele ;urnal includ urmtoarele informaii0 B adresa 1P a utilizatorului sau numele mainii "azd - este folosit drept baz pentru identificarea "eneral a utilizatorului, B perioada accesrii $data, ora, fusul orar%, B cererea clientului $de eemplu, un fiier 34:A sau ima"ine%, B referina $reerrer% - este pa"ina pe care vizitatorul a vizualizat-o nainte de a face aceast cerere& '@A-ul referinei este baza pentru evaluarea cii de navi"are, B a"entul utilizator - descrie software-ul folosit de utilizator, inclusiv browser-ul, tipurile i versiunile sistemului de operare& Problemele care apar cu privire la identificarea unui utilizator dup adresa 1P a clientului web se datoreaz furnizorilor de servicii 1nternet care deseori aloc adrese 1P dinamice clienilor web, ceea ce nseamn c un sin"ur utilizator este reprezentat prin diferite mi;loace de identificare $7A4 - networD address translation%& @eversul acestei situaii este c mai muli utilizatori pot aciona sub aceeai identificare, ca clieni web& Ceci, a"re"area unor date pe perioade lun"i de timp pentru a forma profiluri ale utilizatorilor individuali este dificil& ? soluie la aceast problem implic folosirea cooDie-urilor sau autentificarea eplicit a utilizatorilor& Pentru a recunoate vizitele repetate, fiierele ;urnal ale serverului web pot stoca aa-numitele informaii coo&ie $http0<<www&wJ&or"<Protocols<rfc/6KH<rfc/6KH% despre clientul care a solicitat pa"ina& dirul de caractere din cooDie poate fi folosit pentru a identifica sesiunile, ceea ce reprezint un beneficiu ma;or pentru analiza utilizrii& Cac nu sunt cooDie-uri disponibile, sin"ura cale de a identifica o sesiune la acest nivel este sortarea intrrilor din fiierele web ;urnal dup adresa 1P, versiunea de browser client i dup data i ora& Prin utilizarea cooDie-urilor, se poate cel puin s ne asi"urm c aceeai combinaie client-server<browser este urmrit& :ulte instrumente de analiz comerciale analizeaz fiierul ;urnal& 4otui, aceast metod de evaluare are c!teva puncte slabe, pe l!n" problema de identificare a utilizatorului menionat anterior& 'nele dintre aceste deficiene pot fi atribuite inteniei iniiale de a utiliza fiierele ;urnal ca instrumente de depanare a problemelor serverului web& -iierele ;urnal ale unor site-uri web puternic frecventate pot fi etrem de mari, fc!nd astfel dificil sau chiar imposibil at!t evaluarea manual c!t i cea bazat pe instrumente& Ce eemplu, serverele web accesate intensiv produc fiiere ;urnal de mai muli "i"abii ntr-o sin"ur zi, din care intrrile "enerate de roboii motoarelor de cutare reprezint cea mai mare parte& Cin acest motiv, ma;oritatea instrumentelor analitice ruleaz astfel de evaluri doar sptm!nal sau lunar& Aceste Oanalize nt!rziateO sunt deseori insuficiente pentru ma;oritatea aplicaiilor web& Produsele comerciale mature $e& 9ebtrends, http0<<www&webtrends&com%, realizeaz evaluri scurte pe baza fiierelor ;urnal, n timp ce analizele web la cerere sunt construite pe alte tehnolo"ii& 1nstrumentele analitice la cerere $denumite i instrumente de raportare OliveO%, cum ar fi 3itbo oferit de 9eb5ide5tor2 $http0<<www&websidestor2&com% sunt bazate pe metode de etichetare a pa"inilor& :etodolo"ia de etichetare a pa"inii necesit o etichet "rafic sau tip script ce urmeaz a fi introdus pe fiecare pa"in a aplicaiei web care trebuie urmrit& )n mod tipic, aceasta este "estionat de ctre un server ter, care monitorizeaz de c!te ori fiecare etichet este trimis sau script-ul este eecutat, permi!nd astfel o analiz n timp real& ? metod comun este utilizarea unui aa-numit clearI=J, o ima"ine transparent de pe o pa"in web, care este n mod normal invizibil deoarece are doar 66 pieli ca mrime i apare n culoarea de fundal& Analiza bazat pe etichetarea pa"inii poate fi mult mai focalizat dec!t analiza clasic a unui fiier ;urnal& Ce eemplu, putem identifica n mod distinct pa"inile meniu sau aciunile anulate, pentru a preveni includerea lor n statistici& Aceeai tehnic poate fi folosit pentru analiza comportamentelor utilizatorilor, chiar pe mai multe servere& )n funcie de utilizarea lor, aceste etichete mai sunt cunoscute i ca bug-uri 4eb $http0<<www&eff&or"<Privac2<:arDetin"<web bu"&html% sau Oavertismente webO& )n terminolo"ia reelelor, un snier de pachete este un instrument care monitorizeaz i analizeaz traficul n reea pentru a detecta diferite obstacole i probleme& 5niffer-ele de pachete monitorizeaz i ;urnalizeaz permanent transferul de date permi!nd analize n timp real, astfel nc!t pot fi luate aciuni imediate $de eemplu, atunci c!nd anumite componente ale unei aplicaii web sunt suprancrcate, sau c!nd o component hardware este defect%& Pe de alt parte, acestea furnizeaz informaii suplimentare pe care fiierele ;urnal nu le capteaz n mod normal $de eemplu, atunci c!nd un utilizator a anulat o transmisie de date%& 5uccesul unei aplicaii web $comerciale% este de obicei msurat prin numrul de vizitatori sau de accesri ale aplicaiei web& Aceste msurtori folosesc urmtorii indicatori statistici0 B /cces5ri0 fiecare element al unei pa"ini solicitate, inclusiv ima"ini, tet, elemente interactive, este nre"istrat ca o OaccesareO n fiierul lo" al serverului web& Ceoarece o pa"in web poate conine multe elemente de acest tip, n funcie de desi"n, acest indicator statistic nu este deosebit de semnificativ& B /i75ri )page impressions*0 un sin"ur fiier sau o combinaie de fiiere, trimise ctre un utilizator valid, ca urmare a cererii acestuia, recepionat de server, se numr pa"inile ncrcate complet $de eemplu o pa"in web compus din c!teva cadre este numrat ca o sin"ur afiare%& B 2i%ite0 o serie de una sau mai multe afiri ca rezultat al cererii unui sin"ur utilizator, o vizit se ncheie atunci c!nd eist o pauz de JK minute sau mai mult ntre afirile succesive pentru acel utilizator& ? estimare cu privire la popularitatea unei aplicaii web poate fi dedus din numrul de utilizatori care marcheaz ca favorit o pa"in& Ce fiecare dat c!nd un client realizeaz un boo&mar& pentru o pa"in web din aplicaie folosind un browser $de eemplu, :icrosoft 1nternet Gplorer%, este accesat fiierul favicon&ico& Acest fiier este de obicei localizat n directorul rdcin al serverului web, i conine un "rafic cu dimensiunea de 6V6V pieli care este adu"at pa"inii web marcat ca favorit pe browser-ul clientului& Procesul de analiz a comportamentului utilizatorilor este cunoscut sub numele de 4eb usage mining& Aceast metod utilizeaz tehnici de data-mining pentru a identifica modele n utilizarea aplicaiilor web, cu scopul de a mbunti o aplicaie web& @ezultatele dob!ndite din minin"-ul utilizrii web pot porni de la simple informaii $de eemplu, ce pa"in web este cel mai frecvent vizitat ntr-o aplicaie web% p!n la informaii complee, cum ar fi nre"istrarea cii ntr-o aplicaie web, urmrirea unui utilizator p!n la achiziionarea unui produs sau formarea unor "rupuri de utilizatori n scopul filtrrii colaborative& :inin"-ul utilizrii web poate fi construit pe baza tehnicilor de achiziie de date care utilizeaz n ma;oritatea cazurilor fiiere ;urnal, el const din trei etape0 pre-prelucrare, descoperirea modelului i analiza modelului& -tapa 'e pre&prelucrare cur%% informaiile din intrrile fiierelor ;urnal $de eemplu, prin eliminarea acceselor serverelor de cutare sau accesele la ima"ini ncorporate%& 'rmtorul pas identific sesiunile i utilizatorii, n acest caz fiind uneori utilizat euristica, datorit problemelor le"ate de diferenierea utilizatorilor de adresele 1P& Aceasta presupune familiarizarea cu aplicaia web& Ce eemplu, trebuie definite tipuri de pa"ini pentru a diferenia pa"inile de coninut de pa"inile pur navi"aionale $cum sunt meniurile%& -tapa 'e 'escoperire a mo'elului identific pa"inile nrudite vizitate de utilizatori n cadrul aceleiai sesiuni& Pentru a mbunti o aplicaie web, de eemplu, aceste pa"ini pot avea le"turi suplimentare ntre ele& :ai mult dec!t at!t, descoperirea pa"inilor web vizitate consecutiv este util pentru mbuntirea performanei prin pre-ncrcarea pa"inilor relevante& 'n alt rezultat al acestei etape poate fi o clasificare a utilizatorilor n "rupuri de interese prin utilizarea profilurilor de utilizator& -tapa 'e anali;% a mo'elului const ntr-un proces de filtrare i interpretare a modelelor "site, n funcie de aplicaie& ?biectivul analizei poate fi deci destul de comple, n special pentru aplicaiile de e-commerce& -iltrarea colaborativ se refer la metodele care spri;in utilizatorii n folosirea aplicaiilor web inteli"ente, optimizate pentru comportamentul lor de navi"are individual& ?piunile oferite unui utilizator sunt fie limitate pe baza informaiilor adunate despre ali utilizatori cu un comportament probabil similar $aspect colaborativ%, fie privile"iate $aspect de filtrare%& ? tehnic euristic aplicat frecvent n filtrarea colaborativ se bazeaz pe presupunerea c utilizatorii similari au preferine similare& Ce eemplu, dac doi utilizatori dintr- un "rup de interes rezerv un produs turistic specific ntr-o aplicaie web pentru turism, atunci acest produs ar putea fi recomandat unui al treilea utilizator din acelai "rup de interes&