Sunteți pe pagina 1din 59

Arhitecturile aplicaiilor web

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&

S-ar putea să vă placă și