Documente Academic
Documente Profesional
Documente Cultură
1
2.3.2.1. Încapsularea................................................................................................37
2.3.2.2. Moştenirea...................................................................................................37
2.3.2.3. Constructori................................................................................................38
2.3.2.4. Supraîncărcarea..........................................................................................39
2.3.2.5. Polimorfismul..............................................................................................39
2.3.2.6. Serializarea..................................................................................................39
2.3.3. Folosirea utilitarului phpMyAdmin.....................................................................39
2.4. Site-uri Web dinamice având în spate o bază de date.................................................40
2.5. PHP şi MySQL...........................................................................................................41
2.5.1. De ce PHP?..........................................................................................................41
2.5.2. De ce MySQL?....................................................................................................42
2.6. Serverul de baze de date MySQL...............................................................................42
2.6.1. Avantaje MySQL.................................................................................................42
2.6.2. Dezavantaje MySQL...........................................................................................44
2.6.2.1. Integritatea referenţială.............................................................................44
2.6.2.2. Procedurile stocate.....................................................................................44
2.7. Concluzii.....................................................................................................................44
Bibliografie.......................................................................................................................58
2
CAPITOLUL1. CONSIDERAŢII PRIVIND COMERŢUL
ELECTRONIC
3
de codificare, iar 17% doresc să adopte acest tip de tehnologii. În jur de 23% nu au nici
un fel de protecţie a datelor proprii.
O multitudine de firme utilizează Internetul pentru publicitate. Marketingul prin
Internet este o oportunitate pentru a crea imaginea unei firme şi pentru a atrage clienţi.
Firmele furnizează informaţii tehnice şi utilizează pagina de web ca o platformă pentru
lansarea noutăţilor firmei. Folosind propriul website ca pe un magazin, ele oferă produse
şi preiau comenzi.
În ceea ce priveşte gradul de siguranţă pe care comerţul electronic îl oferă
clienţilor şi comercianţilor, atât clienţii cât şi firmele sunt foarte preocupaţi de diferitele
incertitudini legate de comerţul electronic. Se constată lipsa de încredere în ceea ce
priveşte securitatea datelor personale în timpul transferurilor în cadrul tranzacţiilor
electronice. Clienţii sunt încă neîncrezători, dar experţii sunt de părere că tranzacţiile în
comerţul electronic au un grad mai mare de siguranţă decât banalele cumpărături
efectuate prin cardul de credit.
Din punct de vedere al dimensiunii comerţului electronic, tranzacţionarea
electronică a mărfurilor şi serviciilor constituie o extensie a comerţului actual. Se obţine
astfel o eficienţă sporită, în sensul reducerii costurilor şi în ceea ce priveşte efectul
marketingului şi se îmbunătăţeşte relaţia beneficiar-client.
Comerţul electronic facilitează şi cooperarea între firme. Reduce costurile de
marketing şi de livrare, susţine strategia de marketing a firmei şi oferă acces pe noi pieţe.
În viitorul apropiat, comerţul electronic va avea un impact puternic asupra
competitivităţii firmelor. Comerţul electronic nu este restricţionat de frontierele statelor
dar depinde de existenţa sau inexistenţa reţelelor de computere. Comerţul electronic
permite chiar şi celor mai mici furnizori, indiferent de provenienţa lor geografică, să fie
omniprezenţi şi să facă afaceri în întreaga lume.
4
comunicaţii dedicate sau EDI pe reţele cu valoare adaugată. În fine, o altă formă a
comerţului pe Internet implică transferul de documente - de la contracte sau comenzi pro
forma, până la imagini sau înregistrări vocale.
Kalakota şi Whinston definesc comerţul electronic astfel: „… o metodă modernă
de afaceri, care se adresează nevoilor firmelor, pieţelor şi clienţilor prin reducerea
costurilor, concomitent cu îmbunătăţirea calităţii produselor şi serviciilor, precum şi
creşterea vitezei de livrare sau prestare. Comerţul electronic nu poate fi tratat fără a avea
în vedere reţelele de calculatoare, utile în căutarea şi găsirea informaţiilor necesare
sprijinirii luării diferitelor decizii atât de către firme, cât şi de către consumatori” 1.
Autori precum Kestenbaum şi Straight afirmă: „Comerţul electronic reprezintă o
integrare a e-mailului, transferului electronic de fonduri, schimbului electronic de date şi
alte asemenea tehnici într-un sistem electronic atotcuprinzător de funcţii economice” 2, iar
Dennis P. Geller consideră comerţul ca şi: „colecţie de instrumente şi practici ce presupun
utilizarea tehnologiilor Internet şi care permit unei firme de a crea, întreţine şi optimiza
relaţiile de afaceri cu alte firme şi consumatorii individuali” 3.
În Buyer’s Guide to Electronic Commerce se defineşte astfel: „Comerţul
electronic constă în utilizarea tehnologiilor informaţionale pentru îmbunătăţirea relaţiilor
dintre partenerii de afaceri” 4.
Există şi alte modalităţi de definire a comerţului electronic, plecând de la modul
în care este perceput de diferite grupuri, respectiv de utilizatori, lumea afacerilor,
instituţiile guvernamentale şi furnizorii de tehnologie informaţională (hardware şi
software) 5. În Microsoft Press Computer Users’ Dictionary, comerţul electronic este
definit ca fiind „activitatea comercială care are loc prin intermediul calculatoarelor
conectate între ele”.
O imagine generală a comerţului electronic este descrisă în raportul Casei Albe
din iulie 1997, intitulat „Cadrul general pentru comerţul electronic global” (A
Framework for Global Electronic Commerce), în care apar următoarele afirmaţii:
„Aşa după cum Internetul democratizează societăţile şi oferă o mai mare putere
cetăţenilor prin informaţii, şi comerţul electronic impune modificări majore asupra
paradigmei economice clasice cu privire la cumpărători şi vânzători. Noile modele de
interacţiune comercială se dezvoltă astfel încât să permită firmelor şi consumatorilor să
facă parte din piaţa electronică şi să obţină beneficii”.
„Internetul, intraneturile şi alte reţele de calculatoare pot reduce substanţial
costurile tranzacţiilor şi pot facilita noi tipuri de tranzacţii comerciale, precum şi noi
acorduri între cumpărători şi vânzători, care să le permită desfăşurarea activităţilor de
comerţ mult mai uşor.”
Chiar dacă definiţiile comerţului electronic diferă, totuşi, au un element comun:
efectuarea de tranzacţii într-un mediu electronic şi obţinerea de avantaje de către toţi
partenerii de afaceri, îmbunătăţirea calităţii produselor şi serviciilor, precum şi creşterea
vitezei de realizare a tranzacţiilor comerciale.
O definiţie succintă şi larg acceptată este următoarea: Comerţul electronic (e-
commerce, pe scurt EC) este acea manieră de a conduce activităţile de comerţ care
foloseşte echipamente electronice pentru a mări aria de acoperire (locul în care se pot afla
1
Kalakota, R., Whinston, A.B. – Frontiers of Electronic Commerce, Addison Wesley, Reading, MA, 1996.
2
Kestenbaum, M.I., Straight, R.L. – „Paperless grants via the Internet”, in Public Administration Review,
1996 56(1), pp. 114-120.
3
Geller, D.P. – The Yin and Yang of Electronic Commerce, http://idm.internet.com
4
*** – Buyer’s Guide to Electronic Commerce. Glossary of Terms, http://www.wentworth.com.
5
*** – Electronic Commerce. An Introduction, Student Manual, ZD University, 1999, pp. 2-4
5
potenţialii clienţi) şi viteza cu care este livrată informaţia. EC poate fi considerat un
schimb electronic de informaţii între o afacere şi clienţii săi. Aceasta se poate face prin
fax, telefon, voice-mail, email, extranet sau Internet, pentru a enumera doar câteva dintre
mijloace.
Comerţul electronic (E-Commerce) este o parte a Electronic Business (E-
Business). A fost proiectat în mod special pentru a realiza schimbul de informaţii între
clienţi şi furnizori. Informaţia este un element esenţial în realizarea obiectivelor
comerciale, iar interactivitatea este la rândul ei un element cheie. În acest fel, mediul
electronic de afaceri transcede spaţiul, deoarece nu mai contează unde se găsesc atât
factorul ofertant cât şi cel care reprezintă cererea.
Comerţul electronic poate lua o multitudine de forme şi influenţează profund
activitatea de afaceri. Datorită creşterii astronomice a Internetului în ultimii ani, comerţul
electronic s-a dezvoltat în mod deosebit, oferind o serie de aplicaţii complexe, printre
care:
· regăsirea şi schimbul de informaţie cum ar fi: detalii legate de produse şi
servicii, cataloage, intrucţiuni de folosire şi briefinguri financiare.
· oferirea de produse şi servicii precum şi efectuarea de servicii cum ar fi
comanda de cărţi şi CD-uri sau abonamente la publicaţii on-line.
· creşterea eficienţei activităţii de afaceri prin: promovarea utilizării poştei
electronice şi a grupurilor de discuţii pentru reducerea timpului petrecut în şedinţe şi
furnizarea de acces la bazele de date ca o modalitate de facilitare a acumulărilor de
cunoştinţe.
· realizarea de tranzacţii finaciare cum ar fi telebanking şi digicash.
Un salariat al unei firme doreşte să achiziţioneze un calculator. Pentru acest lucru sunt
realizaţi următorii paşi:
6
7. în funcţie de data la care se va face livrarea, furnizorul emite o comandă de
transport, anunţă depozitul şi întocmeşte factura, pe o care o transmite firmei
beneficiare, o dată cu calculatorul;
8. persoana autorizată de la beneficiar va efectua plata, într-un anumit mod, în
funcţie de instrumentele de plată acceptate de furnizor.
1. salariatul firmei vizitează diferite site-uri pe Web fie ale distribuitorilor, fie ale
producătorilor de calculatoare şi îl selectează pe cel care-i răspunde cel mai bine
cerinţelor lui (configuraţia sistemului) din cataloagele online pe care le-a găsit;
2. salariatul va folosi e-mailul pentru a trimite cererea sa către persoana care trebuie
să-i aprobe achiziţia;
3. după obţinerea aprobării, cererea este transmisă la departamentul comercial;
4. informaţiile pot fi preluate în baza de date privind comenzile de aprovizionare.
Comanda poate fi generată şi transmisă automat către furnizorul selectat, fie prin
sistemul EDI, fie sub o altă formă, prin e-mail sau un formular special creat pe
site-ul furnizorului;
5. când furnizorul a primit comanda, cu ajutorul unei aplicaţii, datele conţinute de
aceasta pot fi introduse direct într-o bază de date a comenzilor aflate în curs de
execuţie, poate fi verificat stocul existent în depozit, statutul clientului şi se poate
marca produsul pentru livrare;
6. cu ajutorul aceluiaşi program, se poate emite o comandă de transport, transmisă
tot electronic, celui mai apropiat depozit, concomitent cu întocmirea facturii.
Dacă transportul este efectuat de altă firmă, atunci depozitul o va anunţa prin e-
mail;
7. după ce calculatorul a fost recepţionat, cei care se ocupă de efectuarea plăţii pot
să anunţe banca, prin e-mail, să transfere fondurile către furnizor.
Tabel 1.2.1
Paşii ciclului vânzării şi mijloacele utilizate
7
Nr. Paşii parcurşi pentru Comerţul Comerţul
crt. realizarea tranzacţiei tradiţional* electronic**
7. Trimiterea comenzii Fax, poştă e-mail, EDI, pagina
(cumpărător) şi primirea Web
comenzii (vânzător)
8. Stabilirea priorităţii comenzii Pe baza analizei Baze de date online
comenzilor deja existente
9. Verificarea stocului la Formular imprimat, Baze de date
depozit telefon, fax online, pagină Web
10. Planificarea livrării Formular imprimat e-mail, baze de date
online
11. Întocmirea facturii Formular imprimat Baze de date online
12. Preluarea produsului de către Formular imprimat Notificare online
transportator prin e-mail
13. Confirmarea recepţiei Formular imprimat e-mail
14. Trimiterea facturii Poştă e-mail, EDI
(vânzător)/ primirea facturii
(cumpărător)
15. Planificarea plăţii Formular tipărit EDI, baze de date
online
16. Efectuarea plăţii Poştă EDI, EFT, SWIFT,
(cumpărător)/ încasarea credit card ş.a.
(vânzător)
Figura 1.2.1
8
Activităţile comerţului electronic se află în strânsă relaţie cu cele din comerţul
tradiţional. În acest context, David Kosiur consideră că sunt cinci procese de bază care au
loc în cadrul comerţului electronic:
Distribuirea informaţiilor
Lansarea comenzilor
Efectuarea plăţilor
Onorarea comenzilor
Service-ul şi asistenţa
Înainte de a vinde, orice firmă este nevoită să-şi facă cunoscute produsele şi
serviciile pe piaţă, ceea ce înseamnă promovare, publicitate şi politici de marketing sau,
la modul general, oferirea de informaţii. Potenţialii clienţi cu siguranţă vor solicita
informaţii despre firmă şi produsele ei, în timp ce firma care vinde are nevoie de
informaţii despre piaţă, modul în care poate să-şi găsească şi atragă clienţii, ceea ce
conduce la proiectarea acelor produse şi servicii care vin în întâmpinarea cerinţelor
pieţei. Prin comerţul electronic, cele două scopuri (atât ale firmelor care vând, cât şi ale
clienţilor) pot fi realizate concomitent, pentru că dispune de o serie de mijloace ce
facilitează atingerea lor: chat-uri, conferinţe electronice, sistemul buletinelor electronice
etc. Multe dintre aceste mijloace pot fi integrate cu un site Web, care este calea cea mai
eficientă de comunicare cu clienţii. Un site Web poate fi proiectat pentru a include
cataloage online, ce pot fi răsfoite în mod electronic şi pot să ofere informaţii despre
noile produse. În plus, printr-un astfel de catalog, firmele au avantajul obţinerii
informaţiilor despre produsele cel mai des solicitate pe piaţă, în momentul în care o
persoană interesată caută pe site şi intră pe acel catalog.
O altă modalitate de culegere a informaţiilor de la vizitatorii site-ului Web este
cea de realizare a unui formular sau a unei casete de comentarii. Solicitând acestora
informaţii, fie atunci când caută anumite produse, fie când lansează o comandă online,
firma care vinde are posibilitatea de a culege date demografice, atât de necesare
activităţilor de marketing, vânzare şi producţie.
9
De asemenea, posibilitatea de a notifica fiecare client, actual sau potenţial, prin e-
mail, despre noile caracteristici ale produselor, reprezintă un avantaj deosebit în
distribuirea informaţiilor.
Acest proces diferă în funcţie de produsele sau serviciile care sunt destinate
vânzării, regăsindu-se două categorii: cea a bunurilor intangibile şi a bunurilor tangibile.
Multe firme au azi ca obiect de activitate, din care obţin venituri, generarea,
transferul şi analiza informaţiilor, considerate bunuri intangibile. Dacă o firmă se
încadrează în această categorie, ea foloseşte Internetul pentru a transfera informaţiile
10
clienţilor care le solicită. Ele pot fi transmise sub forma buletinelor informative, a ştirilor,
a cotaţiilor bursiere. Tot în această categorie intră şi software-ul.
Dacă firma realizează bunuri fizice, acestea nu pot fi livrate prin Internet, dar se
poate folosi sistemul electronic pentru informarea firmei ce asigură transportul asupra
bunurilor care urmează să fie transferate clientului.
Figura 1.2.2
11
Comerţul electronic şi procesele economice
Vânzător Client
Oferă Evaluează
Demo, Comunităţile de
informaţiile update ofertele
pe reţea
solicitate
Credit card,
Site-uri Web digital cash Lansare
comandă
Site-uri Web,
Asigură telefon, fax Utilizează, Service şi
asistenţă cere întreţinere asistenţă
e-mail
12
3. Sistemul tranzacţional. Sistemul informatic (hard & soft) responsabil cu
procesarea comenzilor, iniţierea plăţilor, evidenţa înregistrărilor şi a altor aspecte de
business implicate în procesul de tranzacţionare.
4. Dispecer plăţi. (Payment Gateway). Sistem informatic responsabil cu rutarea
instrucţiunilor de plată în interiorul reţelelor financiar-bancare, cu verificarea cărţilor de
credit şi autorizarea plăţilor; acest sistem joacă rolul unei porţi care face legătura dintre
reţeaua globală Internet şi subreţeaua financiar-bancară (supusă unor cerinţe de securitate
sporite), poarta prin care accesul este controlat de un "portar" (gatekeeper); pe baza
informaţiilor specifice cărţii de credit (tip_card, nr_card) din instrucţiunile de plată
"portarul" redirecţionează informaţia către un centru de carduri (CC - un server certificat
în acest scop şi agreat de banca emitentă); în acest loc este identificată banca care a emis
cardul iar instrucţiunile de plată sunt trimise mai departe către serverul acestei bănci
conectat în reţeaua interbancară; o dată informaţiile ajunse în reţeaua băncii cu care
lucrează cumpărătorul, sunt efectuate (automat) o serie de verificări privind autenticitatea
şi soldul disponibil în contul cardului implicat în tranzacţie; în funcţie de rezultatul
acestor verificări, banca decide fie efectuarea plăţii (transfer bancar - către contul
comerciantului care poate fi deschis la orice altă bancă), fie refuză să facă această plată.
În ambele cazuri, rezultatul deciziei (confimare plată sau refuz) este trimis în timp real,
parcurgând acest lanţ de servere în sens invers, către client. Cu alte cuvinte, în câteva
secunde cumpărătorul află dacă banca sa a operat plata sau nu.
Pentru a asigura succesul pe termen lung al unui proiect de e-commerce,
arhitectura acestuia trebuie proiectată cu grijă ţinând cont de toate aspectele de business
cu care se va confrunta sistemul, lăsând totodată portiţe care să permită adaptarea sa în
timp, pe măsură ce apar noi provocări iar tehnologiile evoluează.
Sistematic, arhitectura unui sistem de comerţ electronic se prezintă ca în figura
următoare:
Figura 1.2.3.
Arhitectura sistemului de comerţ electronic
CLIENT COMERCIANT
(PC conectat (sistem informatic
la Internet) al comerciantului)
SISTEM TRANZACŢIONAL
(procesare comenzi, iniţiere plăţi)
13
1.3. MODELE DE COMERŢ ELECTRONIC
Afacerile pe Internet iau mai multe forme. Acestea pot fi clasificate în funcţie de
numărul de furnizori, prestatori de servicii către clienţi, astfel: 1-către-1 (e-shop), mai
mulţi-către-1 (e-mall), mai mulţi-către-mai mulţi (e-licitatie). Se constituie astfel, un lanţ
de servicii în cadrul căruia fiecare element poate fi dominant.
Un prim element al acestui lanţ este furnizorul de produse sau servicii, al doilea
este furnizorul de servicii Internet, care poate pune la dispoziţie de la spaţiu pe pagina
web până la posibilitatea integrării într-un e-mall. Al treilea element al lanţului este
clientul, având o anumită formare profesională, interese proprii şi preferinţe. Acest client
poate fi un consumator (B-2-C), o altă firmă (B-2-B), administraţia publică (B-2-A) sau
un angajat (B-2-E), în contextul tranzacţiilor interne din cadrul unei firme.
14
o reducere de 10-50% sau, cel puţin, fără a se percepe taxe adiţionale de livrare.
Serviciile şi în special serviciile de informare ar trebui să fie în mare parte gratuite.
Serviciile de informare prin publicaţii periodice sunt oferite gratuit la început, prin
acces liber sau abonamente gratuite; ulterior, ofertanţii vor iniţia servicii suplimentare
de tipul accesului la arhive şi vor extinde posibilităţile de căutare, solicitând
utilizatorului să se aboneze şi să plăteasca pentru a beneficia de acestea. S-a constatat
că impactul abonamentului online asupra utilizatorilor este foarte mic: majoritatea
rămâne fidelă abonamentelor clasice şi, în general, numai clienţii noi apelează la
acest nou sistem de abonament. Cu toate acestea, abonamentele contra cost online
pentru accesul la ştiri de ultimă oră sau la dezbateri cu participare restrictivă de
exemplu, suscită interesul doar dacă serviciile oferite sunt de valoare excepţională.
Există diferite variante de găzduire a unui e-shop, astfel:
- pe un server distinct (un computer proprietatea firmei deţinătoare a unui e-shop)
destinat unor pagini ample şi complexe de web; acesta va fi localizat în cadrul firmei
dacă frecvenţa modificărilor ce trebuie făcute este mare (ex. ştiri, preţuri, etc.) sau
dacă este necesar un trafic intens între firmă şi serverul aferent e-shop;
- pe un server virtual (un spaţiu deţinut de firma proprietară a unui e-shop, pe un hard
disk al unui computer furnizor de web); în corelaţie cu un spaţiu mai mare de tipul
www.yourshop.com, soluţie preferată de majoritatea întreprinderilor mici şi mijlocii;
- în cadrul unui magazin universal electronic (e-mall).
Alegerea variantei optime pentru magazinul electronic depinde de costurile de
telecomunicaţie, know-how-ul tehnic la nivelul firmei, grupul ţintă, mărimea, structura şi
obiectivele pe termen mediu ale viitorului e-shop.
În măsura în care este posibil, un e-shop ar trebui să poată fi accesat pe mai multe
căi: un link/publicitate permanent pe un site portal, un cuvânt-cheie publicitar în cadrul
motoarelor de căutare sau în cadrul prezentării pe Internet a informaţiilor generale despre
întreaga activitate a firmei sau despre întreaga gamă de produse şi o fereastră a acestui
site în cadrul unui e-mall – toate acestea concomitent. În plus, este important să se
stabilească denumiri de genul ”www.produs1.com” pentru grupele de produse, cu link
exact la pagina corespunzatoare din cadrul magazinului electronic.
Un e-mall oferă un front comun pentru mai multe e-shop-uri şi poate fi realizat
utilizând diverse modele de tranzacţii, în funcţie de tipul de servicii pe care proprietarul
mall-ului doreşte să le ofere. Tot proprietarul este cel care se ocupă şi de marketingul
aferent mall-ului, astfel încât alegerea mall-ului potrivit este o decizie esenţială pentru
deţinătorul unui magazin. Mall-ul potrivit se defineşte ca fiind un mall cu o reţea
puternică, cu o strategie de marketing bună, cu un front de prezentare potrivit şi din care
să se poată accesa direct şi pe mai multe căi e-shop-ul; cu o structură adecvată de
magazine şi care să ofere şi servicii, cum ar fi furnizarea de informaţii curente regionale
sau sectoriale.
Pentru unele domenii este benefică participarea în cadrul unui mall alături de
produse competitive cum ar fi bijuteriile. Aceasta duce la creşterea traficului în mall şi
astfel la creşterea cifrei de afaceri a fiecărui magazin din structura acestuia. Pe de altă
parte, deţinătorul mall-ului poate obţine profit din reclamă, taxe percepute membrilor
şi/sau taxe asupra tranzacţiilor.
15
1.3.3. ACHIZIŢIA PUBLICĂ ELECTRONICĂ
(E-PROCUREMENT)
Achiziţia publică prin modelul B-2-B este aplicabilă în cazul în care organisme
guvernamentale sau mari organizaţii lansează apeluri pentru licitarea achiziţionării de
bunuri sau servicii. Sfera de cuprindere a licitaţiilor tipice include de la serviciile din
construcţii şi bunurile pentru investiţii până la studii şi alte lucrări ample. Achiziţiile
publice prin Internet pot include negocierea electronică, contractarea şi licitarea în
colaborare, spre exemplu.
Pentru ca acest model să poată fi şi la îndemâna întreprinderilor mici, s-au
înfiinţat platforme sau consorţii în cadrul cărora vânzătorii acţionează împreună pentru a
obţine oferte mai avantajoase de la producători. Spre exemplu, industria modei este un
important utilizator al acestor consorţii.
16
Platformele de colaborare oferă un set de instrumente şi un mediu de informare
pentru colaborarea între întreprinderi, între acestea şi colaboratorii externi şi între experţi,
acţionând ca o întreprindere virtuală faţă de lumea exterioară. În cazul în care platforma
nu aparţine unei anume întreprinderi, operatorul trebuie să acorde o atenţie specială
statutului de neutralitate, protecţiei datelor şi siguranţei comunicării, pentru a nu permite
scurgeri de informaţii de interes pentru concurenţă. Viteza de transmisie are, de
asemenea, importanţă majoră mai ales în domeniul tehnic. În aceeaşi măsură, semnătura
digitală devine un instrument indispensabil pentru derularea activităţii în general sau
pentru domeniul contractual în special.
17
nu publicitatea în magazinele proprii, în funcţie de tipul de tranzacţii practicate în cadrul
e-mall-ului.
În mod obişnuit, banerele publicitare – cea mai cunoscută formă de publicitate –
sunt plasate pe paginile de Internet cu un conţinut corespunzător, cum ar fi pagina-gazdă,
subpagini atractive, pagini rezultate în urma căutărilor prin cuvinte-cheie, ş.a. Cu toate
acestea, activitatea de reclamă poate genera profit doar în cazul în care site-ul beneficiază
de un trafic intens. Agenţiile de publicitate vor fi interesate de un anumit site doar în
cazul în care există garanţii în ceea ce priveşte numărul mare de vizitatori lunar.
Având în vedere faptul că rata de accesare a banerelor publicitare este relativ
scazută şi depinde în mare măsură de design, preţurile pentru publicitate se bazează în
prezent mai mult pe vizibilitatea paginii de Internet (numărul de vizitatori). S-a constatat
că rata de accesare a banerelor publicitare găzduite pe o pagină de Internet se situează
frecvent între 0,05 - 0,3 %, uneori crescând până la 3% sau mai mult. Dar, numărul de
accesări al banerelor poate fi identificat direct de beneficiarul reclamei, pe site-ul propriu,
spre deosebire de numărul de accesări al paginii de Internet care găzduieşte reclama şi
care nu poate fi monitorizat decât de proprietarul acestei pagini.
Preţurile pentru publicitate se diferenţiază foarte mult în funcţie de importanţa
contractului, valoarea specifică şi specializarea paginii de Internet gazdă (cu cât e mai
specializată cu atât e mai scumpă) şi de alte criterii (spre exemplu, într-un motor de
căutare, utilizarea în scop publicitar a cuvântului-cheie “e-commerce” este cotată cu un
preţ mai mare decât alte astfel de cuvinte-cheie cum ar fi “provider” sau “business”).
Preţurile actuale sunt cuprinse între 0,01 şi 0,30 Euro/accesare a paginii de Internet,
gazdă a reclamelor.
În practică se întâlnesc şi cazuri când proprietarii de pagini de Internet acceptă
banere publicitare pe paginile lor, în schimbul găzduirii banerelor proprii pe alte pagini
de Internet. Acest schimb de banere publicitare este organizat în cadrul “inelelor de web”
(cercuri pe domenii), create cu miile pe diferite tematici. În cadrul unui astfel de inel,
paginile de Internet aferente unui anumit domeniu sunt legate prin link-uri, în baza
dorinţei exprimate de proprietarii paginilor şi, evident, a intereselor lor comune.
Tabel 1.3.1.
Principalele modele de comerţ electronic
18
Furnizori de Logistică, plăţi Producţie şi stocuri Taxe
servicii electronice mai bine gestionate
Comunităţi Construirea profilului Creşterea Taxe de membru
virtuale clienţilor atractivităţii pentru
noile servicii
Modele de Promovarea/vânzarea Promovarea Taxe de membru,
publicitate(Third asigurate de terţi numelui, asigurarea taxe pe servicii,
party logisticii pentru taxe pe tranzacţii
marketplaces) efectuarea plăţilor
sau prelucrarea
comenzilor,
securitatea
tranzacţiilor
Brokeraj de Furnizare de informaţii Disponibilitatea Taxe de subscriere,
informaţii şi alte şi consultanţă în diferite datelor sau de vânzări de software
servicii domenii, oferirea căutare, sfaturi
siguranţei tranzacţiilor privind investiţiile
6
Plant, R. – eCommerce formulation of Strategy, Prentice Hall PTR, Upper Saddle River, Nj 07458,
2000, p. 30
19
Figura 1.4.1.
Relaţia între principalele mecanisme de comerţ electronic
20
1.4.2. MECANISMUL BUSINESS-TO- BUSINESS (B2B)
21
1.4.3. MECANISMUL BUSINESS-TO-GOVERNMENT (B2G)
1.5.1. AVANTAJE
7
*** – B2G, http://searchebusiness.techtarget.com/sDefinition/0,,sid19_gci503766,00.html, 08/11/2003
22
eliminarea unor restricţii fizice de comunicare între partenerii de
afaceri: magazinele virtuale nu se închid niciodată. Ele sunt la dispoziţia
clienţilor 24 de ore din 24. Avantajul este evident având în vedere timpul
limitat pe care o persoană îl are la dispoziţie pentru a face cumpărăturile.
Magazinele virtuale pot fi vizitate şi după închiderea programului de
lucru, iar produsele căutate vor fi găsite mult mai uşor cu ajutorul
motoarelor de căutare.
reducerea stocurilor de produse şi constituirea lor numai din produsele
solicitate: o dată ce unul din scopurile comerţului electronic este de a
eficientiza comunicarea dintre firme, nu mai este necesar să se asigure
stocuri mari de produse. Firmele devin astfel mult mai flexibile şi sunt în
măsură să răspundă mult mai repede la modificările intervenite în cererea
de produse.
reducerea ciclului activităţii comerciale: ciclul unui proces este perioada
de timp din momentul în care prima etapă a luat startul (alegerea
produsului şi furnizorului, respectiv lansarea comenzii) şi până când
ultima etapă se finalizează, respectiv până în momentul în care produsul
este livrat sau serviciul prestat. Acest lucru este favorizat de comerţul
electronic prin faptul că există posibilitatea fabricării numai a produselor
solicitate, eliminându-se astfel stocurile fără mişcare.
noi oportunităţi de desfacere a produselor: clienţii de oriunde din
întreaga lume pot accesa pagina Web a firmei fără să se mai împiedice de
restricţiile impuse de graniţele fizice. Firmele mici, care au o putere
redusă de vânzare , au acum posibilitatea de a concura cu marile
corporaţii.
Tabel
Pentru furnizori: Pentru clienţi:
1.5.1.
>> Grad înalt de penetrare al >> Acces 24 ore
clienţilor >> Ofertă "Globală"
>> Costuri reduse pentru >> Nivel înalt de penetrare pe pieţe
tranzacţionarea informaţiei şi diferite
comunicaţiei >> Costuri scăzute ale informaţiei/
>> Acces la pieţe noi şi noi comunicaţiei
segmente de clienţi >> Acces la noi pieţe şi produse
>> Optimizarea proceselor de >> Contacte mondiale noi, sociale
marketing >> Valoare ridicată a informaţiei
>> Diferenţierea preţurilor >> Posibilitatea comparării preţurilor
funcţie de localizare, timp, >> Oferte specifice fiecărui client
marfa disponibilă, etc.
>> Segmentare
>> Poziţionare
>> Produse personalizate
>> Canale de distribuţie
suplimentare
Avantaje pentru furnizori, respectiv clienţi
23
Pe lângă aceste avantaje, comerţul electronic mai aduce şi unele beneficii care
după natura lor pot fii tangibile sau intangibile. Principalele beneficii tangibile şi
intangibile ce pot fi obţinute din participarea la comerţul electronic sunt redate în tabelul
1.5.2.
Tabel 1.5.2.
Beneficiile tangibile şi intangibile ale comerţului electronic
Beneficii tangibile Beneficii intangibile
Creşterea vânzărilor conduce la Comunicarea şi răspândirea imaginii
obţinerea unor venituri superioare firmei
din: Îmbunătăţirea numelui
– noii clienţi, noile pieţe de Comunicare mai rapidă, marketing cu
desfacere; viteză de reacţie mult mai rapidă,
– clienţii existenţi (vânzări repetate); inclusiv în relaţiile publice
– clienţii existenţi (vânzări Un ciclu de dezvoltare a produsului mult
complementare); mai rapid cu posibilitatea de a răspunde
Reducerea costurilor de marketing foarte repede la cerinţele pieţei
prin: Un service mult îmbunătăţit
– reducerea timpului destinat Se vine în întîmpinarea cerinţelor
service-ului clienţilor; clienţilor de a avea un site Web
– vânzările online; Identificarea de noi parteneri, sprijinirea
– reducerea costurilor cu şi îmbunătăţirea relaţiilor cu cei existenţi
imprimatele şi transmiterea gestiune mult mai bună a informaţiilor de
informaţiilor solicitate de piaţă şi despre clienţi
comunicarea specifică
Obţinerea rapidă a feedback-ului de la
marketingului;
clienţi cu privire la produse
Reducerea costurilor specifice
lanţului de aprovizionare din:
24
– reducerea nivelului stocurilor;
– creşterea competiţiei dintre
furnizori;
– reducerea timpului necesar
realizării ciclului de aprovizionare;
Reducerea costurilor administrative
prin eficientizarea proceselor
economice de rutină, cum ar fi
recrutarea, plata facturilor şi
autorizarea zilelor de concediu.
1.5.2. DEZAVANTAJE
25
considerată de unele guverne o contravenţie, iar pe de altă parte, în unele cazuri,
datele criptate nu pot fi transmise peste graniţele naţionale. Problemele pot fi
rezolvate prin stabilirea unor acorduri, standarde comune la nivelul legislaţiilor
diferitelor ţări, organisme internaţionale. În acelaşi timp, în momentul în care se
demarează un proiect de implementare a comerţului electronic, firmele trebuie să-
şi asigure o bună consultanţă în domeniul legislativ şi al securităţii sistemului.
Nesiguranţa şi lipsa informaţiilor: Multe dintre firme au observat că Internetul
poate fi un mijloc eficient de realizare a activităţilor specifice marketingului,
promovării produselor, publicităţii. Pentru o firmă care nu a mai apelat la
mijloace electronice de comunicare cu partenerii de afaceri, Internetul este încă o
necunoscută. Măsura în care acesta poate să asigure cunoaşterea pieţei şi a
clienţilor rămâne ascunsă şi, uneori, chiar nesigură.
26
d) oferta de bunuri sau servicii care nu este prezentată destinatarului prin
transmiterea informaţiei la cererea individuală a acestuia şi care este destinată recepţiei
simultane de către un număr nelimitat de persoane (punct-multipunct), precum serviciile
de radiodifuziune sonoră şi televizată sau serviciile de teletext televizat;
e) difuzarea programelor de televiziune prin Internet, chiar dacă transmiterea
informaţiei este efectuată la cererea individuală a destinatarului, cu condiţia ca
programele în cauză să fi fost anterior difuzate printr-un alt mediu.
Legislaţia românească cu privire la comerţul electronic se constituie din:
1. Legea nr. 365 din 7 iunie 2002 privind comerţul electronic, publicată în
Monitorul Oficial, Partea I nr. 483 din 5 iulie 2002;
2. Decretul nr. 512 din 6 iunie 2002 pentru promulgarea Legii privind
comerţul electronic, publicat în Monitorul Oficial, Partea I nr. 483 din 5
iulie 2002;
3. Hotărârea nr. 1308 din 20 noiembrie 2002 privind aprobarea Normelor
metodologice pentru aplicarea Legii nr. 365/2002 privind comerţul
electronic, publicată în Monitorul Oficial nr. 877, Partea I, din 5
decembrie 2002.
27
anumite chei. Mesajul criptat nu este reasamblat în forma originală a datelor în orice
mod. Din punct de vedere al receptorului, mesajul este decodificat în formatul original,
folosind din nou un algoritm matematic şi o cheie. Criptarea se poate face cu cheie
publică sau cheie privată. Autentificarea, non-repudierea şi integritatea datelor sunt
asigurate prin semnături digitale şi certificate cu chei publice.
28
schimbul electronic de date (Electronic Data Interchange);
integrarea în cadrul întreprinderii a sistemelor de tip EDI & ERP (Enterprise
Integration EDI & ERP);
schimbul de date referitoare la produse (Product Data Interchange);
practicile afacerii collaborative (Collaborative Business Practices);
dezvoltarea şi distribuţia produselor vis-à-vis de celelalte activităţi desfăşurate în
cadrul lanţului valoric (Product Development & Distribution via Value Chain);
acţiunile întreprinderii virtuale (Virtual Enterprise Operations).
Figura 1.9.1.
Evoluţia principalelor forţe pe piaţa c-commerce
29
produs (CPR), precum şi cele ale comerţului colaborativ referitor la planificare,
previziune şi aprovizionare (CPFR).
Figura 1.9.2.
Cadrul strategiei comerţului colaborativ9
1.10. CONCLUZII
30
poate reduce mult birocraţia impusă, în special, de tranzacţiile firmă-la-firmă (business-
to-business). Atunci când cea mai mare parte a informaţiilor despre o firmă şi produsele
sale sunt în format electronic, personalul poate să se decidă mai mult nevoilor clienţilor şi
să acorde mai mult sprijin în utilizarea produselor, decât asupra întocmirii şi transmiterii
documentelor clasice, pe care le presupune operaţiunea tradiţională de vânzare-
cumpărare.
Principalele bariere în dezvoltarea comerţului electronic rămân problemele legate
de securitate şi încredere. Pe măsura creşterii utilizatorilor casnici de Internet procedurile
legate de autentificare şi criptare a datelor personale primesc o importanţă din ce în ce
mai mare şi de succesul implementării lor depinde succesul comercianţilor de pe Web.
31
Figura 2.1.1.
Arhitectura unui sistem dezvoltat pentru aplicaţii Web
Aşa cum se poate observa din figură, serverul este principalul promotor al
aplicaţiei Web. Ca şi server Web s-ar putea folosi şi serverul Web din clasa MICROSOFT
IIS (Internet Information Server), în partea de Middleware poate fi folosit interpretorul
ASP produs de Microsoft, iar în locul bazei de date MySQL poate fi folosită orice altă
bază de date: ORACLE SQL (de la Microsoft) INFORMIX sau orice alt server de baze
de date.
32
PHP (PHP: Hypertext Prepocessor), cunoscut în versiunile mai vechi şi sub
numele de PHP/FI (Personal Homepage/Form Interpreter), iniţial a fost gândit a fi o
simplă aplicaţie CGI pentru interpretarea formularelor definite prin HTML şi procesate
de un program scris într-un limbaj Perl, script shell, executat pe server. În cazul interfeţei
CGI era necesară permisiunea de a rula programe pe server, ceea ce ducea la lacune în
securitate şi, în plus, la disocierea de documentul HTML a programului care procesa
datele.
PHP reprezintă un pachet puternic care oferă un limbaj de programare accesibil
din cadrul fişierelor HTML, limbaj asemănător cu Perl sau C, plus suport pentru
manipularea bazelor de date într-un dialect SQL (dBase, Informix, MySQL, mSQL,
Oracle, PostgreSQL, Solid, Sybase, ODBC etc.) şi acces la sisteme hipermedia precum
Hyperwave. De asemenea, PHP suportă încărcarea fişierelor de pe calculatorul client:
upload (standard propus de E. Nebel şi L. Masinter de la Xerox, descris în RFC 1867) şi
oferă suport pentru cookies (mecanism de stocare a datelor în navigatorul client pentru
identificarea utilizatorilor, propus de Netscape).
La fel ca multe alte proiecte software, PHP s-a născut sub forma unui mic
utilitar care trebuia să rezolve o problemă simplă şi foarte particulară. Istoria PHP-
ului începe la sfârşitul anului 1994, când Rasmus Lerdorf dezvoltă prima versiune ca
proiect personal. Pentru ca să poată să urmărească cine i-a vizitat pagina, Rasmus a
introdus în pagină un tag special şi a scris în Perl un script CGI care să colecteze
informaţii despre vizitatori, pe care apoi îi scria într-un jurnal ( log). A botezat
acest cod PHP (Personal Home Page) tools. Aşadar, PHP-ul este făcut public în
debutul anului 1995 sub denumirea de Personal Home Page Tools, fiind considerat un
analizor simplist care interpreta câteva macrouri ce puteau fi incluse în cadrul
documentelor HTML, permiţând contorizarea accesului la paginile Web sau accesarea
unei carţi de oaspeţi (guestbook). Mai apoi, în cadrul unui proiect „de serviciu”, a
trebuit să realizeze o interfaţă între clienţii de Web şi o bază de date. A recurs la
aceeaşi idee: taguri HTML proprii procesate de un script CGI (de data aceasta
scris în C) care le înlocuia conţinutul ce trebuia inserat în pagină. A numit acele
taguri „Form Interpreters” (FI) deoarece rolul lor era de a prelua datele transmise
prin formulare HTML şi de a le transforma în variabile simbolice pe care le
folosea apoi pentru interogarea bazei de date. Analizorul a fost rescris la mijlocul
aceluiaşi an şi denumit PHP/FI 2.0, unde FI era o altă aplicaţie scrisă de Rasmus Lenford,
un interpreter de formulare HTML. Programul a fost corectat, dezvoltat şi extins în
regim open source, depăşind cu mult scopul său iniţial. Deşi numele de PHP s-a
păstrat, semnificaţia lui a devenit cu totul alta şi anume Hypertext Preprocessor. A
fost adăugat şi suportul pentru bazele de date mSQL şi astfel PHP/FI a început să aibă
succes, fiind disponibil gratuit pe Web. Se estimează că la sfârşitul lui 1996 cel puţin 15
mii de site-uri Web utilizau PHP/FI, iar în anul 1997 numărul acestora era de 50 de mii.
Programatorii Zeev Suraski şi Andi Gutmans rescriu analizorul PHP şi noua
aplicaţie formează nucleul versiunii PHP 3.0 care include o parte din vechile surse
PHP/FI 2.0. Relativ recent, la începutul anului 2000, a fost facută publică versiunea PHP
4.0, utilizând puternicul motor de scriptare Zend şi oferind suport nu numai pentru
serverul Apache ci şi pentru alte servere Web. De asemenea, PHP 4.0 oferă posibilitatea
accesării documentelor XML via DOM.
Se estimează că numărul site-urilor care folosesc în prezent PHP este de peste un
milion. Deja, pe Web, există o multitudine de aplicaţii şi utilitare concepute în PHP, care
se regăsesc grupate şi în aşa-numitul PEAR (PHP Extension and Add-on Repository).
33
2.2.2. CE ESTE PHP?
<html>
<head>
<title>Exemple</title>
</head>
<body>
<?php
echo "Script PHP!";
?>
</body>
</html>
Diferenţa faţă de alte limbaje precum Perl sau C este aceea că în loc de a scrie un
program cu o multitudine de linii de comandă afişate în final într-o pagină HTML, se va
scrie o pagină HTML cu codul inclus pentru a realiza o acţiune precisă. Codul PHP este
inclus între tag-urile speciale de început şi de sfârşit care permit utilizatorului să treacă
din "modul HTML" în "modul PHP".
Faţă de alte limbaje script, precum Javascript, la PHP codul se execută pe server.
Dacă pe serverul Web se află un script similar, clientul nu va primi decât rezultatul
execuţiei scriptului, fără a avea nici o posibilitate de acces la codul care a produs
rezultatul. Se poate astfel configura serverul de Web să prelucreze (analizeze) toate
fişierele HTML ca fişiere PHP. Astfel nu există nici un mijloc de a distinge paginile care
sunt produse dinamic de paginile statice.
Tabel 2.2.1.
Baze de date suportate de PHP
34
IBM DB2 ODBC Unix dbm
Informix Oracle
Ingres Ovrimos
Limbajul PHP are, de asemenea, suport pentru diverse servicii server utilizând
protocoale precum IMAP, SNMP, NNTP, POP3 şi HTTP.
Principiul de funcţionare al limbajului PHP este următorul: având în vedere un
fişier care se află într-un subdirector al serverului Web (pornind de la document root) şi
care poate fi accesat de un navigator Web la o anumită adresă, procesul este următorul:
browserul trimite către serverul Web o cerere HTTP pentru fişierul cu extensia .php.
Serverul ştie că fişierul cerut conţine cod PHP, aşa că va lansa preprocesorul PHP, care va
primi la intrare fişierul cu extensia .php. Preprocesorul va identifica secvenţele PHP
(cuprinse între marcajele <? şi ?>) şi le va interpreta. Tot ce nu este cod PHP este trimis
spre ieşirea standard fără nici o prelucrare. Codul PHP poate scrie la rândul său în ieşirea
standard (prin echo sau print). În fine, serverul Web interceptează ieşirea standard a
preprocesorul şi trimite totul către browserul care a cerut pagina (de fapt scriptul).
Există trei domenii principale unde sunt folosite scripturile PHP:
Scripturi ce rulează pe server. Acesta este cel mai tradiţional şi cel mai
important pentru PHP. În acest caz este nevoie de: interpretorul PHP (CGI sau
modul de server), un server de Web şi un navigator de Web. E nevoie ca serverul
de Web să fie pornit, cu o conexiune PHP instalată. Se poate accesa rezultatul
programelor PHP cu un navigator prin intermediul serverului de Web.
Scripting la linia de comandă. Există posibilitatea ca PHP să ruleze fără a fi
nevoie de server şi de browser, ci doar de interpretorul PHP. Această metodă este
ideală pentru scripturile ce se vor a fi executate, de regulă, folosind cron (task
scheduler în Windows) sau sarcini simple de procesare a textelor.
Scrierea de aplicaţii ce rulează de partea clientului în mod grafic (GUI).
Probabil că PHP nu este limbajul cel mai bun de a scrie aplicaţii cu ferestre pentru
Windows sau alte sisteme de operare, dar apelând la nişte facilităţi avansate a
PHP-ului în aplicaţiile ce rulează de partea clientului, se poate totuşi folosi PHP-
GTK pentru a scrie astfel de programe. De asemenea, există posibilitatea de a
scrie aplicaţii ce rulează pe platforme diferite folosind această metodă. PHP-GTK
este o extensie a PHP-ului, nedisponibilă în distribuţia principală de PHP.
PHP poate fi folosit pe aproape toate marile sisteme de operare, incluzând Linux,
multe variante de Unix (incluzând HP-UX, Solaris şi OpenBSD), Microsoft Windows,
Mac OS X, RISC OS, probabil şi altele. PHP are, de asemenea, suport pentru majoritatea
serverelor de Web din prezent. Acestea includ serverele Apache, Microsoft Internet
Information Server, Personal Web Server, Netscape şi iPlanet, serverul Oreillz Website
Pro, Caudium, Xitami, OmniHTTPd, şi multe altele. Pentru majoritatea serverelor PHP
are un modul, iar pentru celelalte suportă standardul CGI, PHP putând să lucreze ca un
procesor CGI.
Deci, PHP oferă libertatea de a alege un sistem de operare şi un server de Web.
Chiar mai mult, există posibilitatea de a alege programarea procedurală sau programarea
orientată obiect, sau chiar ambele combinate. Cu toate acestea, nu orice facilitate a
standardului POO este prezentă în versiunea curentă a PHP-ului, multe librării de cod şi
aplicaţii mari (incluzând şi librăria PEAR) sunt scrise folosind doar cod POO.
PHP nu este limitat numai la rezultat HTML. Posibilităţile PHP-ului includ
afişarea de imagine, fişiere PDF şi chiar filmuleţe Flash (folosind librăriile libswf şi
35
Ming) toate generate instant. Se poate, de asemenea, ca rezultatul să fie orice fişier text,
cum ar fi XHTML sau orice alte fişiere XML. PHP poate genera automat aceste fişiere şi
să le salveze în sistemul de fişiere în loc să le afişeze, formând un cache de partea
serverului pentru conţinutul tău dinamic.
PHP are, de asemenea, suport pentru a conversa cu alte servicii folosind
protocoale cum ar fi LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (pe Windows) şi
multe altele. Pot fi deschise totodată socket-uri de reţea şi interacţiuni între aproape toate
limbajele de programare Web. Referitor la interconectare, PHP are suport pentru
instanţierea obiectelor Java şi utilizarea lor într-un mod transparent ca obiecte PHP.
10
Marin,Gheorghe, Caţă,Marian, Atodiresei ,Anca – Limbajele MySQL şi PHP, Programare Web sub Windows, Ed.
Tribuna Economică, Bucureşti 2002, Capitolul 8. Programare orietată pe obecte, pag. 277
36
Biblioteci extinse de clase disponibile gratis pe Web pot fi folosite în
diferite scipturi.
Dezavantaje:
Este mai lentă decât programarea procedurală.
Sintaxa poate fi neclară la începutul programării.
Programarea Web nu uzează la multele avantaje ale codului orientat pe
obiecte.
Poate fi prea complicată dacă se folosesc biblioteci mari de clase.
2.3.2. TEHNICI DE IMPLEMENTARE ALE PROGRAMĂRII
OBIECTUALE
Limbajul PHP oferă implementarea unora dintre cele mai importante aspecte ale
programării obiectuale: încapsularea datelor, moştenirea, polimorfismul. Astfel, PHP dă
posibilitatea programatorului să exprime distincţia dintre proprietăţile generale şi cele
specifice ale obiectelor cu care lucrează.
2.3.2.1. ÎNCAPSULAREA
Încapsularea datelor reprezintă un mecanism de protecţie a membrilor de tip dată,
accesul la aceştia realizându-se exclusiv prin intermediul unor metode specifice şi nu în
mod direct. Acest lucru se realizează prin intermediul claselor, după cum se poate
remarca în fragmentul de cod PHP de mai jos:
<?php
class Student {
// date-membru
var $year; // an
var $age; // vârsta
var $name; // nume
// metode
function setYear($y) {
$this->year = $y;
}
function getYear() {
return $this->year;
}
...
}
?>
Datele-membru se definesc utilizând var, putând avea orice tip (întreg, tablou sau
chiar obiect). Metodele se specifică prin declaraţii de funcţii care prelucrează membrii
clasei. Pentru a accesa datele clasei, metodele trebuie să se folosească de construcţia
$this->variabila, altfel variabila se consideră a fi locală în cadrul acelei metode.
Din păcate, membrii dată ai clasei pot fi accesaţi direct, neputându-i declara
privaţi. La fel, metodele nu pot fi specificate private sau protejate, aşa cum se întâmplă în
C++. Astfel, PHP oferă doar suport pentru încapsulare, dar nu o poate impune.
37
2.3.2.2. MOŞTENIREA
Moştenirea reprezintă posibilitatea folosirii datelor sau metodelor definite în
prealabil de o anumită clasă în cadrul unei clase derivate din prima. Relaţia de derivare se
specifică prin cuvântul-cheie extends:
<?php
class GoodStudent extends Student {
}
?>
În PHP moştenirea multiplă nu este încă posibilă. De exemplu, nu se poate scrie cod
de genul:
2.3.2.3. CONSTRUCTORI
PHP permite specificarea constructorilor, aceştia fiind metode cu acelaşi nume al
clasei din care aparţin, fiind apelaţi automat atunci când se instanţiază un obiect al clasei
respective. Un exemplu de constructor poate fi:
<?php
class Student {
// date-membru
var $year; // an
var $age; // vârsta
var $name; // nume
// constructor
function Student($y, $a, $n) {
$this->year = $y;
$this->age = $a;
$this->name = $n;
}
?>
Constructorii şi metodele, fiind funcţii PHP obişnuite, pot avea specificate valori
implicite pentru argumente (ca în C++):
Atunci când un obiect al unei clase derivate este creat, numai constructorul lui
propriu va fi apelat, constructorul clasei de bază nefiind apelat implicit.
Dacă în PHP 3 constructorii puteau avea drept orice tip de parametrii, începând cu
versiunea 4, tipurile permise pentru parametrii unui constructor sunt doar cele simple
38
(întregi, şiruri de caractere), deci nu vor putea fi executate transmiteri de tablouri sau de
obiecte.
Dacă o clasă derivată nu posedă propriul ei constructor, va fi apelat implicit
constructorul clasei părinte.
Mecanismul obiectual în PHP nu permite declararea destructorilor şi nici
specificarea de clase abstracte (deşi se pot imagina metode mai mult sau mai puţin
sofisticate pentru a le simula).
2.3.2.4. SUPRAÎNCĂRCAREA
Supraîncărcarea (asocierea de semantici diferite unei aceleaşi funcţii pe baza
tipurilor parametrilor specificaţi) nu este suportată nici ea. Se pot însă supraîncărca
constructorii, indirect, prin crearea de obiecte diferite în funcţie de numărul de argumente
specificate.
<?php
class Student {
...
function Student() {
// se contruieşte un şir de apel
$method_name = "Student" . func_num_args();
$this->$method_name();
}
function Student1($x) {
// cod
}
function Student2($x, $y) {
// cod
}
...
}
?>
Se poate scrie:
$stud1 = new Student('1'); // va apela Student1
$stud2 = new Student('1', '2'); // va apela Student2
2.3.2.5. POLIMORFISMUL
2.3.2.6. SERIALIZAREA
PHP nu suportă obiecte serializate (care îşi păstrează starea şi funcţionalitatea de-
a lungul mai multor invocări ale aplicaţiei, prin intermediul stocării într-un fişier/bază de
date şi încărcarea lor ulterioară). În PHP prin serializare (funcţiile serialize() şi
39
unserialize()) se vor salva numai membrii-dată, nu şi metodele, însă se pot serializa
tablouri asociative sau indexate, ceea ce reprezintă totuşi un avantaj.
40
interfaţa (front-end, partea cu care intră în contact utilizatorul – sau partea
client) compusă din paginile ce conţin instrucţiunile pentru selectarea şi afişarea
informaţiilor din baza de date;
back-end (partea de aplicaţie ce rezidă pe server) reprezentată de regulă prin
baza de date ce conţine toate informaţiile accesibile pe site.
Trebuie reţinut faptul că un set de pagini dinamice gândite pentru a rezolva o
anumită problemă de informare se numeşte, în limbaj informatic, aplicaţie Web. Altfel
spus, realizarea unui site Web este sinonimă cu programarea unei aplicaţii Web, adică:
1. proiectarea şi implementarea bazei de date care conţine informaţiile
despre produse şi
2. generarea dinamică a paginilor Web utilizând un limbaj de programare
specializat (pe scripting server-side).
Multe site-uri importante din întreaga lume utilizează astăzi aproape exclusiv
tehnologia bazată pe cele două produse. MySQL este folosit ca server de baze de date
pentru a stoca datele, iar PHP ca limbaj utilizat pentru programarea paginilor Web
dinamice ale site-ului.
2.5.1. DE CE PHP?
PHP este considerat a fi cel mai popular limbaj de scripting folosit pentru crearea
de pagini Web dinamice. PHP poate fi folosit pentru a scrie programe stocate pe server,
programe ce accesează baze de date şi este similar cu alte limbaje ca: ASP (Active Server
Pages, tehnologie Microsoft), JSP (Java Server Pages) sau Macromedia ColdFusion.
PHP se pretează cel mai bine pentru dezvoltările Web, putând fi înglobat în codul
HTML. Alte caracteristici apreciate la PHP sunt: este uşor de învăţat, eficient, sigur
(securizat), productiv la programare (codare), iar aplicaţiile PHP sunt uşor de configurat
pentru exploatare (deploy). Aceste caracteristici au condus la faptul că peste 9 milioane
de site-uri Web folosesc PHP, reprezentând 24% din site-urile Internet (e o statistică mai
veche, dar sugestivă). Şi asta în special datorită faptului că PHP asigură timpi de răspuns
competitivi la rularea aplicaţiilor Web, asigurând în acelaşi timp securitatea informaţiilor
şi transparenţa faţă de utilizator.
PHP a fost construit de la bun început având în minte integrarea funcţiilor
necesare pentru utilizarea şi manipularea bazelor de date, în particular pentru MySQL.
Înglobarea codului PHP în paginile HTML a contribuit decisiv la impunerea PHP, în
principal datorită rapidităţii cu care pot fi astfel codificate paginile Web. O tehnică
extrem de importantă pentru programatorii Web este separarea codului sursă de date, fără
a se influenţa reciproc. PHP foloseşte tag-ul <?php?> pentru a indica că “în interior se
află cod PHP”. Datorită faptului că PHP înglobează intern o serie de operaţii care tratează
operaţii de cerere şi servire de pagini Web, limbajul este considerat mai sigur decât Perl,
de exemplu.
PHP este mai uşor de învăţat decât C, Phyton, Java sau majoritatea celorlalte
limbaje de programare. Accesarea variabilelor unui formular Web în PHP este directă şi
41
uşoară, în timp ce Perl sau alte limbaje necesită cunoaşterea de detalii privitoare la
formatul antetului HTTP şi utilizarea unei biblioteci CGI.
PHP minimizează supraîncărcarea, având ca efect execuţia rapidă a scripturilor
PHP, mai rapid chiar decât scripturile CGI scrise în Perl, considerate mult timp cea mai
rapidă soluţie. O serie de teste efectuate de specialişti şi diverse publicaţii specializate au
confirmat supremaţia PHP, în ceea ce priveşte viteza de execuţie şi timpii buni de răspuns
oferiţi de PHP.
PHP este considerat a fi mai consistent şi mai modular decât limbajele
competitoare pe zona programării Web. Resursele de scripturi open-source PHP,
disponibile on-line, sunt printre cele mai variate şi numeroase. Iar PHP, la rândul său,
este open-source. Asta înseamnă că codul său sursă este disponibil gratuit şi nu este
proprietar. Programatori din lumea întreagă alocă timp permanent pentru a-i aduce
îmbunătăţiri şi pentru a elimina din bug-urile12 sale.
2.5.2. DE CE MYSQL?
Unul din cele mai noi sisteme de gestiune a bazelor de date este MySQL, un
sistem client/server de gestiune a bazelor de date relaţionale originar din Scandinavia.
MySQL include un server SQL, programe client pentru accesul la server, instrumente
administrative şi o interfaţă de programare pentru scrierea programelor. De asemenea,
MySQL poate fi folosit în mod batch, plasând interogările într-un fişier care apoi este
executat.
12
erori descoperite în codul sursă
42
MySQL este un produs software foarte atractiv în comunitatea producătorilor de
aplicaţii. Are facilităţi pe care mulţi utilizatori le apreciază pentru că nu necesită foarte
multe resurse, este forte rapid şi este uşor de învăţat, comparativ cu alte pachete, cum ar
fi Oracle sau Sybase.
Viteza. Programatorii pretind că MySQL este cel mai rapid sistem de baze de date
care poate fi utilizat.
Uşurinţa în utilizare. MySQL este un sistem de baze de date cu performanţe
ridicate, dar relativ simplu, a cărui configurare şi administrare sunt mult mai
simple decât în cazul sistemelor mai mari.
Cost. MySQL este gratuit pentru majoritatea utilizărilor interne.
Suport pentru limbaje de interogare. MySQL integrează SQL, limbajul preferat
al tuturor sistemelor moderne de baze de date.
Caracteristici. La server se pot conecta mai mulţi clienţi simultan, care pot folosi
mai multe baze de date concomitent. Este disponibilă o varietate de interfeţe de
programare pentru limbaje precum C, Perl, Java, PHP.
Conectivitate şi securitate. MySQL poate fi folosit integral în reţele, iar bazele
de date sunt accesibile de oriunde din Internet, deci se pot partaja datele cu
oricine şi oriunde. MySQL are controlul accesului, astfel încât persoanele care nu
au dreptul să citească datele introduse, nu vor avea această posibilitate.
Portabilitate. MySQL rulează atât pe sisteme de operare UNIX, cât şi pe
Windows, pe echipamente de calcul pornind de la calculatoare de birou până la
servere cu performanşe ridicate.
Distribuţie liberă. MySQL este uşor de obţinut, pentru aceasta folosind
browserul de Web. Dacă o componentă nu asigură un mod de funcţionare
corespunzător, acesta poate fi modificat relativ uşor.
Tranzacţiile. În cadrul bazelor de date relaţionale actualizările pot fi făcute
concomitent în mai multe tabele. În unele cazuri, tabelele pot fi actualizate printr-
o serie de instrucţiuni ce inserează datele acolo unde trebuie.
În general, tranzacţiile sunt caracterizate de o serie de proprietăţi, dintre care sunt
fundamentale şi sunt cunoscute sub numele de proprietăţi ACID 13, denumirea provenind
din combinaţia primei litere a fiecăreia dintre ele.
1. Atomicitatea: Reprezintă proprietatea „totul sau nimic”. O tranzacţie,
chiar dacă este un grup de acţiuni, trebuie să se comporte ca o unitate
indivizibilă, care ori este efectuată în întregime, ori nu este efectuată
deloc.
2. Consistenţa: O tranzacţie trebuie să transforme baza de date dintr-o stare
consistentă în altă stare consistentă.
3. Izolarea: Fiecare tranzacţie trebuie să fie executată independentă de
celelalte tranzacţii şi nu contează câte sunt în execuţie în momentul
respectiv într-o bază de date. Cu alte cuvinte, efectele parţiale ale unor
tranzacţii incomplete nu trebuie să fie vizibile pentru alte tranzacţii.
4. Durabilitatea: Efectele unei tranzacţii încheiate cu succes sunt
înregistrate definitiv în baza de date şi nu trebuie să fie pierdute din cauza
unei blocări ulterioare a serverului.
Dacă serverul bazei de date se blochează din anumite motive în mijlocul
tranzacţiei, imediat după ce serverul a fost restartat, acesta este capabil să asigure
13
Marin,Gheorghe, Caţă,Marian, Atodiresei ,Anca – Limbajele MySQL şi PHP, Programare Web sub Windows, Ed.
Tribuna Economică, Bucureşti 2002, Capitolul 1. Proiectarea bazelor de date folosind MySQL , pag. 24
43
automat tranzacţii complete, reflectate în mod corect în baza de date. Baza de date nu
arată schimbările tranzacţiilor care erau în desfăşurare în momentul în care serverul s-a
blocat.
Tranzacţiile se desfăşoară atât în utilizarea bazelor de date de către un utilizator,
cât şi de mai mulţi utilizatori, în forme şi la dimensiuni corespunzătoare.
2.6.2. DEZAVANTAJE MySQL
O cheie străină este o coloană care face referire la cheia primară a unei alte tabele,
cu scopul de a menţine o relaţie. Totuşi, în MySQL cheile străine nu au importanţa pe
care o au în celelalte sisteme de baze de date. În pachete cum ar fi Oracle, Sybase,
PostgreSQL pot fi create tabele în care se definesc explicit cheile străine. Astfel, dacă
sistemul de baze de date ştie că este o relaţie între două tabele, va putea verifica dacă
valoarea care a fost inserată în câmpul cheie străină exstă în tabele de referinţă. Dacă nu
există, sistemul de baze de date va împiedica inserarea. Acest aspect este cunoscut sub
numele de integritate referenţială. Pentru a obţine acelaşi lucru în MySQL, poiectantul
aplicaţiei trebuie să adauge câţiva paşi suplimentari, înainte de a insera sau actualiza
înregistrările.
Realizatorii MySQL argumentează că integritatea referenţială nu este necesară şi
că includerea ei ar misşora viteza de lucru în MySQL. Mai departe, ei argumentează că
este responsabilitatea aplicaţiei care interacţionează cu baza de date să asigure
introducerea corectă a datelor.
O procedură stocată este un set de comenzi SQL care pot fi compilate şi stocate
pe server. Sistemele de baze de date mai permit inserarea în cadrul bazei de date a unor
astfel de proceduri. Există câteva avantaje cheie în folosirea procedurilor. În primul rând,
se reduce cantitatea de cod necesar într-o aplicaţie de nivel mediu.
Dacă MySQL ar fi acceptat procedurile stocate, printr-o singură PHP s-ar putea
interoga baza de date, s-ar efectua modificări asupra unor şiruri de caractere şi s-ar
returna o valoare.
Un alt avantaj major vine din faptul că se lucrează într-un mediu în care aplicaţiile
finale, care accesează baza de date pot fi scrise în diferite limbaje (Visual C++, limbaje
WEB). Ar fi mult mai uşor dacă s-ar putea scrie proceduri stocate în cadrul bazei de date
care să fie apelate din aplicaţii scrise în diverse limbaje.
44
2.7. CONCLUZII
45
CAPITOLUL 3. SOLUŢIE E-COMMERCE BAZATĂ PE PHP şi
MySQL
46
47
Structura tabelei categorii.frm:
48
3.2. PAGINILE WEB REALIZATE
49
Pagina comandă.php – dă posibilitatea unui client să cumpere o anumită carte, să facă
o comandă.
50
Pagina store.php/categoria=1 – conţine cărţile de cultură generală ce pot fi cumpărate
prin intermediului site-ului Web.
51
Pagina store.php/categoria=3 – conţine cărţile din domeniul informaticii ce pot fi
achiziţionate on-line.
52
Pagina logare.php – permite unui client deja existent în baza de date să se autentifice.
53
Pagina client_nou.php – permite înregistrarea unui client nou în situaţia în care acesta
doreşte achiziţionarea unui produs.
54
Pagina produse.php – permite administratorului să adauge noi produse în baza de
date, respectiv să şteargă anumite produse din baza de date.
55
Pagina categorii.php – permite administratorului să introducă, respectiv să şteargă
anumite categorii de cărţi.
56
Pagina căutare.php – afişează rezultatul căutării după un anumit nume de autor sau
titlu de carte. În figura următoare este captat rezultatul căutării după numele de autor
„Asimov”.
57
Pagina cosProduse.php – afişează denumirea cărţilor cumpărate şi suma totală a
acestora în vederea efectuării plăţii de către client.
58
BIBLIOGRAFIE
59