UNIVERSITATEA “SPIRU HARET” BUCURESTI FACULTATEA DE MATEMATICA SI INFORMATICA
LUCRARE DE LICENȚĂ
Coordo Coo rdonat nator or Științific ific St!d"nt Da#id Da#id La!r"n La!r"nți!$%"or&ian i!$%"or&ian '()*
UNIVERSITATEA “SPIRU HARET” BUCURESTI FACULTATEA DE MATEMATICA SI INFORMATICA
Coordo Coo rdonat nator or Științific ific St!d"nt Da#id Da#id La!r"n La!r"nți!$%"or&ian i!$%"or&ian '()*
C!+rin,
I INTRODUCERE.....................................................................................................................................4 1.1 Comertul Electronic .........................................................................................................................4 I.2 Beneficiile comertului electronic ......................................................................................................7 I.3 Modele de afaceri.............................................................................................................................9 II ROLUL ȘI IMPORTN IMPORTNȚ INTERNETULUI Ș I P!INILOR P!INILOR "EB............................................13 II.1 #curct I$toric .................................................................................................................................13 II.2 Pre%entare $i im&ortanta ................................................................................................................15 II.3 'TML. Pre%entare.........................................................................................................................17 II.( C##. Pre%entare.............................................................................................................................22 II.) *a+a#cri&t. Pre%entare ...................................................................................................................25 II.).1 Lim,a-ul *a+a#cri&t ................................................................................................................25 II.).2 Pre%entarea ,i,liotecii *uer/ ...............................................................................................31 II.0 Lim,a-e de $cri&tin ......................................................................................................................33 II.0.1 P/ton. Pre%entare ..................................................................................................................33 ........................................................................................................38 II.0.2 rame4or5ul 4e, la$5 ..........................................................................................................38 II.0.3 dmini$trarea dmini$trarea ,a%elor de date cu #Llcem/....................................................................41 III. R'ITECTUR M!6INULUI "EB.........................................................................................44 III.1 Pre%entarea maa%inului..............................................................................................................44 III.2 #trucura ,ac5endului a&lica ției ....................................................................................................54 III.3 #tructura ,a%ei de date.................................................................................................................64 I7. CONCLU6II......................................................................................................................................72 7. BIBLIO!RIE.................................................................................................................................74
DAVID LAURENȚIU
INTRODUCERE
I INTRODUCERE )-) Co."rt!/ E/"ctronic
8ntre&rinderile moderne $unt caracteri%ate &rintr9o cerere din ce in ce mai mare: &rin e;i$ten ța unei com&etiții la ni+el mondial $i &rin $&orirea &ermanent< a a ște&t
n$ cu furni%orii $i $a de+ina mai atente fa ț< de ne+oile $i a$te&t
DAVID LAURENȚIU
INTRODUCERE
eneral: di$tincție =ntre mai multe ti&uri de tran%ac ții: unele acti+e altele =n aște&tarea? $ Bu$ine$$9to9Bu$ine$$ @B929B $au BTBA cu&rinde toate tran%ac țiile ce $e efectuea%a intre doi $au
mai mulți &arteneri de afaceri. ce$te tran%acții $e ,a%ea%a: de o,icei: &e $i$teme e;tranet: ceea ce =n$eamna ca &artenerii de afaceri acționea%a &e internet &rin utili%area de nume $i &arole &entru &ainile de 4e, &ro&rii. 8n termeni &ractici: =n acea$ta cateorie de comer ț electronic &oate fi orice firma care utili%ea%a internetul &entru a comanda de la furni%ori: &entru a &rimi facturi $i a efectua &lați. 9 Bu$ine$$9to9Con$umer @B929C $au BTCA $e refera la rela țiile dintre comerciant $i con$umatorul final: fiind con$iderat comerț electronic cu am
admini$trati+e locale $au centrale. #&re e;em&lu: In #tatele Unite ale mericii: licita țiile &u,lice lan$ate de u+ern $unt &u,licate &e internet iar firmele &ot r<$&unde &e cale electronic<. In momentul de fata: acea$ta cateorie de comert electronic e$te intr9o fa%a de de%+oltare &rimar<: dar $e a$tea&t< o e;tindere ra&id<: mai ale$ in conte;tul in care u+ernele $i alte autorita ți folo$e$c &ro&riile metode de &romo+are a comer țului electronic. cea$ta cateorie de e9 commerce ar &utea: =n +iitor: $a fie utili%at< și &entru &lata T7 $au a im&o%itelor firmelor.
5
DAVID LAURENȚIU
INTRODUCERE
Ma-oritatea afacerilor de%+oltate &e Internet: cu comer electronic: $9au de%+oltat =n aria Bu$ine$$9to9Bu$ine$$ i mai &uin Bu$ine$9to9Con$umer. Bu$ine$$9to9Bu$ine$$@B2BA con$t< =n reali%area de tran%acii =ntre com&anii: tran$form>nd modul =n care ace$tea lucrea%< =ntre ele. Iniial tran$ferul dintre com&anii $e reali%< &rin intermediul unui $i$tem electronic de tran$fer numit EDI@Electronic Data IntercaneA. Tran$ferul electronic care are la ,a%< $i$temul EDI tran$mitea datele conform unui format $tandard. +>nd =n +edere fa&tul c< documentele erau a&ro;imati+ =n acelai format: $9au &utut reali%a $tandarde du&< ace$tea i a fo$t &o$i,il< trecerea lor =n format electronic. Datorit< fa&tului c< reelele EDI a+eau un co$t ridicat: multe com&anii folo$eau linii =nciriate $au $er+iciile unor firme care ofereau cone;iuni $i $er+icii de tran$mi$ie celor ana-ai =n EDI @7N 7alue dded Net4or5A. olo$irea unei a$tfel de metode &entru tran$ferul datelor a &re%entat an$a de a diminua co$turile &entru com&letarea formulalelor: li$tarea: trimiterea $au $tocarea din nou =ntr9un $i$tem informatic odat< a-un$e la de$tinatar: &recum i erorile ce ar fi re%ultat &rin introducerea re&etat< a datelor. Odat< cu a&ariia Internetului $9a trecut la comerul electronic ,a%at &e internet deoarece folo$irea ace$tuia e$te mai &uin co$ti$itoare. Comerul electronic ,a%at &e Internet a cuno$cut mai multe eta&e? 9 eta&a iniial<: eta&< =n care e9mail9ul a fo$t cea mai folo$it< tenoloie de tran$fer a datelor 9 eta&a 444: care a luat natere odat< cu a&ariia &rimului ,ro4$er 4e,@Mo$aicA 9 eta&a interacti+<: c>nd multe 4e,$ite9uri au introdu$ &rotocoale $ecuri%ate de comunicaie: a&licații $oft4are &e &artea de $er+er iF$au client: formulare: a$iur>nd interacti+itatea client9furni%or 9 eta&a maturi%
ului i
ca&a,ilit<ilor multimedia ale "e,9ului: care a de+enit: a$tfel: un +aloro$ canal de reclam< &u,licitate@Pia< Electronic
a i
DAVID LAURENȚIU
INTRODUCERE
I-' B"n"ficii/" co."rt!/!i "/"ctronic
8n ca%ul comerului electronic e;i$t< a+anta-e at>t &entru +>n%ator c>t i &entru cum&n%n%are 9 &u,licitatea online &oate atine &u,licul int< mai uor 9 de%+oltarea de noi &rodu$e $e &oate reali%a mai uor =n concordana cu con$umatorului 9 ada&tarea la $cim,n%area &rodu$ului 9 =m,un
Pentru cum&
cerinele
DAVID LAURENȚIU
INTRODUCERE
9 identificarea mult mai uoar< de furni%ori i &arteneri de afaceri 9 economii la cum&nt la di$tan
de
in$&ectat
la
di$tan<: indiferent de tenoloiile curenteA 9 &o$i,iliatea de non9&rofit =n ca%ul anumitor &rodu$e 9 credi,ilitate $c<%ut< 9 interarea reoaie a ,a%elor de date i a $oft4are9ului de &roce$are a
tran%aciilor
tradiionale cu $oft4are &entru comer electronic @ace$te $er+icii de interare &ot fi co$ti$itoareA. Pe l>n< &ro,lemele tenoloice i leate de $oft4are: e;i$t< i alte o,$tacole? 9 de natur< cultural< i leal< 8
DAVID LAURENȚIU
INTRODUCERE
9 leate de $ecuritatea comerului electronic 9 leate de confidenialitatea datelor @ce tran%acii efectuea%<: ce $ite9uri
+i%itea%<:
ce
&reocu&
I-0 Mod"/" d" afac"ri
nali%>nd a&licaiile curente de%+oltate &e Internet: identificn%t tim&ul c>t i co$tul de tran$mi$ie: m
9
DAVID LAURENȚIU
INTRODUCERE
9 &iaa unui ter @3rd &art/ mar5et&laceA? $e a&elea%< la o interfa< utili%ator &entru cataloul de &rodu$e al com&aniei: interfa< ce a&arine unui ter @=n eneral: furni%or de $er+icii internet $au o ,ancn%are &rodu$e $au $er+icii $au &oate adre$a cereri de cum&tiurile &ro+in din manaementul &latformei @ta;a de mem,ru $au ta;a de utili%areA: i din +>n%n%area de o&ortunit<i de afaceri: con$ultan< =n domenii $&eciali%ate. O cateorie $&ecial< o con$tituie $er+iciile de =ncredere furni%ate de autorit<ile de certificare $au de notariatele electronice. Un $i$tem electronic de &l<i $e refer< la totalitatea o,iectelor care conlucrea%< &entru 10
DAVID LAURENȚIU
INTRODUCERE
a$iurarea &l<ii tran%aciilor ce $e efectuea%<. #unt im&licate: =n eneral: trei entit<i care interacionea% o ,anca B: un cum&n%n%
Un #i$tem Electronic de Pl<i @i. 1.3A e$te format din doua ni+ele? 9 ni+elul utili%ator: care con$tituie ni+elul ieraric $u&erior
11
DAVID LAURENȚIU
INTRODUCERE
9 ni+elul $i$tem: care con$tituie ni+elul ieraric inferior.
Ni+elul utili%ator con$t< din mulimea utili%atorilor i a tran%aciilor care au loc =ntre acetia. Utili%atorii $unt ru&ai du&< di+er$e roluri: du&< modul =n care interacionea%< =n relaiile de afaceri dintre ei? cum&n%nd e$te nece$ar $< $e $ta,ilea$c< o $trateie de mar5etin: &entru a crea un catalo de &rodu$e: &entru a defini co$turile i &reurile de +>n%are: &iaa int<: &reurile de tran$&ort i de mani&ulare. 8n &re%ent: ma-oritatea com&aniilor dore$c $< includ< de%+oltarea E9Bu$ine$$. cea$t< nou< tenoloie: care $e ,a%ea%< &e Internet: e$te i +a rne &entru o lun< &erioad< de tim& o +ariant< de de%+oltare a unei afaceri. Pentru a &utea utili%a acea$t< tenoloie =ntr9un mod core$&un%
12
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
II ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PA%INILOR 1EB
II-) Sc!rct I,toric
Internetul $9a n<$cut la mi-locul anilor 0H =n forma RPnet @d+anced Re$earc Pro-ect$ enc/ NetA 9 o reea =ntre mai multe com&utere din unele in$tituii americane: ce lucrau &entru RP: un de&artament de cercetare din cadrul Pentaonului. RP a fo$t &u$ =n funciune ca reacie la $ucce$ul $o+ietic al lan$nd tran$mi$ia de date =nt>lnea un o,$tacol: $au una dintre adre$e era de ne<$it: $e <$ea o alt< cale cnd: cercetritul anilor 0H i =nce&utul anilor GH: c>nd Internetul num
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
$9au de%+oltat &rimele dintre $er+icii: folo$ite =nc< i a%i &entru tran$ferul informaiei?9 ile Tran$fer Protocol &entru trimiterea i re<$irea fiierelor 9 Telnet &entru acce$area i folo$irea ,a%elor de date: a ,i,liotecilor i a cataloaelor din toat< lumea 9 E9Mail &entru trimiterea me$a-elor &er$onale. Internetul era =n mod cateoric =n a$cenden<. Cu noi ru&uri de utili%atori care $e alnd c>te+a com&utere UNIK au fo$t conectate =m&reun<. U#ENET. 8n $ute de ru&uri de di$cuii de$&re orice $u,iect imaina,il: oamenii fnd: e;&re$ia Information #u&er'i4a/ @auto$trada informaieiA a de+enit u%ual<. 8n acea$t< metafor<: Internetul era +<%ut ca o im&ortant< infra$tructur< &entru tran$&ortul unor ,unuri +itale 9 informaiile. 8n anii H i =nce&utul anilor H: c>nd Internetul era folo$it doar de un num
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
+arietatea de &latforme ale di+er$elor calculatoare. #oluia de ,a%< era ideea de a face lend lend NC# @National Center for #u&ercom&utin &&lication$A din #U a $co$ Mo$aic 9 Bro4$er =n 13: care era ,a%at &e o interfa< rafic< @"indo4$A. Enorma cretere a 4e,9ului a =nce&ut +irtual: dintr9o dat 8n iunie 13: 13H $er+ere "e, erau =nrei$trate: =n 1( erau de-a 11.)G0 $er+ere. Dar 4e,9ul nu a fnd au a&i+a ani mai t>r%iu $9a n<$cut E9Commerce. II-' Pr"2"ntar" ,i i.+ortanta
8n Rom>nia: &enetrarea internetului a cre$cut con$tant =n ultimii ani: atin>nd )3 la ni+el naional i 03 la ni+el ur,an =n r>ndul &er$oanelor cu +>r$ta de &e$te 1) ani =n a&rilie 2H13. 8n acelai tim&: a&etitul rom>nilor &entru ta,lete i $mart&one9uri e$te =n continu< cretere. 7>n%
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
a-un>nd la o &ondere de 2) din totalul &ieei de telefoane mo,ile =n unit<i =n 2H12: iar numndute a cre$cut de a&roa&e ) ori =n 2H12 fa< de 2H11. ce$te e+oluii =nce& $< =i &un< am&renta nu doar a$u&ra $tilului de +ia< al con$umatorilor: ci i a$u&ra com&ortamentului lor de cum&n< nu de mult maa%inele i mediile tradiionale de comunicare erau &rinci&alele $ur$e de informare =n +ederea lunia &e un eantion re&re%entati+ &entru &o&ulaia ur,an< utili%atoare de Internet: cu +>r$te =ntre 1) i () de ani: rele+< rolul im&ortant al internetului =n redefinirea com&ortamentului de cum&t =nainteS: $&une Raluca R<$ci&: Con$umer !ood$ Retail Director !fQ Rom>nia. 8n afar< de mediul online: tre&tat $e de%+olt< i alte medii de interaciune: cum ar fi cel &rin intermediul $mart&one9urilor. Dac< =n momentul de fa< $mart&one9ul e$te folo$it cu &rec
16
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
8n ace$t mediu =n care cum&n< i mai im&licat =n &roce$ul de cum&nd tot mai multe &>rii &entru a ma;imi%a +aloarea &e care o o,ine: de+ine tot mai dificil &entru &roduc
II-0 HTML- Pr"2"ntar"
Unul din &rimele elemente fundamentale ale """ @"orld "ide "e,A e$te 'TML @'/&erte;t Mar5u& LanuaeA: care de$crie formatul &rimar in care documentele $unt di$tri,uite $i +<%ute &e "e,. Multe din tra$aturile lui: cum ar fi inde&endenta fata de &latforma: $tructurarea formatt de +ariat<. 'i&erte;t =n$eamn< ca orice cu+>nt: fra%a: imaine $au alt element al documentului +<%ut de un utili%ator @clientA &oate face referina la un alt document: ceea ce uurea%< mult na+iarea intre 17
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
multi&le documente $au ciar in interiorul aceluia și document. #tructurarea riuroa$a a documentelor &ermite con+ertirea ace$tora dintr9un format in altul &recum $i interoarea unor ,a%e de date formate din ace$te documente. #tandardul oficial 'TML e$te "orld "ide "e, Con$ortium @"3CA: care e$te afiliat la Internet Enineerin Ta$5 orce @IETA. "3C a enunat c>te+a +er$iuni ale $&ecificaiei 'TML: &rintre care $i 'TML 2.H: 'TML 3.H: 'TML 3.2: 'TML (.H $i: cel mai recent: 'TML (.H1. In acelai tim&: autorii de ,ro4$ere: cum ar fi Net$ca&e $i Micro$oft: au de%+oltat ade$ea &ro&riile e;ten$ii 'TML in afara &roce$ului $tandard $i le9au incor&orat in ,ro4$erele lor. In unele ca%uri: cum ar fi taul Net$ca&e : ace$te e;ten$ii au de+enit $tandarde de facto ado&tate de autorii de ,ro4$ere. 'TML 2.H: ela,orat in Iunie 1(: e$te $tandardul &e care ar tre,ui $a9l $u&orte toate ,ro4$erele curente 99 inclu$i+ cele mod te;t. 'TML 2.H reflecta conce&ia oriinala a 'TML ca un lim,a- de marcare inde&endent de o,iectele e;i$tente &entru ae%area lor in &aina: in loc de a $&ecifica e;act cum ar tre,ui $a arate ace$tea. Dac< dorii $a fii $iuri ca toi +i%itatorii +or +edea &ainile aa cum tre,uie: folo$ii taurile 'TML 2.H. #&ecificaia 'TML 3.H: Enunata in 1): a =ncercat $a de%+olte 'TML 2.H &rin adndite dec>t taurile oficiale. #&ecificaia 'TML 3.H acum a e;&irat: deci nu mai e$te un $tandard oficial. In Mai 10: "3C a $co$ &e &iaa $&ecificaia 'TML 3.2: care era &roiectata $a reflecte $i $a $tandardi%e%e &racticile acce&tate la $cara lara. Deci: 'TML 3.2 include taurile 'TML 3.H ce erau ado&tate de autorii de ,ro4$ere ca Net$ca&e $i Micro$oft &lu$ e;ten$ii 'TML r<$&>ndite. In Bilanul a$u&ra 'TML: "3C recomanda ca &ro+iderii de informaii $a utili%e%e $&ecificaia 'TML 3.2.7er$iunile curente ale ma-orit<ii ,ro4$erelor ar tre,ui $a $u&orte toate: $au a&roa&e 18
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
toate ace$te tauri. De a$emenea e;i$ta e;ten$ii Net$ca&e $i Micro$oft care nu fac &arte din $&ecificaia 'TML 3.2: ori &entru ca $unt mai &uin utili%ate: ori au fo$t omoloate du&< a&ariia 'TML 3.2. Pentru ca na+iatorul Net$ca&e a fo$t &rintre &rimele ,ro4$ere care $u&orta anumite tauri 'TML 3.H: iar Net$ca&e deine in -ur de GH din &iaa de ,ro4$ere: muli au cre%ut eronat ca toate e;ten$iile Net$ca&e @inclu%>nd tauri ca $i facilitai ca fere$treleA fac &arte din 'TML 3.H $au 'TML 3.2. Documentele 'TML $unt documente in format #CII $i &rin urmare &ot fi create cu orice editor de te;t. u fo$t: =n$a: de%+oltate editoare $&eciali%ate care &ermit editarea intr9un fel de "#I"! deși nu $e &oate +or,i de "#I"! at>ta +reme cat na+iatoarele afiea%< același document oarecum diferit: in functie de &latforma &e care rulea%a. u fo$t: de a$emenea: de%+oltate con+ertoare care &ermit formatarea 'TML a documentelor enerate @$i formatateA cu alte editoare. E+ident con+er$iile nu &ot &a$tra dec>t &ar țial formatrit de ,loc: =n tim& ce &entru alte ,locuri ace$t delimitator e$te o&ional $au ciar inter%i$. Intre cele doua marca-e 34t./5 $i 364t./5 +om introduce doua $eciuni? 9 $ecțiunea de antet 34"ad5...364"ad5 $ cor&ul documentului 37od85...367od85. Blocul 37od85...367od85 cu&rinde coninutul 19
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
&ro&riu9%i$ al &ainii 'TML: adic< ceea ce +a fi afiat in ferea$tra ,ro4$er9ului.
i. 1.( #tructura unui document tml. &lic>nd cele $&u$e mai $u$ +om a-une la urmatorul re%ultat? 34t./5 34"ad534"ad5 37od85367od85 364t./5
Taul 34"ad5 conține: de o,icei: elemente &recum taul 3tit/"5 9 ce $emnific< titlul &ainii: 20
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
3,cri+t5 9 &entru a face referire la fi$iere 9a#a,cri+t folo$ite &entru a da dinaminictate &ainii: 3/in:5 9 folo$it &entru a face referire la fi$iere c,, ce contin informații de$&re a$&ectul
documentului. In eneral: documentul +a a+ea urmatoarea $tructura a elementelor conținute in taul 34"ad5 34t./5 34"ad5 3tit/"5 Tit/!/ +a&inii 36tit/"5 3,cri+t ,rc;”dina.i,.-9,”536,cri+t5 3/in: r"/;”,t8/",4""t” t8+";”t"
Taul 37od85 conține cor&ul documentului. Practic: in ace$t ta re%ida toate elementele ce +or fi afișate direct c
fișierului c,, $au a&licand atri,utele =idt4 $i 4"i&4t ace$tui document. Un e;em&lu &ractic de utili%are a taului 3di#5 e$te crearea unui meniu de na+iare. olo$ind taul 3di#5 =ntreul meniu +a fi &ri+it ca o $inura entitate. cea$ta e$te $tructura unui fi$ier 'TML ce conține un meniu de na+iare minimali$t im&lementat &rin intermediul taului 3di#53>DOCT?PE 4t./5 34t./5 34"ad5 3tit/"5 Tit/!/ +a&inii 36tit/"5 3,cri+t ,rc;”dina.i,.-9,”536,cri+t5 21
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
3/in: r"/;”,t8/",4""t” t8+";”t"
Du&< cum &uteți o,$er+a: am folo$it taul 3!/5 ce marcea%a o li$ta neordonat< &entru a introduce elementele meniului de na+iare. iecare element din meniu de na+iare e$te introdu$ &rin intermediul taului 3/i5 ce marcea%a un element al unei li$te. De a$emenea: &entru a crea leaturi intre numele unei $ecțiuni $i &aina ace$tei $ectiuni am folo$it taul 3a5 ce marcea%a un lin5 $&re o &ain<: &entru a &reci%a &aina ac ționat< de lin5 am folo$it atri,utul 4r"f al ace$tui ta ce $&ecific< re$ur$a indicat< de lin5. II-@ CSS- Pr"2"ntar"
C## @Ca$cadin #t/le #eet$A e$te un $tandard &entru formatarea elementelor unui document 'TML. #tilurile $e &ot atașa elementelor 'TML &rin intermediul unor fi șiere e;terne $au =n cadrul documentului: &rin elementul 3,t8/"5 șiF$au atri,utul ,t8/". Pentru a &er$onali%a a$&ectul unui element dintr9un fi$ier 'TML &rin intermediu c,, e$te nece$ara o modalitate de a face referire la acele elemente din interiorul unui fi$ier c,,- De o,icei: $e folo$e$c atri,utede id $i c/a,, ale unui ta tml &entru a $e face referire la el dintr9un fi$ier c,,. 22
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
8n e;em&lul urm
ce$ta e$te fișierul tml a$u&ra caruia a&licDOC?PE 4t./5 34t./5 34"ad5 3/in: r"/;”,t8/",4""t” t8+";”t"
E$te demn de &reci%at ca e$te ne+oie $a &recedem id9ul elementului cu un atunci cand dorim $a facem referire la un element du&a id9ul ace$tuia.
O alta caracteri$tic< de$ folo$ita a fișierelor c,, e$te &o%iționarea unui element. Ba%>ndu9ne &e același &rinci&iu e;&u$ =n e;em&lul anterior &utem &o%i ționa un element du&a ,unul &lac folo$ind atri,utele /"ft ri&4t 7otton $i to+23
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
In e;em&lul urm
cea$ta e$te $tructura fișierului tml a$u&ra cDOCT?PE 4t./5 34t./5 34"ad5 3/in: r"/;”,t8/",4""t” t8+";”t"
Du&a cu o,$er+ati: de acea$ta data am folo$it atri,utul c/a,, al taului 3i.&5 &entru a face referire la ace$ta din interiorul fi șierului c,,- De a$emenea: $e &oate o,$er+a ca =n interiorul fișierului c,, am &refi;at cla$a imainii cu un &unct: ace$ta fiind modul &rin care $electam un element in funcție de +aloarea atri,utului c/a,,Deși nu foarte folo$it< =n &actic<: e;i$ta o a doua modalitate de a &er$onali%a un fi$ier 4t./ &rin intermediul c,, fara a face referire la re$ur$e e;terne. Pentru acea$ta +a tre,ui $a utili%am taul 24
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
3,t8/"5 din interiorul taului 34"ad5.
ce$ta e$te modul in care &utem $crie e;em&lul &re%entat anterior intr9un $inur fi$ier? 3>DOCT?PE 4t./5 34t./5 34"ad5 3,t8/" t8+";”t"
II-* a#aScri+t- Pr"2"ntar"
II-*-) Li.7a9!/ a#aScri+t
*a+a#cri&t @*#A e$te un lim,a- de &roramare orientat o,iect ,a%at &e conce&tul &rototi&urilor. E$te folo$it mai ale$ &entru introducerea unor func ționalit< ți =n &ainile 4e,: codul *a+a$cri&t din ace$te &aini fiind rulat de c
DAVID LAURENȚIU
Communication$ Cor&oration $u, numele de Moca: a&oi
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB Li+e#cri&t: și denumit =n final
*a+a#cri&t. 8n ciuda numelui și a unor $imilarit<ți =n $inta;<: =ntre *a+a#cri&t și lim,a-ul *a+a nu e;i$t< nicio let cu *a+a. Codul $cri$ in ace$t lim,a- e$te introdu$ direct in interiorul fi$ierului HTML &rin intermediul taului 3,cri+t5 $au $e &oate face referire la un fi$ier a#aScri+t &rin intermediul atri,utului ,rc al taului 3,cri+t5- Prima +ariant< e$te cea mai de$ =ntalnit< =ntruc>t e$te ideala &entru $cri&turi de dimen$iuni mici: ce nu de&a$e$c 2HH92)H de linii de cod. 8n mod normal: a șa +a arata un fi$ier 'TML ce conține $i cod a#aScri+t?
3>DOCT?PE 4t./5 34t./5 34"ad5 364"ad5 37od85 3,cri+t t8+";”t"
8n e;em&lul de mai $u$ am folo$it func ția a/"rt &entru a demon$tra modul de funcționare a unui &roram $im&lu in a#aScri+tD"finir"a #aria7i/"/or 26
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
In a#aScri+t: &recum $i =n alte lim,a-e de $cri&tin: nu e$te nece$ar< declararea ti&ului de date atunci cand definim o noua #aria7i/J $au f!ncți"- Totuși: definirea unei noi +aria,ile $e face folo$indu9ne de cu+>ntul ceie #ar: nu &uteam &ur și $im&lu $a folo$im acea +aria,ila fara $a o fi declarat. E;em&lu de definire a +aria,ilelor in lim,a-ul a#aScri+t 3>DOCT?PE 4t./5 34t./5 34"ad5 364"ad5 37od85 3,cri+t t8+";”t"
8n e;em&lul de mai $u$ am creat o +aria,ila a și i9am am atri,uit &e rand ( +alori de ti&? intre: $trin: $trin delimitat de a&o$troafe și num
face u% de ilimele și forma ce folo$ește a&o$troafele.
Str!ct!ri d"ci2iona/" Kn /i.7a9!/ a#aScri+t
27
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
Din &unct de +edere al $tructurilor deci%ionale a#aScri+t $e a$eamn< foarte mult cu lim,a-ele C: CVV $i *a+a. E;em&lul urmator demo$tra%a modul de folo$ire a celor mai frec+ente $tructuri deci%ionale: și anume? if6"/,"6"/,"if și ,=itc4. 3>DOCT?PE 4t./5 34t./5 34"ad5 364"ad5 37od85 3,cri+t t8+";”t"
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
364t./5
8n e;em&lul de mai $u$ am introdu$ o $trucura deci%ional< de ti& if6"/,"if6"/," ce a&elea%a funcția a/"rt: &a$>ndu9i ca și arumente $trinurile? ra.!ra d" ad"#ar: ra.!ra "/,"if: ra.!ra "/,": =n funcție de ramura &e care $e afla flu;ul de e;ecuție.
8n ca%ul celui de al doilea e;em&lu: =n care folo$im $tructura ,=itc4: +om a&ela funcția a/"rt &a$>ndu9i ca și arument $trinul ca2!/ d" ad"#ar: atunci cand flu;ul de e;ecutie $e afla in ca%ul in care +aloarea +aria,ilei #aria7i/a e$te tr!".
Str!ct!ri r"+"titi#"
Precum și in lim,a-ul de &roramare C: lim,a-ul a#aScri+t &une la di$&o%itie 3 $tructuri re&etiti+e &rinci&ale? do6=4i/": =4i/": for. 8n e;em&lul urmator +oi &re%enta fiecare din cele 3 $tructuri re&etiti+e? 3>DOCT?PE 4t./5 34t./5 34"ad5 364"ad5 37od85 3,cri+t t8+";”t"
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
i$$ forG#ar i ; ( i 3 '( i a/"rtGi 36,cri+t5 367od85 364t./5
Bucla do6=4i/" +a rula &ana cand +aloarea +ariea,ilei i +a fi mai mare decat 1H: la fiecare iterație $e afișea%< +aloarea +aria,ilei i și $e incrementea%< cu o unitate. Bucla =4i/" +a rula &an< c>nd +aloarea ei +a fi mai mica de : la fiecare iterație a ,uclei $e +a afișa +aloarea +aria,ilei &rin intermediul functiei a/"rt: iar +aloarea +aria,ilei i +a fi decrementat< cu o unitate. Bucla for +a rula &>n< c>nd +aloarea +aria,ilei i +a fi mai mare de '(: la fiecare iterație a ,uclei +aloarea +aria,ilei +a fi incrementata cu o unitate: iar +aloarea ace$teia +a fi afi șat< =ntr9o c<$uța de dialo &rin intermediul func ției a/"rt.
D"finir"a f!nctii/or
Lim,a-ul *a+a#cri&t &une la di$&o%i ție doua modalit< ți de definire a func țiilor: &rima a$emndu9$e foarte mult cu modul de definire a funcțiilor din lim,a-ul +4+- E;em&lul urmDOCT?PE 4t./5 30
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
34t./5 34"ad5 364"ad5 37od85 3,cri+t t8+";”t"
Prima modalitate definește o funcție f ce +a afișa o ca$uț< de dialo cu te;tul f atunci cand e$te a&elat<: iar a doua definește o +aria,ila & caruia =i e$te atri,uit< +aloarea unei funcții anoni." ce afișea%< o ca$uta de dialo cu te;tul &.
II-*-' Pr"2"ntar"a 7i7/iot"cii !"r8
Pentru a &relucra elementele DOM9ului &rin intermediul a#aScri+t $im&lu +om =ntam&ina o $erie de dificultati: =ntrucat func țiile folo$ite &entru reali%area ace$tor lucruri $unt im&lementate diferit de &roducatorii de ,ro4$ere: iar PI9ul nati+ &u$ la di$&o%itie de un ,ro4$er &entru efectuarea ace$tui lucru ofera o interfata ne&rietenoa$a. Pentru a u$ura &roce$ul de $electare $i modificare a elementelor DOM9ului +om folo$i o ,i,lioteca denumita !"r8. S"/"ctar"a "/"."nt"/or d!+a id 31
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
Pentru a modifica elementele unui document 'TML e$te ne+oie de o modalitate de a le acce$a: interfata &u$< la di$&o%i ție de !"r8 $e a$eman< foarte mult cu modul =n care $electDOCT?PE 4t./5 34t./5 34"ad5 364"ad5 37od85 3,cri+t t8+";”t"
#e o,$er+a a&elul la metoda r"ad8 a documentului: $co&ul ace$tei acțiuni e$te de a e;ecuta cod a#aScri+t decat du&a ce ,ro4$erul a terminat de inc
ace$tui element.
Tratar"a "#"ni."nt"/or
32
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
!"r8 ne &ermite $< le
e;em&lu: atunci c>nd $e face clic5 &e un ,uton +a fi a&elat e+enimentul clic5. !"r8 ne &ermite $< e;ecutam &orțiuni de cod la e;ecutarea unui a$tfel de e+eniment. In e;em&lul de mai -o$ +oi afi$a o ca$uta de dialo de fiecare data cand $e face clic5 &e un ,uton ce are atri,utul c/a,, eal cu ,utonS. 3>DOCT?PE 4t./5 34t./5 34"ad5364"ad5 37od85 3,cri+t t8+";”t"
II- Li.7a9" d" ,cri+tin&
II--) P8t4on- Pr"2"ntar"
P/ton e$te un lim,a- de &roramare dinamic multi9&aradim<: creat =n 1 de &roramatorul olande% !uido +an Ro$$um. 7an Ro$$um e$te și =n %iua de a$t<%i un lider al comunit< ții de de%+oltatori de $oft4are care lucrea%< la &erfecționarea lim,a-ul P/ton și im&lementarea de 33
DAVID DAVID LAURENȚIU LAURENȚ IU
,a%< a ace$tuia: CP/ton: $cri$< =n C. P/ton P /ton e$te un lim,a-
ROLUL ȘI IMPORTANȚA IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB multifunc țional folo$it de e;em&lu
de ct dec>t =n alte lim,a-e lim,a-e de &roramare &roramare ca C. 8n ceea ce &ri+e &ri+ește &aradima &aradima de &roramare: &roramare: P/ton P/ton &oate $er+i ca lim,a- &entru &entru $oft4are $oft4are de ti&ul o,-ect9oriented: o,-ect9oriented: dar &ermite &ermite și &roramarea im&erati+<: im&erati+<: func funcțional ional<< $au &roced &rocedura ural<. l<. #i$tem #i$temul ul de ti&i% ti&i%are are e$te e$te dinami dinamicc iar admini admini$tr $trare areaa mem memori oriei ei decure automat &rin intermediul unui $er+iciu WunoierS @ar,ae collectorA. lt a+anta- al lim,a-ului e$te e$te e;i$ten ța unei am&le ,i,lioteci ,i,lioteci $tandard de metode. metode. Im&lementarea de de referinț< a P/ton P/ton e$te $cri$< $cri$< =n C și &oart< &oart< deci numele numele de CP/ton. CP/ton. cea$t< im&lementare e$te e$te $oft4are li,er și e$te admini$trat< admini$trat< de de fundația P/ton #oft4are oundation. oundation.
Ti+i2ar"
Lim,a-ele dinamice $unt de$eori caracteri%ate &rin ti&i%are dinamic<: $unt inter&retate: au manaement de memorie memorie automati%at @ar,ae @ar,ae collectinA și au un ni+el ni+el =nalt de a,$tracti%are. a,$tracti%are. Ti&ul +aria,ilelor nu e$te fi;at la momentul declar
DAVID DAVID LAURENȚIU LAURENȚ IU
ROLUL ȘI IMPORTANȚA IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
a ; )( a #a fi con,id"r !n n!.Jr Kntr"& Gint"&"r 7 ; ))-* ))-* 7 #a fi con,id"rat !n n!.Jr raț iona/ Gdo!7/" ,a! f/oat c ; Q!n rnd d" t"
8n ciuda ti&i%nd in>nd cont de natura o&era o&erației: cum $e $e &oate +edea +edea mai -o$ -o$ d ; )( ))-* ))-* r"2!/tat!/ r"2!/tat!/ #a fi !n n!.Jr raț iona/ ')-* " ; Qo 7rioșJQ @ ac"a,tJ ac"a,tJ co.andJ co.andJ #a &"n"ra o "roar""roar"-
lt conce&t conce&t im&ortan im&ortantt =n P/ton P/ton e$te cel al ti&urilor ti&urilor muta,il muta,ilee și nemuta,ile. nemuta,ile. șa cum im&lic< im&lic< numele: numele: datele cu un ti& muta,il muta,il &ot fi alterate du&< ini țiali%are: iali%are: =n +reme ce la date nemuta,ile nemuta,ile lucrul ace$ta e$te im&o$i,il. Lu>nd ca e;em&lu o li$t< @muta,il
Str!ct!ri d" dat"
P/ton P/ton ofer< ti&uri ti&uri tradiționale ionale de date: cum ar fi num
DAVID DAVID LAURENȚIU LAURENȚ IU
ROLUL ȘI IMPORTANȚA IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
@floatA: dar introduce introduce totodat< totodat< și conce&te conce&te noi. De e;em&lu: un rad mare de fle;i,ilitate =l ofer< li$tele @ta,lourileA =n P/ton. ce$tea nu $unt $tatic $tatice: e: ci &ot conține orice orice ti&uri ti&uri de date date @=n cadrul cadrul aceleia aceleiași li$teA li$teA și &ot fi modifi modificat catee &e loc loc adnd și elimin>nd elimin>nd elemente f
lte $tructuri $tructuri de date $unt tu&lurileF&erecile tu&lurileF&erecile @tu&le$A @tu&le$A și dic ționarele @dictionarie$: @dictionarie$: ma&&in$A. ma&&in$A. Tu&lur Tu&lurile ile $unt li$te li$te care au un num
Sti/
P/ton P/ton e$te un lim,alim,a- multi9&a multi9&aradi radim<: m<: concentr> concentr>ndu9 ndu9$e $e a$u&ra a$u&ra &roram< &roram
36
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB funcționalit<ții. P/ton face din acea$t< de&rindere folo$itoare =n ace$t $en$ o cerin ț< $trict<.
O im&unere $imilar< e;i$t< și =n lim,a-ul de &roramare *a+a: care forțea%< &roramatorii $< delimite%e cla$ele =n fișiere a&arte: din moti+e de orani%are și $&orire a eficien ței de $criere a $oftului =n eci&e. Bi7/iot"ci și E
Includerea tuturor ace$tor $tructuri: &recum și a func țiilor ce &ermit mani&ularea și &relucrarea lor: &recum și multe alte ,i,lioteci de func ții $unt &re%ente datorit< conce&tului Batterie$ IncludedS: ce &oate fi e;&licat &rin fa&tul c< !uido +an Ro$$um și comunitatea ce $9a format =n -urul lim,a-ului cred c< un lim,a- de &roramare nu &re%int< utilitate &ractic< dac< nu are un $et de ,i,lioteci im&ortante &entru ma-oritatea de%+oltatorilor. Din ace$t moti+ P/ton include ,i,ioteci &entru lucrul cu fi șiere: ari+e: fi șiere KML și un $et de ,i,lioteci &entru lucrul cu re țeaua și &rinci&alele &rotocoale de comunicare &e internet @'TTP: Telnet: TPA. Un numnd cu anul 2HHH: datorit< fa&tului c< P/ton &ermite crearea mai ra&id< a a&licațiilor care nu cer +ite%e =nalte de &roce$are a datelor. De a$emenea e$te util ca lim,a- de $cri&tare: utili%at =n cadrul a&licațiilor $cri$e =n alte lim,a-e. Modulele @,i,liotecileA P/ton &ot fi de a$emenea $cri$e =n C: com&ilate și im&ortate =n P/ton &entru a m
37
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
II--' Fra."=or:!/ ="7 F/a,:
#&re deo$e,ire de PHP P8t4on nu ofer< $u&ort direct &entru de%+oltarea a&lica țiilor 4e,: &entru a de%+olta a&licații 4e, in &/ton e$te nece$ar un fra."=or: ="7 ce +a &une la di$&o%itie toate funcțiile și de&endin țele nece$are de%+olt
Str!ct!ra !n"i a+/icații ="7 d"2#o/tat" fo/o,ind F/a,:
E;em&lul urm
\a++-ro!t"G6ind"< d"f ind"
Du&a cum +edeți: e$te nece$ar< im&ortarea cla$ei F/a,: și a funcției r"nd"rt".+/at"7aria,ila a++ +a fi inițiali%at< dre& un o,iect de ti& F/a,: : ace$t o,iect +a conține toate datele ce țin de confiurarea a&licatiei.
38
DAVID LAURENȚIU
unctia r"nd"rt".+/at" +a &roce$a tem&lateul al c
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB e$te &a$at ca și arument $i +a
returna $u, forma unui $trin con ținutul ace$tuia. Moti+ul folo$irii unei a$tfel de metode e$te &entru a &ermite utili%area $tructurilor de control ce &ermit crearea tem&lateurilor =ntr9un mod dinamic. olo$ind decoratorul a++-ro!t" =nrei$tram func ția ind"< dre&t un +ie4. $tfel: funcția ind"< +a fi a&elat< de fiecare dat< cand un client $olicit< re$ur$a 6ind"
Din e;em&lul &re%entat mai $u$ &utem o,$er+a ca ruta !ti/i2ator contine in URL o +aria,ila de ti& inteer ce $emnifica id9ul utili%atorului. De a$emenea: &uteam o,$er+a ca metodele aferente ace$tei r!t" $unt %ET $i POST- In mod $tandard: fiecare ruta &ermite acce$ul doar &rin metoda %ET folo$irea metodei &o$t e$te nece$ara decat dac< dorim $a &roce$
Pentru a &roce$a tem&lateurile intr9un mod dinamic e$te nece$ar< folo$irea unui t".+/at" "n&in" ce im&lementea%a $tructuri de control de ,a%a. Tem&late enineul folo$it de fla$5 $e
39
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
nume$te in9a' și &une la di$&o%iție ma-oritatea $tructurilor de control =nt>lnite =n lim,a-ul P/ton: a$emndu9$e foarte mult $i din &unct de +edere $intactic. E;em&lul urmnd elementele dintr9o li$ta: &entru o mai ,una =nteleere am inclu$ și codul re$&on$a,il cu $er+irea cererilor. fro. f/a,: i.+ort F/a,: fro. f/a,: i.+ort r"nd"rt".+/at" a++ ; F/a,:Gna." a++-ro!t"G6/i,ta /i,ta ; ) ' 0 r"t!rn r"nd"rt".+/at"G/i,ta-4t./ /i,ta;/i,ta
ce$ta e$te tem&lateul 3>DOCT?PE 4t./5 34t./5 34"ad5364"ad5 37od85 3o/5 W for "/"."nt in /i,ta W 3/i5 "/"."nt 36/i5 W "ndfor W 36o/5 367od85 364t./5
40
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
Du&a cum $e &oate o,$er+a $tuctura for folo$it< =n tem&late enine $e a$eaman< foarte mult cu cea folo$it< =n lim,a-ul P/ton. Demn de menționat e$te $i fa&tul c< $trucurile de control $unt $cri$e =n interiorul elementelor W și W iar atunci c>nd dorim $a acce$
II--0 Ad.ini,trar"a 7a2"/or d" dat" c! SLA/c4".8
SLA/c4".8 e$te un ORM@O,-ect Relational Ma&&erA ce &ermite efectuarea de intero
fara a mai $crie cod SL- olo$ind SLA/c4".8 $e +a crea o relatie intre ,a%a de date $i modul in care $unt re&re%entate atri,utele cla$ei ce mo$tene$te cla$a &u$a la di$&o%itie de SLA/c4".8-
Cr"ar"a ta7"/"/or Kn SLA/c4".8
8n SLA/c4".8 ta,elele $unt re&re%entate de cla$e ce moștene$c cla$a d7-Mod"/$tfel: la rularea $cri&tului ce $e ocu&a de crearea ,a%ei de date: SLA/c4".8: +a crea ta,elele =n funcție de cla$ele ce mo$tene$c cla$a d7-Mod"/Pentru a defini c>m&urile unui ta,el +om ini țiali%a fiecare atri,ut al cla$ei ce moștenește cla$a d7-Mod"/ cu in$tanțe ale cla$ei d7-Co/!.n-
Urmatorul e;em&lu ilu$trea%a conce&tele e;&licate mai $u$? c/a,, Uti/i2atorGd7-Mod"/ id ; d7-Co/!.nGd7-Int"&"r +ri.ar8:"8;Tr!" n!." ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," +r"n!." ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," +aro/a ; d7-Co/!.nGd7-Srtrin& n!//a7/";Fa/,"
41
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
d"f initG,"/f n!." +r"n!." +aro/a ,"/f-n!." ; n!." ,"/f-+r"n!." ; +r"n!." ,"/f-+aro/a ; +aro/a
Du&< cum $e &oate +edea: definim o cla$a denumita Uti/i2ator ce moștenește cla$a d7-Mod"/Cla$a Uti/i2ator contine urmatoarele atri,ute? id contine o in$tanta a cla$ei d7-Co/!.n create &entru un c>m& de ti& =ntre ce e$te și ceie &rimar<: n!." ce contine o in$tanț< a cla$ei d7-Co/!.n inițiali%at< &entru un cam& de ti& $trin a c
ce conține o in$tanța a cla$ei d7-Co/!.n inițiali%at< &entru un cam& de ti& $trin ce nu &oate conține o +aloare nul<: +aro/a X conține o in$tanț< a cla$ei d7-Co/!.n inițiali%at< &entru un element de ti& $trin ce nu &oate conține o +aloare nula. Un alt a+anat- al SLA/c4".8 e$te fa&tul c< nu con$tr>ne utili%atorul la folo$irea unui anumit $i$tem de manaement al ,a%elor de date. In eneral: utili%atorii SLA/c4".8 folo$e$c Po,t&r"SL-
E<"c!tar"a int"ro&ari/or
+and in +edere fa&tul ca cla$ele ce moștene$c cla$a d7-Mod"/ $unt re&re%entarile ta,elelor din ,a%a de date: ace$tea conțin și metode $&eciale folo$ite &entru a efectua interoari. E;em&lul urm
DAVID LAURENȚIU
ROLUL ȘI IMPORTANȚA INTERNETULUI ȘI A PAGINILORWEB
8n &rimul e;em&lu atri,uim +aria,ilei !ti/i2atori o li$ta ce +a conție toate o,iectele de ti& Uti/i2ator din ,a%a de date.
8n al doilea e;em&lu atri,uim +aria,ilei &"or&" ca și +aloare o,iectul returnat de efectuarea unei interom&ul nume. 8n al treilea e;em&lu atri,uim +aia,ilei !ti/i2ator!/) +alorea returnat< de interoarea efectuata cu $co&ul de a o,ține elementul cu id$!/ 1. Pentru a ad
&elul la metoda d7-,",,ion-co..it arat< acordul no$tru cu &ri+ire la introducerea noului utili%ator adauat =n $e$iune =n ,a%a de date.
43
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
III- ARHITECTURA MA%AZINULUI 1EB
III-) Pr"2"ntar"a .a&a2in!/!i
Maa%inul 4e, creat in cadrul lucr
i. 3.1 Bara de na+iare
6ona de conținut difer< =n funcție de &aina &e care $e afla utili%atorul. #&re e;em&lu: &e &aina de co$ $e +or afi$a elementele aflate in co$: +aloarea ace$tora $i meoda de &lata.
44
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i. 3.2 Conținutul &ainii de co ș
6ona de $u,$ol conține o ,ar< de na+iare ce cu&rinde numele creatorului maa%inului 4e,
i. 3.3 Conținutul $u,$olului In continuare: +oi &re%enta fiecare &ain< din cadrul a&lica ției. Paina de inde;: conține un caru$el cu imaini ale celor mai noi 3 &rodu$e: iar mai -o$ con ține informații detaliate de$&re &rodu$e: fiecare imaine e$te un lin5 catre &aina &rodu$ului.
45
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i. 3.( Paina de inde; Paina de contact: contine un formular de contact =n care utili%atorul = și +a introduce datele de contact $i me$a-ul &e care dorește $<9l tran$mit< admini$tratorului $iteului. Dac< formularul com&letat de utili%ator a fo$t +alid: utili%atorul +a fi redirec ționat &e o noua &aina in care ii e$te confirmat< trimiterea cu $ucce$ a emailului: iar un email cu me$a-ul utili%atorului +a fi e;&ediat c
46
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i. 3.) ormularul de contact
i. 3.0 Trimiterea cu $ucce$ a unui me$a-
47
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i. 3.G Rece&ționarea me$a-ului de catre admini$trator Paina de &ro$du$e: +a conține: =n functie de cateoria de &rodu$e $electat<: toate &rodu$ele di$&oni,ile in ,a%a de date din acea cateorie. Produ$ele +or fi afi$ate in &anouri mici ce +or conține? &rețul: &o%a cu lin5 $&re &aina &rodu$ului și ,utonul de ad
i. 3. d
48
DAVID LAURENȚIU
Paina de c
ARITECTURA MAGA!INULUI WEB efectuate &rin intermediul c<$uței
de
c
i. 3. C
49
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i. 3.1H Paina de =nrei$trare
i. 3.11 Confirmarea trimiterii emailului ce conține codul de acti+are
50
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i.3.12 Codul de acti+are trimi$ &rin email
i. 3.13 cti+area cu $ucce$ a contului
Paina de autentificare: conține un formular cu 2 cam&uri? numele de utili%ator $i &arola. Odata trimi$ ace$t formular: utili%atorul +a fi autentificat și +a &utea $a efectue%e cum&araturi de &e ace$t $ite.
51
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i. 3.1( utentificarea unui utili%ator
Paina de coș: +a conține toate &rodu$ele aflate =n coș la momentul acce$
$etat cantitatea dorit< dintr9un anumit &rodu$ și a $electat și metoda de cum&
$< introduc< datele de tran$&ort: iar un email cu factura +a fi trimi$.
i. 3.1) Paina de coș
52
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i. 3.10 Introducerea datelor de tran$&ort
53
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
i. 3.1G #tructura emailului ce conține factura
III-' Str!c!ra 7ac:"nd!/!i a+/icaț i"i
Pe &artea de $er+er: a&licația e$te =m&arțit< =n 21 de rute menite $a de$er+ea$ca fiecare dintre &ainile &re%entate mai $u$: at>t $i a&elurile efectuate &rin AA[ &entru a nu mai fi nece$ar< re>ncarcarea &ainii. Demn de &re%entat $unt urmatoarele rute? Ruta &entru &aina de inde;: trimite uili%atorului &aina de inde; &a$>nd func ției r"nd"rt".+/at" și o li$ta cu cele mai noi 3 &rodu$e in ,a%a de date. a++-ro!t"G6 a++-ro!t"G6ind"< d"f ind"
Ruta &entru &aina de contact: =i +a returna utili%atorului &aina de contact dac< ace$ta o acce$ea%< &entru &rima dat< $au dac< formularul com&letat de ace$ta e$te unul in+alid. Dac< formularul com&letat de utili%ator e$te unul +alid: atunci $e +a reali%a un a&el la functia ,"ndMai/ &entru a9i trimite un email cu me$a-ul utili%atorului admini$tratorului $iteului. unc ția ,"ndMai/ e$te im&lementata in interiorul fișierului 4"/+"r-+8 și e$te o interfaț< mult mai 54
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
acce$i,il< a e;ten$iei f/a,:$.ai/ ce nece$it< o cantitate mult mai mare de cod &entru tran$miterea unui mail. De a$emenea: $e &oate o,$er+a ca funcția r"nd"rt".+/at" e$te folo$it< &entru enerarea tem&laterurilor &entru mailuri: a$tfel &utem $crie intr9un fi$ier HTML șa,lonul &entru un email. a++-ro!t"G6contact ."t4od,;%ET POST d"f contactG for. ; ContactFor.G if r"Y!",t-."t4od ;; POST and for.-#a/idat"G
,"ndMai/G,!79"ct;Conact ,"nd"r;a++-confi&ADMINS(
r"ci+i"nt,;a++-confi&ADMINS
.",,a&"Bod8;$$$$$
.",,a&"Ht./Bod8;r"nd"rt".+/at"Gcontact.ai/-4t./
".ai/;for.-".ai/-data
na.";for.-na."-data
.",,a&";for.-.",,a&"-data r"t!rn r"nd"rt".+/at"G.",,a&","nd,!cc",,f!//8-4t./ r"t!rn r"nd"rt".+/at"Gcontact-4t./ for.;for.
Ruta &entru &aina de c
utili%ator. a++-ro!t"G6,"arc4 ."t4od,;POST d"f ,"arc4G +rod!ct, ; Prod!ct-Y!"r8-a//G +rod!ct,ToR"nd"r ; for +rod!ct in +rod!ct, 55
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
if r"Y!",t-for.Q,"arc4Q in +rod!ct-na." +rod!ct,ToR"nd"r-a++"ndG+rod!ct r"t!rn r"nd"rt".+/at"G,"arc4+a&"-4t./ +rod!ct,;+rod!ct,ToR"nd"r
Ruta &entru &aina de inrei$trare +a +erifica +aliditatea formularului de =nrei$trare com&letat de catre utili%ator și: =n funcție de +aliditatea ace$tuia: +a trimite un email cu codul de acti+are $au =l +a atenționa &e utili%ator $< recom&lete%e core$&un%
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
,"nd"r;a++-confi&ADMINS( r"ci+i"nt,;n"=P"ndin&U,"r-".ai/ .",,a&"Bod8;r"nd"rt".+/at"GQconfir.ation.ai/7od8-4t./Q confir.ationLin:;.ai/Ur/ .",,a&"Ht./Bod8;r"nd"rt".+/at"G Qconfir.ation.ai/4t./7od8-4t./Q confir.ationLin:;.ai/Ur/
f/a,4GQU,"r Q for.-na."-data Q =a, add"dQ r"t!rn r"nd"rt".+/at"GQ7"for"fini,4,in&!+-4t./Q ".ai/;for.-".ai/-data f/a,4Error,Gfor.-"rror, f/a,4 r"t!rn r"nd"rt".+/at"G,in&!+-4t./ for.;for.
Odat< ce un utili%ator a com&letat corect formularul de =n$criere: ace$ta +a fi adauat intr9o ,a%a de date tem&orar< &ana ce lin5ul ce acti+are +a fi acce$at $i +a fi mutat in ,a%a de date &rimara. Ruta ce $e ocu&a de acti+area conturilor +a +erifica +aliditatea codului de acti+are $i il +a muta &e noul utili%ator in ,a%a de date &rimara in ca%ul in care codul de acti+are a fo$t +alid. 8n ca%ul =n care codul de acti+are nu e$te +ala,il: utili%atorul +a fi redirec ționat $&re o alt< &ain< =n care i $e +a $&une ace$t lucru.
57
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
a++-ro!t"G6#a/idat"63+"ndin&U,"rId5 d"f #a/idat"U,"rG+"ndin&U,"rId +"ndin&U,"r ; P"ndin&U,"r-Y!"r8-fi/t"r78G+"ndin&Id;+"ndin&U,"rId-fir,tG if +"ndin&U,"r i, Non" r"t!rn r"nd"rt".+/at"GQin#a/idacti#ation/in:-4t./Q !,"r ; U,"rGna.";+"ndin&U,"r-na." ".ai/;+"ndin&U,"r-".ai/ +a,,=ord;+"ndin&U,"r-+a,,=ord !,"rna.";+"ndin&U,"r-!,"rna." d7-,",,ion-addG!,"r d7-,",,ion-d"/"t"G+"ndin&U,"r d7-,",,ion-co..itG r"t!rn r"nd"rt".+/at"GQ,!cc",,f!//acti#ation-4t./Q !,"rna.";!,"r-!,"rna."
Ruta &entru &aina de loin: +a +erifica +aliditatea formularului de loin și: =n func ție de ace$t a$&ect: +a decide daca utili%atorul +a fi autentificat $au daca +a fi redirecționat $&re &aina de autentificare $itua ție =n care $e a-une =n momentul com&let
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
+a,,=ord;.d*Gfor.-+a,,=ord-data-4"
/o&in!,"rG!,"r f/a,4GT"$ai /o&at c! ,!cc", r"t!rn r"dir"ctG!r/forGind"<
"/," f/a,4GQN!."/" d" !ti/i2ator ,a! +aro/a n! ,!nt cor"ct">Q
f/a,4Error,Gfor.-"rror, f/a,4 r"t!rn r"nd"rt".+/at"GQ/o&in-4t./Q for.;for.
Ruta &entru &aina de cateorii: ace$ta rut< +a returna un tem&late ce +a con ține toate &rodu$ele dintr9o cateorie $u&ortat< de maa%in. a++-ro!t"G6cat"&ori",63,trin&cat"&or8563int+a&"5 d"f cat"&ori",Gcat"&or8 +a&" +rod!ct, ; Prod!ct-Y!"r8-fi/t"r78Gcat"&or8;cat"&or8-+a&inat"G+a&" PRODUCTSPERPA%E Fa/," r"t!rn r"nd"rt".+/at"GQ+rod!ct,-4t./Q +rod!ct,;+rod!ct,
Ruta &entru &aina &rodu$ului: acea$ta rut< +a reurna un tem&late ce +a contine toate datele $tocate in ,a%a de date de$&re un anumit &rodu$. a++-ro!t"G6+rod!ct+a&"63int+rod!ctId5 d"f +rod!ctPa&"G+rod!ctId;) +rod!ct ; Prod!ct-Y!"r8-&"tG+rod!ctId 59
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
r"t!rn r"nd"rt".+/at"GQ+rod!ct+a&"-4t./Q +rod!ct;+rod!ct
Ruta &entru &aina de coș: acea$ta rut< +a returna un tem&late ce con ține toate &rodu$ele conținute =n coș: dar și toate metodele de tran$&ort $tocate =n ,a%a de date. a++-ro!t"G6cart d"f cartG for. ; Addr",,For.G r"t!rn r"nd"rt".+/at"GQ+rod!ct,incart-4t./Q cart;&-cart-&"tProd!ctDataG
for.;for.
Ruta de u&datare a coșului: e$te folo$it< &entru a adaua un &rodu$ nou =n co ș atunci c>nd a&<$
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
intGr"Y!",t-for.QY!antit8Q
Ruta &entru +erificare a di$&oni,ilit< ții unui &rodu$: e$te folo$it< atunci cand utili%atorul u&datea%a cantitatea unui &rodu$ &entru a +erifica daca cantitatea introdu$< de utili%ator e$te =n concordanț< cu +aloarea $tocului acelui &rodu$. a++-ro!t"G6c4"c:,toc: ."t4od,;%ET POST d"f c4"c:Stoc:G +rod!ct ; Prod!ct-Y!"r8-&"tGintGr"Y!",t-for.QidQ r"t!rn 9,onif8G,toc:;+rod!ct-,toc:
Ruta re$&on$a,ila cu calcularea +alorii coșului: e$te folo$ita &entru a $&ori $ecuritatea și a e+ita e+entualele atacuri informatice reali%ate de utili%atorii rt $<9i cerem ,ro4$erului utili%atorului $< o fac< &entru noi. a++-ro!t"G6&"tcarttota/ ."t4od,;%ET POST d"f &"tCartTota/G tota/;&-cart-&"tTota/G r"t!rn 9,onif8Gtota/;ro!ndGtota/ '
Ruta &entru ștererea unui &rodu$ din coș: folo$it< &entru a ștere un &rodu$ din co$ &rin intermediul AA[a++-ro!t"G6d"/"t"fro.cart ."t4od,;POST d"f d"/"t"Fro.CartG &-cart-d"/"t"Fro.CartGintGr"Y!",t-for.id ,",,ionQcartQ ; &-cart-it"., r"t!rn 9,onif8G,tat!,;Qo:Q
61
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
Ruta &entru $etarea metodei de tran$&ort: folo$it< &entru a $electa firma dorita &entru a tran$&orta &rodu$ul. a++-ro!t"G6,"t,4i++in&."t4od ."t4od,;POST d"f ,"tS4i++in&M"t4odG for ,4i++in&M"t4od in &-,4i++in&M"t4od, if ,4i++in&M"t4od-na." ;; r"Y!",t-for.Qna."Q
&-cart-!+dat"S4i++in&G,4i++in&M"t4od-+ric" ,",,ionQ,4i++in&QQ+ric"Q ; &-cart-,4i++in& ,",,ionQ,4i++in&QQna."Q ; r"Y!",t-for.Qna."Q r"t!rn 9,onif8G,tat!,;Qo:Q r"t!rn 9,onif8G,tat!,;Qfai/Q
Ruta &entru o,tinerea numelui firmei de tran$&ort: folo$ita &entru a men ține +aloarea firmei de tran$&ort alea$< de utili%ator de fiecare dat< c>nd ace$ta &
Ruta &entru &la$are a unei comen%i: +a +erifica +aliditatea datelor de li+rare com&letate =n formular de c
62
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
for ,4i++in&M"t4od in &-,4i++in&M"t4od, if ,4i++in&M"t4od-na." ;; r"Y!",t-for.Q,4i++in&Q
&-cart-!+dat"S4i++in&G,4i++in&M"t4od-+ric" !,"rData ; U,"rDataG+4on";for.-+4on"-data
".ai/;for.-".ai/-data r"&ion;for.-r"&ion-data cit8;for.-cit8-data addr",,;for.-addr",,-data !,"rData-!,"rId ; &-!,"r-id
d7-,",,ion-addG!,"rData d7-,",,ion-co..itG T4" t4ird ar&!."nt =a, an arc4it"rc4t!ra/ .i,ta:"ord"r ; Ord"rG&-cart-&"tTota/G &-!,"r-id ) ord"r-addr",, ; !,"rData-id d7-,",,ion-addGord"r d7-,",,ion-co..itG cart ; for it". in &-cart-it".,
cart-a++"ndG Y!antit8 &-cart-it".,it".Y!antit8 na." Prod!ct-Y!"r8-&"tGit".-na." +ric" &-cart-it".,it".+ric"
,"ndMai/G,!79"ct;Fact!ra
,"nd"r;a++-confi&ADMINS( r"ci+i"nt,;for.-".ai/-data a++-confi&ADMINS(
.",,a&"Bod8;$$$$
.",,a&"Ht./Bod8;r"nd"rt".+/at"G7i//-4t./
cart;cart 63
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
na.";&-!,"r-na."
tota/;&-cart-&"tTota/G
+4on";for.-+4on"-data
r"&ion;for.-r"&ion-data
cit8;for.-cit8-data
addr",,;for.-addr",,-data
,4i++in&;r"Y!",t-for.,4i++in&
,4i++in&Co,t;S4i++in&M"t4od,-Y!"r8-fi/t"r78G
na.";r"Y!",t-for.,4i++in&-fir,tG-+ric"
,",,ionQcartQ ; r"t!rn 9,onif8G,tat!,;Qo:Q
III-0 Str!ct!ra 7a2"i d" dat"
&licația conține 11 cla$e ce moștene$c cla$a d7-Mod"/ și au dre&t core$&ondent un ta,el =n ,a%a de date. 8n continuare: +oi &re%enta $tructura celor mai im&ortante din ace$te 11 cla$e. Cla$a utili%ator: conține c>m&uri &entru? nume: &renume: &arol<: email: dar și un c>m& !,"rData ce nu e$te direct re&re%entat =n ,a%a de date: dar e$te $&ecific SLA/c4".8- #co&ul cam&ului u$erData din cadrul cla$ei U,"r e$te de a acce$a datele din ta,elul U,"rData f
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
id ; d7-Co/!.nGd7-Int"&"r +ri.ar8:"8;Tr!" !,"rna." ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," na." ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," +a,,=ord ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," ".ai/ ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," !,"rData ; d7-r"/ation,4i+GU,"rData 7ac:r"f;!,"r /a28;d8na.ic
d"f i,a!t4"nticat"dG,"/f r"t!rn Tr!" d"f i,acti#"G,"/f r"t!rn Tr!" d"f i,ano8.o!,G,"/f r"t!rn Fa/," d"f &"tidG,"/f r"t!rn !nicod"G,"/f-id d"f initG,"/f !,"rna." na." +a,,=ord ".ai/ ,"/f-!,"rna." ; !,"rna." ,"/f-na." ; na." ,"/f-+a,,=ord ; +a,,=ord An !,"r ,4o!/d 4a#" a +ri.ar8 ".ai/ addr",,,"/f-".ai/ ; ".ai/ d"f r"+rG,"/f r"t!rn Q3U,"rGWr Wr Wr5Q W G,"/f-!,"rna." ,"/f-na." ,"/f-+a,,=ord
65
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
Meodele i,a!t4"nticat"d: i,acti#": i,anon8.o!, $i &"tid $unt folo$ite cu $co&ul de face cla$a U,"r com&ati,il< cu e;ten$ia f/a,:$.ai/Cla$a U,"rData e$te folo$it< &entru a $toca date de$&re locația =n care $e +a e;&edia &rodu$ul unui utili%ator. Moti+ul &entru care nu9l con$tr>nem &e utili%ator $a9 și $electe%e adre$a de tran$mitere a coletului de la =nce&ut e$te &entru ca acea$ta &oate efectua o comanda de &e o adre$a diferita. Intre cla$a U,"r și cla$a U,"rData e$te o relație de ti& one9to9man/: =ntrucat un utili%ator &oate a+ea mai multe adre$e. c/a,, U,"rDataGd7-Mod"/ ta7/"na." ; !,"rdatata7/" id ; d7-Co/!.nGd7-Int"&"r +ri.ar8:"8;Tr!" +4on" ; d7-Co/!.nGd7-Strin& ".ai/ ; d7-Co/!.nGd7-Strin& r"&ion ; d7-Co/!.nGd7-Strin& cit8 ; d7-Co/!.nGd7-Strin& addr",, ; d7-Co/!.nGd7-Strin& !,"rId ; d7-Co/!.nGd7-Int"&"r d7-For"i&n]"8G!,"rta7/"-id d"f initG,"/f +4on";Non" ".ai/;Non" r"&ion;Non" cit8;Non" addr",,;Non" ,"/f-+4on" ; +4on" ,"/f-".ai/ ; ".ai/ ,"/f-r"&ion ; r"&ion ,"/f-cit8 ; cit8 ,"/f-addr",, ; addr",, d"f r"+rG,"/f r"t!rn Q3U,"rDataGWr Wr Wr Wr Wr5Q W G,"/f-+4on" ,"/f-".ai/ ,"/f-r"&ion ,"/f-cit8 ,"/f-addr",, 66
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
Cla$a P"ndin&U,"r e$te folo$it< &entru a $toca tem&orar un utili%ator &>n< =n momentul acce$
Cla$a Prod!ct e$te folo$ita cu $co&ul de re&re%enta in ,a%a de date un &rodu$. Cam&urile? comment$: &icture$ și $&ecification$ nu +or fi re&re%entate in ,a%a de date. #co&ul lor e$te $< =i elimine ne+oia e;ecut
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
ta7/"na." ; +rod!ctta7/" id ; d7-Co/!.nGd7-Int"&"r +ri.ar8:"8;Tr!" cat"&or8 ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," d",cri+tion ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," na." ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," +ric" ; d7-Co/!.nGd7-F/oat n!//a7/";Fa/," ,toc: ; d7-Co/!.nGd7-Int"&"r n!//a7/";Fa/," co.."nt, ; d7-r"/ation,4i+GProd!ctCo.."nt 7ac:r"f;+rod!ct /a28;d8na.ic +ict!r", ; d7-r"/ation,4i+GProd!ctPict!r", 7ac:r"f;+rod!ct /a28;d8na.ic ,+"cification, ; d7-r"/ation,4i+GProd!ctS+"cification, 7ac:r"f;+rod!ct /a28;d8na.ic
d"f initG,"/f na." +ric" ,toc: ,"/f-na." ; na." ,"/f-+ric" ; +ric" ,"/f-,toc: ; ,toc: d"f r"+rG,"/f r"t!rn Q3Prod!ctGWr Wr Wr5Q W G,"/f-na." ,"/f-+ric" ,"/f-,toc:
Cla$a Prod!ctPict!r", e$te folo$it< &entru a re&re%enta o &o%a a unui &rodu$. 8ntruc>t un &rodu$ &oate a+ea mai multe &o%e $e crea%a o relatie de ti& on"$to$.an8 intre ace$te 2 cla$e. 68
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
c/a,, Prod!ctPict!r",Gd7-Mod"/ ta7/"na." ; Q+rod!ct+ict!r",ta7/"Q id ; d7-Co/!.nGd7-Int"&"r +ri.ar8:"8;Tr!" /in: ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," dat" ; d7-Co/!.nGd7-Dat"Ti." n!//a7/";Fa/," +rod!ctId ; d7-Co/!.nGd7-Int"&"r d7-For"i&n]"8G+rod!ctta7/"-id d"f initG,"/f /in: +rod!ctId ,"/f-/in: ; /in: ,"/f-+rod!ctId ; +rod!ctId ,"/f-dat" ; dat"ti."-!tcno=G d"f r"+rG,"/f r"t!rn Q3Prod!ctPic!r",GWr5Q W ,"/f-/in:
Cla$a Prod!ctCo.."nt: e$te folo$ita &entru a re&re%enta =n ,a%a de date un comentariu &o$tat de un utili%ator la adre$a unui &rodu$. Ca și in ca%ul anterior: $e crea%a o relatia one9to9man/ =ntre cla$ele Prod!ct $i Prod!ctCo.."nt =ntruc>t un &rodu$ &oate a+ea mai multe comentarii. c/a,, Prod!ctCo.."ntGd7-Mod"/ ta7/"na." ; +rod!ctco.."nt,ta7/" id ; d7-Co/!.nGd7-Int"&"r +ri.ar8:"8;Tr!" co.."nt ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," !,"rId ; d7-Co/!.nGd7-Int"&"r d7-For"i&n]"8G!,"rta7/"-id +rod!ctId ; d7-Co/!.nGd7-Int"&"r d7-For"i&n]"8G+rod!ctta7/"-id d"f initG,"/f co.."nt !,"rId ,"/f-co.."nt ; co.."nt ,"/f-!,"rId ; !,"rId 69
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
d"f r"+rG,"/f r"t!rn Q3Prod!ctCo.."ntGWr5Q W ,"/f-co.."nt
Cla$a Prod!ctS+"cification, e$te folo$it< &entru a $toca o $&ecificație a unui &rodu$. 8ntruc>t maa%inul $u&orta diferite ti&uri de &rodu$e nu $e &oate uniformi%a =ntr9un mod eficient modul =n care $unt re&re%entate $&ecificațiile unui &rodu$. Din ace$t moti+ am ale$ $< introduc o nou< te,ela ce +a conține c>te o $&ecificație: creandu9$e: a$tfel: o relatie one9to9man/ =ntre cla$a Prod!ct și Prod!ctS+"cification,c/a,, Prod!ctS+"cification,Gd7-Mod"/ ta7/"na." ; +rod!ct,+"cificationta7/" id ; d7-Co/!.nGd7-Int"&"r +ri.ar8:"8;Tr!" na." ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," data ; d7-Co/!.nGd7-Strin& n!//a7/";Fa/," +rod!ctId ; d7-Co/!.nGd7-Int"&"r d7-For"i&n]"8G+rod!ctta7/"-id d"f initG,"/f +rod!ctId na." data ,"/f-+rod!ctId ; +rod!ctId ,"/f-na." ; na." ,"/f-data ; data d"f r"+rG,"/f r"t!rn QProd!ctS+"cficationGWrQ W ,"/f-na."
Pentru a adt multe din func ționalit< țile a&lica ției nu +or func ționa =n li&$a unei
&o%e. Odata creat< o nou< in$tanț< a cla$ei Prod!ct e$te nece$ar< adt du&a ce a fo$t adauat< cea a cla$ei Prod!ct =ntrucat e$te nece$ar id9ul &rodu$ului: iar id9ul e$te enerat dec>t atunci 70
DAVID LAURENȚIU
ARITECTURA MAGA!INULUI WEB
cand &rodu$ul e$te inc
71
IV- CONCLUZII
cea$t< lucrare a &re%entat &roce$ul
de de%+oltare a unei a&licații 4e, de com≤itate
medie: dar și uneltele moderne folo$ite &entru ducerea la ,un $far șit a unei a$tfel de a&lica ții. Proiectul &re%entat in ace$t document $e diferenția%< de celelalte din cateoria $a &rin folo$irea unei noi tenoloii: relati+ noi &e &artea de $er+er lim,a-ul P/ton și ,i,lioteca la$5. +anta-ul ace$tei diferențieri faț< de a&licatiile 4e, cla$ice ce folo$e$c: de o,icei: un lim,a &recum P& e$te ușurința =n de%+oltare. De%a+anta-ele ace$tei o&țiuni $unt li&$a unor e;ten$ii ce ar &utea $< a-ute &roramatorul =n &roce$ul de de+oltare al unui maa%in 4e, a fo$t nece$ar $< im&lemente% acea$t< funcționalitate de la %ero: dar am com&en$at &rintr9un rad mai mare de fle;i,ilitate și fa&tul c< e$te mult mai dificil< <$irea unei com&anii de o$tin cu un &re ț re%ona,il care $< $u&orte tenoloiile folo$ite =n ace$t &roiect. De și num
&roce$ul: totuși diferen ța ar fi fo$t i$e$i%a,il<. 8n momentul de fa ț<: &rodu$ele $e &ot adaua &rin intermediul liniei de comand< $au &rin intermediul unui $i$tem de manaement al ,a%elor de date. O funcționalitate &e care dorim $< o adau
ace$t lucru ar duce la $&orirea radului de $ecuritate.
73