Propus Rares 123 [626966]
1
Cuprins
2
Capitolul 1. Introduc ere
1.1. Internetul în lume
Dacă secolul XX se spune pe drept cuvânt că a aparținut tehnologizării,
culminând în ultimii ani cu informatizarea și dezvoltarea ciberneticii prin produsele
finite – calculatoa rele, secolul XXI este al comunicațiilor. Dacă la început au fost
semnalele morse, telegraful apoi telefonul care a revoluționat comunicațiile, lucrurile au
evoluat puternic spre prezent, culminâd în zilele noastre cu un nou și puternic concept
numit Inter net.
Numit și „rețeua rețelelor”, Internetul își are originea în ARPANET și în NSFNET,
realizând trecerea de la o rețea militară la una publică și comercială.
Încercarea de a conecta, în anul 1965, rețeaua Departamentului Apărării Statelor
Unite (cunoscu tă sub numele de ARPANET) cu alte rețele conectate prin dispozitive
radio sau satelit, a marcat începuturile Internet -ului
I-a urmat NSFNET, înființată de NSF (Național Science Fundation), o agenție
guvernamentală americană, însa problema costului ridicat al liniilor telefonice
închiriate pe distanțe foarte mări a fost un impediment pentru dezvoltarea și lărgirea
acestui mediu.
Deși separate, cele două rețele puteau comunica în continuare, creându -se astfel
o inter -rețea denumită DARPA Internet, Internetul de mai târziu.
De departe, cele mai importante aplicații ale Internetului sunt World Wide Web
și e -mail -ul. Caracterul academic, guvernamental și industrial, pe care l -a avut
Internetul până în anii 1990, s -a transformat odată cu apariția World Wide Web -ului,
care a adus în rețea milioane de utilizatori. Marea schimbare a început în 1989, când
Tim Berners Lee de la CERN (Centrul European pentru Fizica Nucleara) din Geneva a
3
pus bazele în 1989 dezvoltării primului prototip al World Wide Web (WWW sau 3W).
Ca de obicei în istoria Internetului, scopul inițial al WWW -ului era destul de limitat. Era
destinat să fie o platformă internă de comunicații pentru cercetătorii din întreaga lume
care lucrau pentru CERN. Sarcina principală era să asigure un sistem care să facă
legătura între varietatea de platforme ale diverselor calculatoare. Soluția de bază era
ideea de a face legătura între documente via "hipertext". Hipertext înseamnă, a marca
șirurile de text sau alte obiecte și de a le lega cu alte obiecte, care ar putea fi, din punct
de vedere fizic, la mare distanță de obiectul original. Când legătura este selectată, cineva
poate "sări" la documentul legat. În acest fel este posibil de a lega un număr nelimitat de
documente între ele într -o structură web ne -ierarh ică. Prima versiune a programelor
pentru a naviga pe www, așa numitele "browsere" urmau încă tradiția originală a
Internetului – erau numai text. De aceea, sistemul a rămas, în principiu, neprietenos cu
utilizatorii. În septembrie 1992 nu existau mai mult de 20 de servere web în întreaga
lume. Schimbarea radicală s -a produs când NCSA (National Center for Supercomputing
Applications) din SUA a scos "Mosaic" – Browser în 1993, care era bazat pe o interfață
grafică (Windows). Enorma creștere a web -ului a încep ut virtual, dintr -o dată: În iunie
1993, 130 servere Web erau înregistrate, în 1994 erau deja 11.576 servere. Dar web -ul
nu a făcut doar să se dezvolte. De asemenea, posibilitățile de a prezenta datele au
crescut dramatic. Doar un mic pas mai era necesar p entru a aduce cataloage, directoare
și formulare de comandă pe situri web. Astfel oamenii obișnuiți au început să folosească
Internetul pentru orice se baza pe un suport de comunicare – de la mesaje personale la
tranzacții comerciale, de la scopuri informa ționale până la cumpărături.
Pentru a aborda corect subiectul marketing -ului practicat pe rețeaua rețelelor,
trebuie să facem diferențierea dintre Internet, în totalitatea sa și WWW, ca parte
vizuală a acestuia. În sprijinul acestei afirmații considerăm că opinia lui Tim Berners –
Lee, creatorul WWW -ului, este cea mai elocventă pledoarie:
„O mulțime de programe folosesc Internetul: poșta electronică, spre exemplu, exista
cu mult înaintea sistemului bazat pe hipertext pe care l -am inventat, numit World Wid e
Web. Web -ul este un spațiu virtual de informație. În Internet găsiți calculatoare – în Web
4
găsiți documente, sunete, imagini, animații … într -un cuvânt: informație. În Internet
conexiunile sunt cabluri ce leagă calculatoarele – în Web conexiunile sunt le găturile
hipertext dintre documente (link -urile). Web -ul există datorită programelor care asigură
comunicarea între computerele conectate la Internet. Webul nu poate exista independent
de Net. Raportul între Internet și Web este unul de la parte la întreg, deoarece Web -ul nu
ar fi putut exista fără aportul Internetului. Sunt două sisteme compatibile care
interacționează într -un scop unic, acela de a oferi cât mai multe informații utilizatorului.
Web -ul a făcut Internetul accesibil deoarece oamenii sunt inte resați de informație și nu
prea vor să știe de calculatoarele și cablurile din spatele acestuia ”.
Structura dominantă a WWW -ului este pagina. Mai multe pagini alcătuiesc un
site. Un site 10 web, poate fi definit ca fiind locul virtual prin care o persoa nă sau o
organizație își declină identitatea, își prezintă competențele și își afirmă opțiunile.
Paginile unui site sunt documente multimedia în sistem hipertext care includ texte,
imagini (uneori animate), fișiere sonore sau video. Scopul unui site este de a prezenta
informația în timp real.
Resursele Internet se identifică printr -un URL (Uniform Locator Resource) unic
și sunt organizate pe domenii. Acestea sunt dispuse pe mai multe nivele ierarhice, cele
inferioare adesea cu referire la site -uri web d intr-un domeniu de nivel superior. Cea
mai semnificativă parte a adresei este la sfârșit (domeniile de pe primul nivel ierarhic se
termină în .com, .edu, .gov, .org, care la rândul lor se împart pe arii de folosire, de
exemplu edu.ro, .edu.fr). Există de asemenea și o împărțire a domeniilor pe zone
geografice, acestea făcând parte din primul nivel ierarhic (de exemplu .ro, .de, .fr etc.)
fiecare referindu -se la o anumită țară.
În funcție de mesajul tematic transmis, există mai multe tipuri de site -uri w eb.
De la paginile personale, în care indivizii se exprimă pe ei înșiși pentru a -și găsi
interlocutori similari interesați de aceleași subiecte, până la societăți comerciale care își
vând produsele prin Internet, de la organisme cu caracter nonlucrativ ce -și enunță
public scopurile și până la site -urile prin care se practică învățământul la distanță
diferența de concepere, structură și de realizare a paginilor HTML este evidentă.
5
La început siturile nu erau nici pe departe atât de complexe și încărcate g rafic
cum sunt în prezent, limbajul utilizat – HTML – fiind un limbaj nu prea puternic și
permițând numai o serie limitată de formatări, precum și inserarea de linkuri, pentru a
putea "lega" paginile între ele, designul web fiind, de fapt, mai mult "progra mare" web.
Volumul de date și informații disponibil pe Internet poate fi structurat pe site -uri,
conform Internetics, în patru categorii majore, fiecare cu mai multe subcategorii:
de informații – cuprind acele site -uri care oferă publicului un conținut in formativ
(tot ce se referă la politică, istorie, economie, cultură etc.):
a) media on -line: site -uri de știri și/sau de conținut editorial ;
b) portaluri tematice: site -uri care acoperă cât mai mult un domeniu anume al
cunoașterii și care oferă referinț e și informații pe o temă bine conturată ;
c) portaluri generaliste: site -uri care își propun să ofere un conținut generalist
unui public cât mai diversificat. În general cuprind portaluri „orizontale” cu legături
sau directoare către alte site -uri și pun la dispoziția utilizatorilor servicii diverse;
d) artă și cultură: site -uri de arte vizuale și expresie artistică, teatru, literatură,
muzică, arhitectură care includ elemente de conținut precum cronici, recenzii,
expoziții, galerii, portofolii etc. ;
e) educație: site -uri cu un conținut educațional pentru copii sau adulți, resurse
pentru cadre didactice, cursuri de învățământ la distanță, programe de studiu on –
line sau alte servicii educaționale;
f) activism social: site -uri care promovează o cauză so cială și au ca scop
mobilizarea sau obținerea sprijinului unor categorii de public ;
g) informații de interes public: site -uri ale unor instituții publice care oferă
diverse servicii de informare contribuabililor (informații despre proiecte, hotărâri
legislative ).
de prezentare – scopul acestor site -uri constă în prezentarea unei companii, a
unui produs sau o activitate comercială:
6
a) corporație: site -uri ale unor mari companii cu peste 250 de angajați, având ca
scop prezentarea profilului, istoricului, portofoliului, produselor și serviciilor
acestora;
b) IMM -uri: site -uri ale unor întreprinderi mici și mijlocii cu mai puțin de 250 de
angajați, al căror scop este prezentarea profilului, istoricului, portofoliului,
produselor și serviciilor acestora;
c) brand/produs/eveniment: site -uri al căror scop este să prezinte un brand, un
produs, o gamă unitară de produse sau un eveniment;
de servicii și tranzacții on -line: sunt axate pe vânzarea unui produs sau serviciu
în mediul on -line:
a) servicii on -line: site -uri care pun la dispoziția utilizatorilor, gratuit sau contra
cost, o serie de servicii on -line, precum site -urile de recrutare, întâlniri, albume foto
on-line, înregistrarea domeniului, descărcare etc.;
b) comerț electronic: site -uri al căror scop principal este expunerea și vânzarea
on-line a unor produse sau servicii off -line – magazine virtuale, site -uri de licitații
etc.;
c) servicii financiare: site -uri care au facilități pentru operațiuni bancare on -line,
investiții și tranzacții financ iare;
d) e -guvernare: site -uri ale unor instituții ale administrației publice centrale sau
locale care permit tranzacții on -line (plata taxelor și impozitelor, formulare on -line
de solicitare sau de depunere a unor documente etc.);
de divertisment și com unități on -line – sunt site -uri dedicate jocurilor, hobby –
urilor, sportului, muzicii, umorului etc.:
a) comunități virtuale: site -uri care facilitează interacțiunea și comunicarea on –
line în jurul unor interese și preocupări comune;
b) celebrități și per sonalități: site -uri dedicate unor muzicieni, actori sau actrițe,
simboluri ale culturii, echipe de sport, personalități de televiziune, politicieni etc.,
7
care se adresează comunității de fani sau de suporteri și care pun accentul pe
noutăți, rezultate deosebite, interese sau biografia completă etc.;
c) jocuri on -line: site -uri care permit accesul direct la jocuri on -line mono sau
multi -player, jocuri de orice tip incluzând acțiune, sport, fantezie, cunoștințe, logică
etc.;
d) timp liber: site -uri care oferă variante de petrecere a timpului liber: ghiduri
turistice, ghiduri TV, de cinema, de călătorii etc.;
e) divertisment: site -uri dedicate hobby -urilor, sportului, muzicii, umorului etc.
Prin programele de navigare (Mosaic, Netyscape, Internet explor er), www a
făcut posibil ca un site să pună la dispotiție un număr de pagini de informație complexă
– text, poze, sunet, video, legături între pagini. Prin click pe o legătură, utilizatorul este
transferat la pagina indicată de acea legătură. Paginile sunt organizate în site -uri web,
care sunt de fapt, colecții de documente.
În ultimii ani, Internet -ul a devenit nu doar simbolul tehnologiei de vârf, ci și un
instrument de maximă necesitate. Explozia sa din punct de vedere cantitativ și calitativ
a întrecut tote așteptările, experții în marketing caracterizându -l drept cel mai mare
show al lumii și cea mai mare piață cunoscută vreodată în istoria omenirii.
Analiștii fenomenului Internet consideră că această dezvoltare fără precedent s –
a datorat companiilor particulare care au găsit în această rețea un suport foarte eficient
cu ajutorul căruia au putut să furnizeze informații contra cost, să -și facă cunoscută
oferta de produse și servicii la costuri reduse și, nu în ultimul rând, să realizeze vânzări
on-line. De altfel, tocmai acest ultim avantaj – comerțul electronic – a luat tot mai multă
amploare.
1.2 Funcți onarea Inter netul ui
Comunicația în Internet funcționează după cum urmează: nivelul transport preia
șiruri de date și le divide în datagrame . Fiecare datagramă este transmisă prin Internet,
fiind eventual fragmentată în unități mai mici pe parcurs. Când toate aceste „frag mente”
ajung la destinație ele sunt reasamblate de nivelul rețea în datagrama originală.
8
Datagrama este transparentă nivelului transport, care o inserează în șirul de
intrare al procesului receptor. Cea mai mică adresă este 0.0.0.0, iar cea mai mare
255.2 55.255.255.
Fiecare calculator cuplat la mediului Internet este identificat printr -o adresa
unica, cunoscuta prin asa -numita IP Address, aceasta fiind utilizata la nivelul
programelor de comunicatii in retea.
La nivelul utilizatorilor cu acces la mediul ui Internet, identificarea
calculatoarelor se face printr -un nume de calculator host gestionat de structura DNS.
Evident, protocolul IP realizeaza o corespondenta bijectivă între adresele IP și
numele gestionate de structura DNS.
Structura DNS realizeaza administrarea unor nume prin care se acorda diferite
responsabilitati de grup, fiecare nivel reprezentand un domeniu.
Structura ierarhica generata de domenii si subdomenii este definita in functie de
diferite unitati de organizare sau de diverse domenii d e activitate.
9
Capitolul 2. Stud iu Bibliogra fic
Aplicația a fost realizată în Microsoft Visual Studio 201 5, limbajul de programare
fiind Visual Basic C# și interfața în ASP.NET . Pentru stocarea datelor a fost folosit
Microsoft Sql Server 20 12.
2.1. Platforma .NET
.NET este un cadru (Framework) de dezvoltare software unitar ă care permite
realizarea, distribuirea și rularea aplica țiilor -desktop Windows și aplica țiilor WEB.
Tehnol ogia .NET reunește pune mai multe tehnologii (ASP, XML, OOP, SOAP, WDSL,
UDDI) și limbaje de programare (VB, C++, C#, J#) asigurând totodat ă atât portabilitatea
codului compilat între diferite calculatoare cu sistem Windows, cât și reutilizarea
codului în programe, indiferent de limbajul de programare utilizat.
.NET este o component ă livrat ă împreun ă cu sistemul de operare Windows. Pentru
a dezvolta aplica ții pe platforma .NET sunt necesare 3 componente esen țiale:
un set de limbaje (C#, Visual Basic .NET , J#, Managed C++, Smalltalk, Perl,
Fortran, Cobol, Lisp, Pascal etc),
un set de medii de dezvoltare (Visual Studio .NET, Visio),
o bibliotecă de clase pentru crearea serviciilor Web, aplicațiilor Web și
aplicațiilor desktop Windows.
Pentru dezvoltarea de aplicații .NET, se pot utiliza:
Servere specializate – un set de servere Enterprise .NET (din familia SQL Server
2000, Exchange 2000 etc), care pun la dispozi ție func ții de stocare a bazelor de
date, email, aplica ții B2B (Bussiness to Bussiness – comer ț electronic între
partenerii unei afaceri).
Servicii Web (în special comerciale), utile în aplica ții care necesit ă identificarea
utilizatorilor (de exemplu, .NET Passport – un mod de autentificare folosind un
singur nume ți o parol ă pentru toate ste -urile vizitate) .
10
Servicii incluse pentru dispozitive non -PC (Pocket PC Phone Edition,
Smartphone, Tablet PC, Smart Display, XBox, set -top boxes, etc.)
.NET este construit pe ste familia de servere .NET care cup rinde
următoa rele p roduse:
SQL Server 2000 – server de baze de date;
Exchan ge 2000 – server de me sagerie și group ware;
Com merce Server 2000 – pent ru crearea de infrastructu ri pentru
comerț electronic;
BizTalk 2000 – primul server .NET, de stinat pent ru con strucția de
procese de afaceri care să fie integ rate cu alte p rocese
asemănătoa re prin inte rmediul me sajelor;
Host Integration Server – pent ru int egrarea diverselor sisteme
(inclu siv a main frame-urilor);
Applic ation Cente r 2000 – produs prin care se face managementul
aplic ațiilor web;
Internet Security and Accelaration Server 2000 – pent ru
securitatea și accelerarea aplicațiilor;
Mobile Information Server – pent ru accesarea informațiilo r în
timp real de pe dispozitivele mobile.
Pentru a oferi componente dezvoltatorilor pentru crearea de soluții de tip
servicii web, .NET utilizează o serie de protocoale standard pe Internet: XML, SOAP,
HTTP și TML. Unealta utilizată este Visual Studio.NET. De asemenea trebuie oferite
cadrele de lucru, limbajele și ghidul. Pentru ajutorul construirii acestor servicii.
Toat e acestea sunt integrate în Framework.
11
Microsoft a decis, pe termen lung, să înlocuiască COM cu CLR (CommonLanguage
Runtime), în care s -au incorporat cele mai bune aspecte ale COM, dar s -au omis
aspectele “dureroase” ale scrierii aplicațiilor bazate pe COM .
Cele mai frustrante probleme ale COM sunt:
– interoperabilitatea dintre limbaje;. – instalarea aplicațiilor;
– versiunile de componente;
Noul model de programare introdus de CLR servește pentru a elimina
multedintre detaliile nenecesare sau confuze ale COM p 949j96j rivitoare la scrierea sau
intelegereacodului pentru o aplicație distribuită.
Istoria COM a fost marcată de probleme privind interoperabilitatea
diverselorlimbaje de programare; cu toate că există un anumit grad de
interoperabilitate intrelimb ajele necontrolate (unmanaged), acesta este departe de a fi
ideal. De exemplu,programatorii C++ produc componente DLL care nu pot fi utilizate de
Visual Basicsau limbajele de scripting. Multe din tipurile din C++ sunt desemnate pentru
vectori,pointeri sau alte tipuri care nu sunt practice pentru alte limbaje sau nu se pot
consumaCLR asigura cel mai înalt grad de interoperabilitate, modelul de
programareCLR fiind bazat pe sistemul universal de tipuri (universal type system), în
care fiecare limbaj managed es te așezat deasupra și este mapat la un set de tipuri
standard.
Sistemul de tipuri al CLR definește un set predictibil de tipuri primitive
conținând deexemplu, numere întregi și cu virgulă flotantă. De asemenea, sistemul de
tipuridefineste clasele standard pentru alte tipuri, precum Strâng,Array iar limbajele
.NET oferă cuvinte cheie care sunt mapate direct către tipurile integrate în CLR.
Deexemplu, Visual Basic.NET oferă cuvântul cheie Integer al cărui echivalent în C# este
int, ambele tipuri fiind mapate direct la tipul System.Int32 din CLR. CLR este
îmbunătățit fata de COM prin standardizarea unui set de tipuri care este partajat de
toate limbajele manag ed. De exemplu, sistemul de tipu ri oferă tipu ri int egrate pent ru
unsigned integ er, care sunt supo rtate în înt regime de C#, d ar nu și de Visual Basic.NET.
12
acest lucru po ate în semna faptul că pot e xista dezvolta tori care ca creeze comp onente
care să expună unsigned integ er în manie re impo sibil de util izat în alte limbaje.
Termenul managed (controlat / gestion at) semnifică faptul că un cod sau limbaj
are nevoie de Common Language Runtime pentru a fi executat, spre deosebire de codul
simplu, care nu necesită motorul CLR.
Pentru a preveni situații ca cele de mai sus s -a creat un document numit
Common Language Spe cification (CLS) în care este definit un subset de tipuri și facilitați
CLR pe care componentele și limbajele trebuie să le suporte pentru a interopera cu alte
limbaje managed.
Sistemul de tipuri al CLR se bazează în cea mai mare parte pe moștenire, întreg ul
sistem de tipuri fiind bazat pe o ierarhie de moștenire unică. Toate tipurile uilizate
pentru a crea obiecte derivă în cele din urmă din radacinaSyste,Object. În momentul în
care se creează o clasă fără a se moșteni în mod explicit altă clasă, nouă clas ă creată
moștenește în mod implicit System.Object.
13
2.1.1 Aplicații Web în ASP. NET
ASP.NET este tehnologia Microsoft care permite dezvoltarea de aplicații web
moderne, utilizând platforma Microsoft .NET cu toate beneficiile sale.
În timp ce ASP.NET oferă o sintaxă asemănătoare ASP, ele pun la dispoziție și un
nou model de programare și infrastructura pentru aplicați mai sigure, scalabile și
stabile.ASP.NET este un mediu bazat pe .NET în care se pot dezvolta aplicații în orice
limbaj compatibil .NET (VB.NE T, C#, Perl.NET, etc.) în plus, Framework -ul.NET este
disponibil oricărei aplicații ASP.NET. Printre beneficiile acestei tehnologii se numără:
mediul de execuție controlat, siguranța tipului, moștenire, cache, scheme de
autentificare, etc.
Înainte de descr ierea procesului de realizare a unui site web cu ASP.NET
prezentăm succint modul în care funcționează comunicarea între browser și serverul
web. Acest proces presupune următoarele etape principale:
1. Browserul Web inițiaza o cerere (request) a unei resur se către serverul Web
unde este instalată aplicația dorită.
2. Cererea este trimisă serverului Web folosind protocolul HTTP.
3. Serverul Web procesează cererea.
4. Serverul web trimite un răspuns browserului folosind protocolul HTTP.
5. Browserul proces ează răspunsul în format HTML, afișând pagina web.
6. Utilizatorul poate introduce date, apasă butonul Submit și trimite date înapoi
către server.
7. Serverul Web procesează datele.
8. Se reia de la pasul 4.
Serverul web prime ște cererea (request), ia r apoi trimite un r ăspuns (response)
înapoi c ătre browser, dup ă care conexiunea este închis ă și sunt eliberate resursele
14
folosite pentru procesarea cererii. Acesta este modul de lucru folosit pentru afi șarea
paginilor statice (datele dintr -o pagin ă nu depi nd de alte date din alte pagini sau de alte
acțiuni precedente ale utilizatorului) și nici o informa ție nu este stocat ă pe server.
În cazul paginilor web dinamice, serverul poate s ă proceseze cereri de pagini ce
conțin cod care se execut ă pe server, sau d atele pot fi salvate pe server între dou ă cereri
din partea browserului.
Modelul obiectual al ASP.NET s -a schimbat semnificativ de la ASP [15],
transformându -se într -unul mai structurat și orientat -obiect. Din nefericire pentru
programatorii care utiliza u Active Server Pages, noul model nu este în întregime
compatibil cu versiunea anterioară, aproape fiecare pagină trebuind să fie modificată
pentru a rula sub ASP.NET. În plus, schimbările majore aduse Visual Basic implica faptul
că paginile ASP scrise cu Visual Basic Scripting Edition nu pot fi portate direct în
ASP.NET. De asemenea, accesarea bazelor de date din aplicațiile ASP este o tehnică
frecvență, iar noua versiune ASP.NET aduce, pe lângă îmbunătățiri multiple, și
necesitatea transformării codului e xistent.
Dezvoltatorii pot alege sau combina aplicațiile ASP.NET sub formă de formulare
web și /sau servicii web. Astfel, formularele web permit construirea de pagini de web
bazate pe formulare care conțin elemente simple care pot fi programate pentru anu mite
sarcini. Serviciile web bazate pe XML oferă mijloacele de acces la funcționalitatea unor
servere la distanță prin care se pot expune interfețe de programare pentru accesul la
datele sau logică unei afaceri, toate acestea prin protocoalele standard HTT P și XML. În
plus, serviciile web nu sunt legate de o anumită componenta tehnologică sau o
convenție de apelare a obiectelor.
15
2.1.2. Structura unei aplicații web în ASP.NET
O aplicație este formată din patru componente:
un assembly manifest ce conține informații despre assembly precum
versiunea, cultura, fișierele componente, semnătura digitală etc.;
cod Intermediate Language;
tabele de metadata
resurse.
Aceste componente se regăsesc într -unul sau mai multe module. Pentru fișiere
executabile există întotdeauna un modul principal, care conține punctul de intrare al
aplicației. De menționat că, cu toate că modulele conțin cod ÎL și metadata, ele nu pot fi
executate independent, în afara contextului assembly -ului. Pentru majoritatea
aplicațiilor, este s uficient un singur modul. Platforma permite executarea aplicațiilor ce
mențin module pe alte calculatoare, modulele fiind copiate pe calculatorul pe care
rulează aplicația doar în momentul în care sunt referite – în această situație, pentru un
assembly de dimensiuni mari, este indicată de folosirea modulelor multiple.
Desigur, o aplicație poate apela cod dintr -un assembly extern – la fel cum o
aplicație pentru platformă Windows poate apela funcții din bibliotecile sistemului său,
biblioteci sc rise de utili zatori.
Într-o aplicație web realizată cu ASP .NET vom avea următoarele tipuri de fișiere
și directoare importante:
Fișiere cu extensia .aspx reprezintă locul unde este stocat conținutul paginii web.
Se pot adăuga elemente HMTL, javascript, controale ASP .NET server -side.
Fișierele cu extensia .cs reprezintă codul ce se va executa pe server. Se poate scrie
cod C# sau Visual Basic. Se pot defini variabile, funcții, clase, etc.
16
Fișierul web.config este un fișier de configurare unde este stocată informația
referitoare la aplicația web. În acest fișier se pot defini mai multe proprietăți ale
aplicației. De exemplu, putem defini string -ul de conectare la baza de date pentru a -l
putea folosi in orice pagină, sau putem modifica limita mărimii fișierelor upload -ate.
Fișierul Global.asax este opțional și se poate folosi pentru a manipula anumite
evenimente cum ar fi Application_Start, Application_End, Session_Start, Session_End
Directorul BIN este folosit pentru a stoca diverse fișiere dll folosite ca și
componente s au controale în aplicație.
Directorul App_Code conține cod ce se va compila și va fi vizibil în orice pagină a
aplicației web. Se pot stoca aici de exemplu diverse clase.
Directorul App_Data conține fișiere mdf specifice bazelor de date SQL sau Access
2.1.3 Configurația ASP.NET
Facilitățile de configurație ale ASP.NET sunt conținute într -o infrastructură
extensibilă care permite dezvoltatorilor să definească setări de configurație la prima
instalare a aplicațiilor, astfel încât pot fi adăugate sau modif icate setările curente în
orice moment, cu un impact minimal asupra aplicațiilor Web operaționale sau
serverelor.
Sistemul de configurație al ASP.NET presupune următoarele :
– informația pentru configurație este stocată în fișiere text într -un format baza t
pe XML care se poate modifica fie manual, fie utilizând un editor /parser XML standard;
– fiecare director sau aplicație poate avea propriul fișier de configurare numit
web.config, configurație care se aplică directorului curent și subdirectoarelor acest uia.
De asemenea, configurația aflată în fișierele din subdirectoare poate moșteni
configurația din directorul părinte sau o poate suprascrie.
17
Fișierul general de configurație numit machine.config care se afla în directorul:
WinNTMicrosoft.NETFrameworkver siuneconfig conține setările pentru întregul server
de web.
În momentul execuției, ASP.NET utilizează configurația din fișierele de
configurații pentru a calcula o colecție de setări de configurație pentru fiecare resursă
URL, aceste setări fiind păstrate pentru toate cererile următoare la resursa respectivă.
ASP.NET detectează schimbările în fișierele de configurație și aplică în mod
automat noile setări resurselor afectate fără ca serverul web să fie repornit pentru că
schimbările să intre în vigoare.
Pe lângă setările existente, se pot adăuga noi parametrii de securitate și se pot
scrie proceduri pentru manipularea acestora. Setările sunt protejate de accesul din
exterior prin configurarea IIS astfel încât nu este permis accesul la aceste fișiere.
18
2.2 Limbajul C#
C# este un limbaj de programare care combin ă facilit ăți testate de -a lungul
timpului cu inova ții de ultim moment.
Deși limbajul este creat de Microsoft, acesta nu este destinat doar platformelor
Microsoft. Compilatoare C# exist ă și pentru alt e sisteme precum Linux sau Macintosh.
Creat ca instrument de dezvoltare pentru arhitectura .NET, limbajul ofer ă o
modalitate facil ă și eficient ă de a scrie programe pentru sistemul Windows, internet,
componente software etc.
C# deriv ă din doua dintre cel e mai de succes limbaje de programare: C și C++.
De la C, C# preia sintaxa, multe din cuvintele cheie și operatorii. De asemenea, C#
construiește peste modelul de obiecte definit în C++.
C# dispune de facilități care implementează direct elementele care alcătuiesc
componentele software, cum ar fi proprietățile, metodele și evenimentele. Poate cea
mai importantă facilitate de care dispune C# este posibilitatea de a lucra într -un mediu
cu limbaj mixt.
C# este un limbaj simplu, cu circa 80 de cuvinte cheie, și 12 tipuri de date
predefinite. El permite programarea structurat ă, modular ă și orientat ă obiectual,
conform perceptelor moderne ale program ării profesioniste.
Toate limbajele programării orientate obiect au patru caracteristici comune, și
anume: încaps ularea, polimorfismul, moștenirea și reutilizarea.
Încapsularea este un mecanism care combină codul și datele pe care le
manipulează, menținând integritatea acestora față de interferența cu lumea exterioară.
Polimorfismul este calitatea care permite unei interfețe să aibă acces la un grup
generic de acțiuni. Conceptul de polimorfism este exprimat prin sintagma “o singură
interfață mai mlte metode”.
19
Moștenirea este procesul prin care un obiect poate dobândi caracteristicile altui
obiect. Mecanismul moșten irii este cel care face posibil ca un obiect să fie o instanță a
unui caz mai general.
Reutilizarea Atunci când este creată o clasă, aceasta poate fi utilizată pentru a
crea o multime de obiecte. Prin utilizarea moștenirii și încapsulării, clasa respectiv ă
poate fi reutilizată. Nu mai este nevoie să se testeze codul respectiv, acesta poate fi
utilizat corect.
2.2.1 Crearea aplicațiil or consolă
Pentru a realiza aplicații consolă (ca și cele din Borland Pascal sau Borland C) în
mediul de dezvoltare Visua l Studio, trebuie să instalăm o versiune a acestuia, eventual
mediul free Microsoft Visual C# 2008 Express Edition de la adresa
http://www.microsoft.com/express/download/
După lansarea aplicației , din meniul File se alege opțiunea NewProject apoi
alegem ConsoleApplication, modificând numele aplicației în caseta Name.
Figura 2.2.1 Console Aplication
20
Când se crează o aplicație consolă, se generează un fișier cu extensia .cs. Extensia
cs provine de la C Sharp. Redenumirea lui se poate realiza din fereastra Solution
Explorer, care se poate afișa cu ajutorul combinației de taste Ctrl+W, sau din meniul
View.
Codul sursă generat este:
using Syste m;
using Syste m. Collections.Generic ;
using Syste m.Linq;
using Syste m.Text;
namesp ace Console Appl ication1
{ class Progr am
{
static void Main (string[] args)
{
}
}
}
Se completează funcția Main cu următoarea linie de program:
Console.WriteLine("Hello World!");
Se observă că scrierea programului este asi stată de IntelliSense, ajutorul contextual.
Pentru compilarea programului, se selectează Build din meniul principal sau
prin apăsarea tastei F6.
În cazul în care sunt erori, acestea sunt afișate în fereastra Error List. Efectuând
dublu -clic pe fiecare eroare în parte, cursorul din program se poziționează pe linia
conținând eroarea.
Rularea programului se poate realiza în mai multe moduri:
– rulare pas cu pas (Step Into F11 și Step Over F10)
21
– rapid fără asistență de depanare (Start Without Debu gging Ctrl+F5)
– rapid cu asistență de depanare (Start Debugging F5 sau cu butonul din
bara de instrumente)
Toate opțiunile și rulare și depanare se găsesc în meniul Debug al mediului de
programare.
Limbajul C# are un alfabet format din litere mari și mici ale alfabetului englez, cifre și
alte semne. Vocabularul limbajului este format din acele 4 „simboluri” cu semnificații
lexicale în scrierea programelor: cuvinte (nume), expresii, separatori, delimitatori și
comentarii.
Figura 2.2.2 Scrierea p rogramului
Programul completat va arăta așa:
using Syste m;
using Syste m.Collections.Generic;
using Syste m.Linq;
using Syste m.Text;
namesp ace ConsoleAppl ication1
{
class Progr am
{
static void Main (strâng[] args)
22
{
Console.Writ eLine(“Hello World! ”);
}
}
}
Primele 4 linii de cod sunt o directivă care specifică faptul că se vor folosi clase
incluse în spațiul de nume.
Linia 6: numele atribuit proiectului;
linia 8: orice program C# este alcătuit din una sau mai multe clase linia 10:
metoda Main, „pu nctul de intrare” în program
linia 12: clasa Console, amintită mai sus, este folosită pentru operațiile de
intrare/ieșire.Aici se apelează metoda WriteLine din această clasă, pentru afișarea
mesajului dorit pe ecran.
În cazul nostru mesajul este următoru l:
Figura 2.2.3 Prezent area programului
23
2.3 Baze de date
Utilizarea calculatoarelor electronice în activitatea practică din organizații impune
elaborarea unor sisteme informatice în conformitate cu cerințele solicitate de
utilizatorii lor . Aplicațiile informatice din domeniul economic au de regulă un volum
relativ mare de date, care se organizează cel mai bine în baze de date.
Baza de date poate fi definită ca o colecție de date, referitoare la un domeniu de
activitate particular, în care proprietățile datelor precum și relațiile semantice dintre
date sunt specificate utilizând concepte propuse de un anumit model.
Un model se poate defini ca o reprezentare abstractă a informației și, eventual, a
operatorilor pentru manipularea informației .
Conceptul de model de date este esențial, opțiunea pentru o anume bază de date
fiind făcută pornind de la modelul care va sta la baza ei. În literatura de specialitate
există mai multe definiții date bazei de date, fiecare definiție evidențiind anumite
elemente, astfel:
– C. Delobel a definit baza de date drept un „ansamblu structurat de date
înregistrate pe suporturi accesibile calculatorului pentru a satisface simultan mai mulți
utilizatori de o manieră selectivă și într -un timp oportun”.
– G. Garda rin precizează: „pentru ca un ansamblu de date independente să fie o
bază de date, trebuie să fie interogabile prin conținut, după orice criteriu precum și să
fie posibilă regăsirea structurii datelor”.
În timp au fost definite mai multe modele de date ca re au reprezentat punctul de
pornire în organizarea bazelor de date , dintre care a mintim :
– modelul ierarhic;
– modelul rețea;
– modelul relațional;
– modelul relațional -obiectual;
– modelul orientat obiect.
Gestiunea și accesul la baza de date sunt a sigurate de un ansamblu de programe
care formează sistemul de gestiune al bazei de date (SGBD) .
24
Sistemul de gestiune al bazei de date se definește ca un instrument de asamblare,
codificare, aranjare, protecție și regăsire a datelor în bazele de date. În a celași timp,
SGBD mai poate fi definit ca un ansamblu de programe speciale cu ajutorul cărora se
creează, actualizează, interoghează și protejează o bază de date.
Principalele avantaje oferite de SGBD pot fi sintetizate astfel:
– independența datelor: apli cațiile nu sunt afectate de detalii, și implicit
modificările, de reprezentare și stocare a datelor;
– coerența datelor prin implementarea unor reguli explicite sau implicite
(restricții de integritate) pe care datele trebuie să le respecte de -a lungul
evol uției lor;
– asigurarea gestiunii tranzacțiilor: o tranzacție este o secvență atomică de
acțiuni asupra bazei de date (citire/scriere). O tranzacție executată asigură
aducerea bazei de date într -o stare consistentă. După orice modificare în baza
de date sun t verificate toate regulile de coerență asupra tuturor datelor;
– asigurarea confidențialității datelor: fiecare utilizator cu drept de acces la baza
de date are definite anumite drepturi;
– limitarea redundanței datelor (dublarea memorării unor date este co ntrolată);
– acces eficient la date: SGBD -ul utilizează metode sofisticate de stocare și acces
la date asigurând optimizarea accesului la date;
– integritatea și securitatea datelor asigurate prin implementarea restricțiilor de
integritate și a controalelor de acces la date;
– acces concurent la date;
– stochează un volum mare de date;
– oferă facilități de gestiune a meta -datelor prin intermediul dicționarului de
date. Meta -datele privesc datele referitoare la: schema bazei de date (în cazul
SGBDurilor relațion ale spre exemplu privesc relații, atribute, restricții, view –
uri), viewuri, utilizatori (identificarea și drepturile utilizatorilor) și sistemul în
ansamblu (informații statistice);
– timp redus pentru realizarea aplicațiilor;
25
– administrarea uniformă a date lor asigurată de către administratorul bazei de
date;
– recuperarea și restaurarea datelor: SGBD -ul oferă facilități de restaurare a
bazei de date în cazul afectării parțiale sau totale a conținutului acesteia.
SGBD -ul trebuie să asigure două funcții de b ază și anume: descrierea bazei de date
și manipularea bazei de date.
Descrierea bazei de date se realizează prin intermediul limbajului de descriere a
datelor (LDD).
Manipularea bazei de date se realizează prin intermediul limbajului de manipulare
a date lor (LMD) care dispune de două componente: limbajul de interogare și limbajul
de actualizare a bazei de date.
2.1. Constituirea bazelor de date
O bază de date reprezintă o colecție integrată și structurată de date operaționale
înmagazinate pe un mediu de stocare. Scopul unei baze de date este acela de a
înmagazina datele în așa fel încât să se poată obține informația dorită în orice moment.
Informațiile, spre deosebire de date, au un caracter dinamic în sensul că ele se modifică
în funcție de datele înmaga zinate în baza de date, dar și în sensul că ele pot fi procesate
și prezentate în diverse feluri.
Organizarea datelor ocupa un loc important în proiectarea sistemelor informatice.
De modul în care sunt organizate datele depinde eficiența sistemului inform atic.
Organizarea datelor presupune parcurgerea următoarelor etape:
– definirea, structurarea și gruparea datelor în colecții de date omogene;
– stabilirea legăturilor (relațiilor) între date, între elementele unei
colecții, între colecțiile de date;
– reprez entarea (stocarea) lor pe suport informațional, prealabil într -un
sistem de calcul.
26
Scopul organizării datelor îl constituie regăsirea automată a datelor după diverse
criterii și forme , care să asigure :
– acces rapid la date: timpul de acces la datele organi zate pe diferite suporturi
de date să fie minim ;
– economie de memorie internă și externă: spațiul de memorie internă și
externă ocupat de date să fie cât mai redus . Se urmărește ca pe un spațiu de
memorie cât mai mic să se introducă un volum cât mai mare d e date;
– unicitatea datelor: datele să apară o singură dată în sistem. Totuși, uneori,
pentru realizarea unui acces mai rapid la date, se impune acceptarea unei
redundanțe minime a datelor;
– interdependența datelor: în sistemul de organizare a datelor să se reflecte, pe
cât posibil, toate legăturile dintre obiectele, fenomenele, procesele economice
pe care aceste date le reprezintă;
– flexibilitatea datelor: să permită schimbarea structurii datelor și a relațiilor
dintre ele fără a modifica programele ce le ges tionează.
a) Organizarea datelor utilizează trei concepte de bază: entitate, atribut, valoare.
Ele au fost introduse în literatura de specialitate odată cu apariția bazelor de date.
Aceste concepte sunt legate între ele: o entitate are mai multe atribute, iar atributelor li
se asociază o mulțime de valori.
Prin entitate se înțelege un obiect – concret sau abstract – reprezentat prin
proprietățile sale. Proprietatea unui obiect poate fi exprimată printr -o pereche –
ATRIBUT, VALOARE.
Noțiunea da atribut este cunoscută și sub denumirea de câmp, caracteristică.
Fiecare atribut este caracterizat de natura valorilor pe care le poate lua. Astfel, un
atribut este de tip numeric, dacă valorile sale sunt numerice, este de tip alfanumeric ,
dacă valorile sale sunt șiru ri de caractere, etc. În general, un atribut are valori
elementare, dar pot exista și situații de atribute compuse (formate prin concatenarea
mai multor atribute). Pot fi atribute ce identifică în mod unic o entitate, ele numindu -se
27
atribute cheie sau pot fi atribute ce nu identifică unic o entitate și se numesc atribute
non-cheie.
Din punct de vedere logic, o dată se definește prin: identificator, atribut și
valoare.
Din punct de vedere fizic, unei date îi corespunde o zonă de memorie de o
anumită mărime, situată la o adresă absolută.
b) Baze de date: Conceptul de bază de date poate fi definit ca fiind una sau mai
multe colecții de date aflate în interdependență, împreună cu descrierea datelor și a
relațiilor dintre ele.
O ba ză de date astfel de finită trebuie să îndeplin ească următoarele condiți i:
– să asigure o independență sporită a datelor față de programe și
invers;
– structura bazei de date trebuie astfel concepută încât să asigure
informațiile necesare și suficiente pentru cerințele de informare și
decizie;
– să se asigure o redundanță minimă și controlată a datelor;
– să permită accesul rapid la informațiile stocate în baza de date.
Bazele de date sunt extrem de variate. În funcție de criteriile luate în
considerare, acestea se clasifică astfel:
a) după orie ntare: generalizate, specializate;
b) după modelul de date: ierarhice, rețele, relaționale, orientate
obiect;
c) după amploare geografică: locale, distribuite;
d) după limbajele utilizate: autonome (limbaje proprii), cu limbaj
gazdă, mixte;
Pentru a construi o bază de date un utilizator trebuie să:
– definească schema bazei de date;
28
– aplice o colecție de operatori pentru a crea, înmagazina, extrage și
modifica datele.
Arhitectura bazelor de date evidențiază componentele acestora și a fost
standardizată internațional. O astfel de arhitectură generală cuprinde următoarele
componente:
baza de date propriu -zisă în care se memorează colecția de date;
sistemul de gestiune al bazei de date, care este un ansamblu de programe
(soft) care realizează gestiunea și prelucrarea comp lexă a datelor;
un set de proceduri manuale și autonome, precum și reglementările
administrative, destinate bunei funcționări a întregului sistem;
un dicționar de date (metabaza de date), ce conține informații despre
date, structura acestora, elementele de descriere a semanticii, statistici,
documentație;
mijloacele hard utilizate (comune, specializate etc);
personalul implicat: (categori de utilizatori: finali – einformaticieni); de
specialitate (administrator), analiști – programatori, gestionari,
operato ri);
Arhitectura bazei de date dă o imagine despre modul general de organizare și
funcționare a ei.
c) Gestiunea bazelor de date
Un sistem de gestiune al bazelor de date obișnuit trebuie să ofere o serie de
instrumente care să ușureze activitățile specifi cate anterior. În acest sens au fost
dezvoltate o serie de versiuni ale limbajelor relaționale, cum ar fi SQL (Structured
Query Language), QBE (Query -By-Example) și QUEL (Query Language).
SQL (de la numele englez Structured Query Language – limbaj de inter ogare
structurat) este un limbaj de programare specific pentru manipularea datelor în
sistemele de manipulare a bazelor de date relaționale (RDBMS), iar la origine este un
limbaj bazat pe algebra relațională. Acesta are ca scop inserarea datelor, interogaț ii,
29
actualizare și ștergere, modificarea și crearea schemelor, precum și controlul accesului
la date.
A devenit un standard în domeniu (standardizat ANSI -ISO), fiind cel mai popular
limbaj utilizat pentru crearea, modificarea, reg ăsirea și manipularea datelor de către
SGBD -urile (Sistemele de Gestiune a Bazelor de Date) relaționale.
Pe lângă versiunile standardizate ale limbajului, există o mulțime de dialecte și
variante, unele proprietare, fiind specifice anumitor SGBD -uri și de asemenea conținând
extensii pentru a suporta SBD -urile (Sistemele de Baze de Date) obiectuale (obiectual –
relaționale).
SQL permite atât accesul la conținutul bazelor de date, cât și la structura
acestora.
SQL , ca l imbaj standard relațional al bazei de dat e, are următoarele componente:
– un limbaj de definire a datelor (Data Definition Language – DDL), utilizat la
definirea schemei bazei de date
– un limbaj de manipulare a datelor (Data Manipulation Language – DML),
care permite utilizatorului manipularea obie ctelor bazei de date și a relațiilor
dintre acestea, în contextul schemei bazei de date.
Aceste limbaje pot diferi de la un producător la altul în cadrul modelului pe care
aceștia îl folosesc datorită aspectelor legate de complexitate, funcționalitate și u șurința
în exploatare (interfața utilizator). De multe ori aceste limbaje sunt denumite
sublimbaje de date deoarece nu includ construcții pentru toate necesitățile de calcul
cum sunt cele asigurate de limbajele de nivel înalt. Majoritatea sistemelor de ges tiune a
bazelor de date au încorporat sublimbajul într -un limbaj de programare de nivel înalt
(ex. C++). În acest caz limbajul de nivel înalt este numit limbaj gazdă.
Pentru că există o standardizare a limbajului SQL, multe SGBD (Oracle, Access,
Sybase) r ecunosc principalele instrucțiuni ale acestuia.
Instrucțiunile SQL pot fi grupate în:
– instrucțiuni de definire a datelor, care permit descrierea structurii BD
30
– instrucțiuni de manipulate a datelor: adaugă, șterge, modifică
înregistrări
– instrucțiuni de sel ecție a datelor, care permit consultarea BD
– instrucțiuni de procesare a tranzacțiilor
– instrucțiuni de control al cursorului
– instrucțiuni pivind controlul accesului la date
Comenzile pentru definirea datelor fac parte din modulul corespunzător
componente i DDL din SGBD. Totuși, în majoritatea implementărilor SQL comenzile de
definire a datelor sunt prelucrate de același interpretor care rezolvă și interogările și
operațiile de manipulare a datelor. Componentele DML și DDL ale SGBD sunt
implementate în acel ași modul software.
Foarte utile în exploatarea unei BD, instrucțiuni le de manipulare a datelor se
implementează prin interogările de acțiune. Este necesară o mare precauție în
utilizarea lor deoarece acțiunile sunt ireversibile, putând influiența inclusiv integritatea
referențială a BD. Cele mai importante sunt: CREATE, INSERT, UPDATE și DELETE.
Instrucțiunile de selecție reprezintă una din categoriile cele mai importante ale
limbajului SQL ACCESS. Indiferent dacă sunt cereri simple sau complexe, cuvântul cheie
este SELECT.
Cea mai uzuală formă de SQL folosită într -un program aplicativ, este Embedded
SQL (SQL încapsulat). Folosește ceea ce se numește static SQL (SQL static), ceea ce
înseamnă că instrucțiunea SQL este compilată în cadrul aplicației și nu poa te fi
schimbată în timpul execuției programului.
Standardul ANSI 1992 (SQL -92) se caracterizează prin multe facilități incluse,
precum:
– Joncțiunea externă (outer join)
– Modificarea schemei bazei de date (alter, drop, grant, revoke)
– Modificări și șterger i referențiale în cascadă
– Amânarea verificării restricțiilor
– Niveluri de consistență a tranzacțiilor.
31
In 1999 a fost publicat un standard SQL – 3 care iese din sfera relaționalului și a
normalizării relațiilor, așa cum au fost formulate de Codd.
Princi palele orientări ale limbajului SQL – 3 vizează transformarea acestuia într –
un limbaj complet, în vederea definirii și gestionării obiectelor complexe și persistente.
Astfel, au fost introduse:
– Moșteniri multiple, polimorfismul, încapsularea, caracteristi ci
preluate din limbajele orientate pe obiecte
– Tipuri de date definite de utilizator
– Suport pentru sisteme bazate pe gestiunea cunoștințelor
– Interogări recursive
– Instrumente de administrare a datelor.
Tipurile de date definite în standardul SQL – 92 su nt următoarele:
SMALLINT pentru numere întregi scurte; ocupă 4 poziții reprezentate pe 16
biți
INTEGER sau INT pentru numere întregi (9 poziții reprezentate pe 32 biți)
NUMERIC (p, s) sau DECIMAL (p, s) sau DEC (p, s) pentru memorarea datelor
reale, cu un total de p poziții, dintre care s la partea fracționară
FLOAT pentru date reale reprezentate în virgulă mobilă (20 poziții pentru
mantisă)
REAL pentru date reale exprimate în virgulă mobilă, cu precizie mai mică
decât FLOAT, dar la nivelul de intrare fi ind identice)
DOUBLE PRECISION pentru date reale exprimate în virgulă mobilă, în dublă
precizie (30 poziții pentru mantisă)
CHAR(n) sau CHARACTER(n) pentru date de tip șir de caractere de lungime n
(maxim 240)
VARCHAR(n) sau CHAR VARYING(n) sau CHARACTE R VARYING(n) pentru
date de tip șir de caractere de lungime variabilă, maxim 254 caractere
DATE pentru dată calendaristică
TIME pentru oră
TIMESTAMP pentru an, luna, zi, oră, minut, secundă, fracțiuni de secundă.
32
Principalele tipuri de date folosite în Visual FoxPro sunt: CHARACTER(n) sau
C(n), LOGICAL sau L, NUMBER(p,s) sau N(p,s), INTEGER sau I, DOUBLE, DATE sau D,
DATETIME .
d) Serv erul de baze de date Microsoft SQL
Microsoft SQL Server este un sistem de gestionare de baze de date relaționale
(RDBMS) produs de compania americană Microsoft Corp . Limbajul de interogare este
SQL iar extensia procedurală este T -SQL sau Transact -SQL, o implementare de SQL -92
(standardul ISO pentru SQL) cu unele extensii. T -SQL în principal adaugă sintaxă
adițională pentru procedurile stocate și pentru tranzacții. St andardele SQL necesită
ACID; acesta este un acronim pentru cele 4 condiții ce trebuie îndeplinite de orice
tranzacție: atomicitate, consistență, izolare, durabilitate. MS SQL Server suportă ODBC
(Open Database Connectivity).
Suportă versiunea companiei Mic rosoft de SQL (Structured Query Language –
limbaj structurat de interogări), cel mai răspândit limbaj pentru bazele de date. Este un
sistem pentru întreprinderi – se poate aplica bazelor de date de dimensiuni foarte mari.
Stocarea datelor se face pe modelul relațional, sub forma unei colecții de tabele
cu rânduri și coloane. Fiecare coloană este de un anumit tip: SQL Server suportă atât
tipurile primare, precum întreg, zecimal, caracter, dată calend aristică, dar și tipuri mai
complexe precum text, date binare, date geometrice, date spațiale, XML, etc.
Utilizarea Microsoft SQL, presupune utilizarea a două programe, deoarece
Microsoft SQL operează folosind o arhitectură client/server:
Figura 2.3.1 Microsoft SQL
33
• Serverul de baze de date este localizat în calculator, unde sunt stocate datele
dumneavoastră. Acesta ascultă cererile clienților care sosesc prin rețea și obține acces
la conținutul bazei de date în funcție de aceste cereri, pentr u a furniza clienților
informațiile pe care le solicită.
• Clienții sunt programe care se conectează la serverul de baze de date și emit
interogări pentru a -i indica acestuia informațiile pe care le doresc.
Arhitectura client/server din Microsoft SQL are anumite avantaje: Serverul
asigură controlul concurenței, pentru că doi utilizatori să nu poată modifica aceeași
înregistrare simultan. Toate cererile clienților trec prin server, deci serverul determină
clientul care execută o operație anume și când o exe cută. Dacă mai mulți clienți doresc
simultan accesul la același tabel, ei nu sunt obligați să se găsească și să negocieze unii cu
alții. Ei trimit cererile la server și îl lasă pe acesta să se ocupe de determinarea ordinii în
care vor fi onorate cererile.
Pentru a r ealiza o bază de date Microsoft SQL , se parcurg următorii pași:
Se deschide Programs (Microsoft SQL Server (Enterprise Manager
Click dreapta pe Database (New Database
Se introduce numele bazei de date.
Pentru creearea de tabele, se selectează b aza de date în se crează o tabelă,
facem click dreapta pe Tables(New Table… și introducem capetele de
tabel dorite.
34
3 Analiz a, proiectare, impl ementare , testare
3.1 Ana liza
Pentru a putea crea un magazine online prima data trebuie sa vedem ce este
acela magazine onlin e si care este scopul acestuia.Un magazine online este un website,
de diferite dimensiuni, in care proprietarul pune la dispozitia vizitatorilor o gama
variata de produse cu scopul commercial. In marea majoritate a cazurilor magazinele
online sunt platform in care sunt adaugate produse. Aceste produse pot fii accesate in
mod gratuity, iar cumpararea acestora se face prin diferite metode de plata precum:
card de credit, plata la ridicarea produsului, ordin de plata etc.
Scopul unui astfel de magazine este pr ezentarea si vinderea de produse. Orice
persoana poate sa realizeze un astfel de magazine datorita platformelor e -commerce.
Marea majoritate a comerciantilor care au sute de mii de produse creaza in cadrul
companiei department specializat in dezvoltarea, c rearea si testarea aplicatiilor web.
Un astfel de comercian care are propriul sau department de it este emag.ro.
Componenta unui magazine online.
La o prima vedere un magazine online contine 2 mari parti. Prima parte si cea mai
importanta este cea care f ace legatura intre magazinul online si vizitator. Aceasta
contine cateva module generice precum catalog de produse, cont client, dar poate sa
contina si module mai specific precum:
-filtre, care ne sunt utile in cautarea unui tip de produs care se destinge de restul
prin anumite specificatii
– modul de limbi care, printr -o simpla selectare a unei optiuni din magazine
traduce tot magazinul in limba selectata. Acest modul este util in cazul in care
comerciantul face comert international.
– modul de caracteris tici care permite afisarea de caracteristici specific pentru
fiecare produs in parte
-produse compatibile. Modul care informeaza cumparatorul despre anumite
produse care sunt compatibile cu produsul selectat. De exemplu am achizitionat o tablet
si dorim sa achizitionam si o husa pentru a proteja tablet. In modulul de produse
compatibile ar trebuii sa apara , pe langa alte produse, si husa pentru tableta x.
– bannere dinamice modul care poate indruma cumparatorul spre anumite
produse.Un astfel de modul se fo loseste pentru a atrage clientii inspre produse cu
reducere sau inspre produse nou aparute.
35
-produse similar, modul care informeaza cumparatotul despre anumite produse
care sunt similar cu produsul current. Spre exemplu se cauta o husa pentru tablet x. In
momentul in care vizitatorul acceseaza produsul pentru tablet x, sub acest produs, se
pot gasii alte huse avand alte preturi dar care sa fie compatibile cu tablet x.
-newsletter, modul care tine la current vizitatorii magazinului in legatura cu
ultimele p roduse adaugate sau cu campaniile de reduceri.
-plus multe alte module customizate pentru nevoile vizitatorilor
Partea a doua a magazinului, care este adresata doar administratorilor , este
partea de administrare a magazinului. Partea de administrare ofera posibilitatea de
adaugare, editare si stergere de produse, categorii de produse si pagini din site. Cu cat
partea de administrare este mai complexa cu atat se pot modifica mai multe aspect.
Gradul de complexitate maxim este atins in momentul in care un u tilizator poate
modifica designeul magazinului doar prin cateva clickuri si procedure de tipul drag and
drop.
3.2 Detalii tehnice si modul de implementare al magazine
Acest magazine a fost implementat folosid tehnoloigii Microsotf. Ca mediu de
programare sa ut ilizat Microsoft Vizual Studio 2015. Limbajul de programare utilizat
este .net cu c#. Pentru stocarea datelor a fost folosit SQL Server 2012.
Arhitectura proiectului este impartita pe doua layere. Primul layer este intitulat
BLL (Business Logic Layer) si a cesta contine setarile pentru partea de server.
Figura 3.2.1 Business Logic Layer
36
Dupa cum se poate observa si in figura 3.2.1 primul folder este “Cache”. Metoda
cache este implementata din necesitatea efienticizarii performantelor siteului. Fisierele
de tip CSS pot ajunge la dimensiuni importante iar downloadarea lor la fiecare request
pot face ca un site sa se incarce mult mai greu. Ideea din spatele implementarii acestui
cahce consta in downladarea fisierelor de tip CSS si memorarea acestora in cach e-ul
clientului. In momentul in care un nou request este cerut fisierele de tip css nu se vor
mai downlada ci vor fii incarcate direct din cache -ul clientului, asta in conditiile in care
nu sunt modificari la css pe server.
In cel de -al doilea folder si an ume “Config” sunt implementate functii care preiau
datele din web.config. Functii precum conexiunea cu baza de date, adrese de email, si
absolut tot ce exista in web.config.
Unul dintre cele mai importante foldere este “Store”. In acest folder pe langa
entity framework se mai afla sic lase care contin metode CRUD pentru operatiunile pe
baza de date. Componenta folderului si entitatile din entity framework se pot vedea in
figura 3.2.2.
37
Figura 3.2.2 Entitatile din framework si legaturile dintre entitati
Cel de -al doilea layer, si anume SIR, contine partea de client a aplicatiei.Printre
multe component aici puteti regasi MasterPageul aplicatiei. Acest master page permite
crearea de continut cu un asptect consistent pentru paginile din aplicatie. Definind
aspectul si comportamentul standard pentru un grup de pagini din aplicatie. Practic
acest master page este un template pentru intreaga aplicatie. Ce se modifica in acest
template este doar continutul.
Folderul “Store” contine toate controalarele create inte ractiunea dintre vizitator
si magazine. In acest folder se pot regasi metode de autentificare pentru client, istoricul
cumparaturilor, paginile magazinului si multe alte component ale acestuia.
Folderul “Handlers” contine metodele de redimensionare si de a fisare a
imaginilor in site.
Folderul Account contine partea administrative a siteului. In acest folder se pot
crea mai multe subfoldere in cazul in care sunt mai multe tipuri de useri care au acces la
administrarea siteului. Momentan avem doar un singur t ip de user care este
administratorul, dar in cazul in care dimensiunile magazinului se maresc acesta nu v -a
mai putea intretine toata activitatea de unul singur si are nevoie de personae
specializate care sa se ocupe de anumite parti ale siteului. In acest caz se creaza
controlee custom pentru aceste nevoi. Spre exemplu avem nevoie de un specialist seo
care sa optimizeze pagini si produse dar nu vrem ca acesta sa vada comenzile. In acest
caz se creaza controlee custom pentru acest specialist seo. Structura layerului SIR se
poate observa in figura 3.2.3.
Figura 3.2.1 SIR Layer
38
3.3 Interfata aplicatiei
In momentul in care s -a realizat interfata magazinului , cel mai important aspect
al acesteia a fost sa fie cat mai prietenoasa cu utilizatorul si sa nu fie foart e incarcata. In
fugura 5. 3.1 este prezentata pagina de home a magazinului.
Figura 3.3.1 Home
In partea stanga sus se poate observa logoul , iar in partea dreapta se poate
observa meniul siteului. Meniul este unul dinamic in care administratorul siteului poate
adauga in orice moment o noua pagina in site. Aceasta implementare a fost necesara
pentru a crea un magazine cat mai dinamic posibil si pentru a aduce o independent
administratorului. Daca acesta doreste o noua pagina nu mai este necesar contactarea
firmei care a realizat siteul sau cautarea unui free lancer pentru a face modificari.
Implicit aceasta abordare duce la reducerea costurilor de mentenanta a siteului.
Dinamica meniulu i se poate observa si in figura
3.3.2.
39
Figura 3.3.2 Meniu dinamic
Sub linia de meniu si logo se afla sectiunea dedicate bannerului. Bannerul este o
galerie de imagini de tip carusel, care poate contine pana la sapte imagini. Acest carusel
o fost implementat cu ajutorul functiilor de tip javascript, iar designeul a fost
custo mizat folosind functii de tip css. Si bannerul este o component dinamica care, pe
langa imagini mai accept si link catre o pagina din site. Practic, in momentul in care se
da click pe una din imagini si aceasta are link, se v -a face o redirectare automata catre
respective pagina. Aceasta redirectare este necesara pentru accesarea cat mai rapida a
produselor sau a paginilor care apar in banner. Deoarece designeul este unul
responsive in momentul in care latimea ecranului scade sub 990px galeria se v -a
ascund e. S-a luat aceasta decizie deoarece consider ca pentru orce dispozitiv care are
latimea ecranului mai mica de 990px, galeria o sa ocupe un spatiu mult prea mare in
concordanta cu inaltimea ecranului. Varianta responsive se poate observa in figura
3.3.3 .
Figura 3.3.3 Responsive Home
40
Sub sectiunea dedicate bannerului se gaseste sectiunea dedicate categoriilor.
Atat magazinele reale cat si magazinele virtuale grupeaza produsele pe categorii pentru
a putea fii mai usor identificate. In acest magazine Catego riile sunt afisate sub 2
modalitati. Prima modalitate de afisare este sub forma de lista care sa contina doar
denumirea categoriei prezenta in partea stanga, iar a doua modalitate este tot o lista
care pe langa denumire, mai contine si o imagine semnificat iva cu categoria respective.
Ultima sectiune este cea a footarului in care se regasesc date de contact, linkuri
utile vizitatorului, un preview asupra paginii de social media precum si controlerul care
permite utilizatorilor sa se aboneze la newsletter.
In continuare vom face o scurta prezentare despre pagina de categorii. Pagina de
categorii sunt pagini care incorporeaza liste cu produse din categoria respective.
Figura 3.3.4 Pagina de categorii
Dupa cum se poate observa si in figura 3.3.4 pagina de categorii este construit a
din mai multe elemente. In partea stanga este meniul de categorii care face legatura
dintre categoria curenta si restul categoriilor de produse. In partea central cu extindere
spre partea dreapta este lista de produse aferente categoriei selectate. Fieca re produs
este izolat intru -un dreptunghi care contine o imagine , denumirea produsului, pretul si
2 butoane.
Deoarece exista posibilitatea ca un produs sa fie dorit la o anumita dimensiune
sau inaltime, sau sa fie customizat clientul poate apasa pe buton ul “SUNT INTERESA” ,
buton care v -a deschide un pop -up in care acesta is trece datele de contact impreuna cu
o scurta descriere despre a cerinteleor. In momentul in care apasa pe butonul
“Informeazane” un email este trimis automat catre adiministratorul si teului. In acest
email se vor regasii datele de contact, mesajul in care sunt descries dorintele clientului
precum si un link catre adresa produsului. Figura 3.3.5 prezinta detaliile acestei optiuni.
41
Figura 3.3.5 Pop-up optiune “Sunt interesat”
Pagina d e produs este impartita pe 3 coloane. In prima coloana din stanga se afla
meniul de categorii. Meniu care face legatura cu restul categoriilor.
In cea de -a doua coloana se afla galleria foto cu toate imaginile produsului
selectat. Galeria a fost realizata cu ajutorul javascriturilor si a css -ului. Este o galerie
care, in momentul in care dai click pe imaginea mai mare (imaginea principala) se
deschide o fereastra de tip pop -up care afiseaza o imagine marita a produsului. In acest
pop-ul se poate naviga pri nter imagini cu ajutorul sagetilor din partea dreapta,
respective partea stanga a imaginii.Navigarea spre alte imagini se mai poate face si cu
ajutorul imaginilor la dimensiuni reduse dispuse in partea de jos a galeriei prin click –
uirea acestora. Sub gale rie se afla sectiunea de social media in care persoanele pot da
like sau share pe facebook sau follow pep interest.
Coloana a tre -ia si cea din dreapta este coloana care contine detalii despre
produs. Luand toate itemele pe linii de sus in jos, in partea c ea mai de sus vom gasii
denumirea produsului, sub denumire este zona dedicate pretului. Pret care include
TVA -ul. Sun aceasta se afla o zona de social media in care vizitatorii pot distribuii
informatiile produsului pe retelele de socializare.Sub aceasta s ectiune este zona
adresata descrierii si a caracteristicilor produsului. In aria descrierii sunt trecute
informatii importante despre produs, iar in zona de caracterisitici sunt trecute attribute
a produsului precum: culori, dimensiuni , plus alte caracter istici specific produsului
respective.Sub toate aceste caracteristici se afla butonul care adauga produsele in cosul
de cumparaturi.
42
Figura 3.3.6 Structura paginii de produse
Cosul de cumparaturi este unul dintre cele mai importante component ale unui
magazine online. Marea majoritate ca cosurilor de cumparaturi au trei zone principale
si anume: zona de produse, zona metodei de livrare si a metodei de plata iar ultima
zona este cea in care cumparatorul isi introduce datele de livrare si a datele de facturare
in cazul in care acestea difera.
Zona de produse este zona in care, un client al magazinului poate vedea
produsele pe care acesta le -a adaugat in cosul de cumparaturi, impreuna cu alte detalii
ale a cestuia, precum imaginea principala a acestuia, denumirea produsului, pretul,
posibilitate de a sterge produsul din cosul de cumparaturi, caracteristicile, cantitatea si
pretul.
Imediat sub zona de produse se regasesc inca doua linii care sunt create pentr u a
informa cumparatorul cu privire la suma pe care acesta trebuie sa o plateasca. Aceasta
zona apartine tot zonei de produs.
Zona metodei de livrare este alcatuita din toate optiunile de livrare pe care
administratorul magazinului le pune la dispozitia. I n marea majoritate a cazurilor aici
sunt trecuti curierii si costurile pentru fiecare curier. Tendinta comerciantilor este de a
atrage clientii prin livrare gratuita daca suma totata a produselor depaseste un anumit
pret.
Zona metodei de plata este alcatui ta din toate optiunile de plata pe care
administratorul magazinului le pune la dispozitie. In marea majoritate a cazurilor
cumparatorul poate plati curierului in momentul in care acesta primeste coletul.
In ultima perioada aproximativ toate magazinele onli ne care se respecta au
introdus si sitemul de plata cu cardul. Acest sistem de plata cu cardul gestioneaza
tranzactia dintre magazin, client si banca. Deoarece acest proces este unul complex si
foarte bine securizat este necesara colaborarea cu o firma spe cializata in
tranzactionare.
43
Ce implica acest proces de colaborare?
Acest proces de colaborare implica, in primul rand, realizarea unui contract cu o firma
de acest gen dupa care, unele firme ofera biblioteci pentru a implementa conexiunea si
transmitere a datelor, altele ofera posibilitatea de a transmite requesturi catre servarul
lor. Aceste requesturi au un format specific si sunt codificate.
Ultima zona este cea dedicata introducerii datelor de livrare si a datelor de
facturare. Deoarece orcine poate c umpara produse, in unele cazuri datele de facturare
nu coincid cu datele de livrare si din acest motiv sunt doua sectiuni separate.
Tot in aceasta zona se poate gasii si optiunea de facturare pe firma. Persoanele
care achizitioneaza produse nu trebuie sa f ie neaparat doar persoane fizice.
O parte din aceste setari se pot vedea si in figura 3.3.7.
Figura 3.3.7 Shopping cart
Deoarece posibilitatea ca doua persoane diferite sa intre in acelasi timp sa
cumpere produse este foarte mare. De aceea, fiecarui use r care ajunge in magazinu si
doreste sa faca cumparaturi ii este alocat un numar unic, numar de identificare. In
momentul in care el adauga in cosul de produse un produs, automat se trece si acest
numar unic. Practic acest numar unic ne ajuta sa stim cine ce cumpara. Se aplica aceasta
abordare deoarece unii clienti s -ar putea sa nu fie autentificati in momentul in care
cumpara un produs. Nefiind autentificati nu vom stii cine ce cumpara. Practic fara acest
identificator toti clienti magazinului vor introduc e produse in acelasi cos. Pentru a
simula cumpararea simultana de produse am apelat la doua browsera de internet
diferite. Aceasta simulare se poate vedea si in figura 3.3.8.
44
Figura 3.3.8 Simularea cumpararii simultane de produse
Prima parte a simularii de produse a fost realizata cu ajutorul browserului de
internet Chrome si cea de -a doua parte a simularii de produse a fost realizata cu
ajutorul browserului de internet Microsoft Edge.
Tot la pe pagina de cumparaturi mai poate aparea urmatoarea situatie. Doi
vizitatori ai siteului doresc sa cumpere acelasi produs. Pana aici nu este nici o problema,
insa ce se intampla cand acel produs are stoc limitat. Mai precis cand este disponibila o
singura bucata din produsul respecti . Deoarece sunt persoane care ad auga produsul in
cosul de cumparaturi si dupa aceea nu mai isi finalizeaza cumparaturile, stocul
produsului se scade in momentul in care cineva finalizeaza comanda.
Mergand pe principiul primul venit primul servit, persoana care o sa dea prima
finalizare c omanda o sa primeasca produsul dorit, iar celei de -a doua persoane o sa ii
apara un mesaj de informare cum ca produsul respectiv nu mai este disponibil si este
rugata sa scoata din cos acel produs. Aceasta nu v -a putea finaliza cumparaturile pana
cand nu s e scoate acel produs din cosul de cumparaturi.
45
Deoarece in acest magazin marea majoritate a produselor sunt unice, a fost
creata o sectiune separata numita “Portofoliu”, sectiune in care produsele care au fost
vandute o sa apara aici. Aceasta sectiune a fo st realizata pentru vizitatorii care isi
doresc un produs asemanator sau aproape identic cu produsele vandute. Aceasta
pagina se poate vedea in figura 3.3.9
Figura 3.3.9 Portofoliu
Dupa cum se poate observa si in imaginea anterioara pagina de portofoli u este o
pagina simpla fara filtre. Fiecare produs este incadrat intr -un chenar. Pe langa imaginea
principala a produsului se mai poate observa denumirea produsului si un butonul
“Doresc produs asemanator”. Buton care deschide un pop -up, in care vizitator ul siteului
isi completeaza datele de contact si un mesaj, daca considera ca are nevoie de informatii
in plus, dupa care apasa pe butonul “Informeazane”. Butonul “Informeazane” trimite un
email administratorului siteului cu datele de contact ale posibilulu i cumparator, alaturi
de mesaj si de codul unic al produsului. Acest cod nu este vizibil pentru vizitatorilor.
Pagina de contact este o pagina simpla cu 5 campuri si anume nume, telefon, e –
mail, si mesaj. Aceste campuri sunt obligatorii. Acest formular de contact este mijlocul
prin care un utilizator poate lua legatura cu administratorul siteului sa ii prezinte o
problema intampinata sau sa se informeze in legatura cu anumite produse.
46
3.4 Adminstrarea siteului
Acest magazin are implementat un sitem de a dministrare. Acest sistem de
administrare poate gestiona continutul siteului intr -o oarecare masura. Partea de
administrare se poate vedea in figura 3.4.1
Figura 3.4.1 Dashboard administrare
Dupa cum se poate observa si in imaginea anterioara partea de administare este
impartita pe doua zone. Prima zona , care se situeaza in partea stanga a ecranului este
zona de meniu. Zona a doua a administrarii contine partea de content.
Figura 3.4.1 ilustreaza partea de home a sectiunii de administrare. Dupa cum se
poate observa aceasta parte din administrare este o parte de previzualizare a tuturor
informatiilor din administrare. Aceasta aduce administratorului la cunostinta numarul
de comenzi adaugate in ziua curenta, totalul comenzilor din saptamana curenta, total ul
comenzilor din luna curenta, totalul comenzilor inregistrate in magazin, numarul
utilizatorilor inregistrati, numarul categoriilor de produse, numarul produselor
existente, si numarul accesarilor din ultimul newsletter.
Totalul numarului de comenzi di n ziua curenta se calculeaza prin adunarea
tuturor comenzilor din ziua curenta.
Totalul numarului de comenzi din saptamana curenta se face prin detectarea
zilei curente sub forma de numar (0 = duminica, 1=luni…etc), dupa care adaugarea sau
scadearea de zil e pentru a ajunge in intervalul luni -duminica.
47
Totalul numarului de comenzi din luna curenta se face prin filtrarea comenzilor
si preluarea tuturor comenzilor din luna curenta.
Numarul total de utilizatori inregistrati, categorii si produse se face cu ajut orul
unui counter. Acesta numara toate inregistrarile de pe anumite tabele si returneaza
suma acestora.
Totalul vizitelor din newsletter este o functie destul de complexa care
incorporeaza mai multe etape.
Prima etapa in procesul de newsletter este alocare a unui numar unic de
identificare a utilizatorului.
Al doilea pas este rescrierea emailului inainte de a fii trimis. Aceasta rescriere
este facuta automat prin cod si consta in rescrierea tuturor linkurilor adaugate in
newsletter. Formatul linkurilor intro duse de utilizator este urmatorul
http://localhost:59659/lampi/lampa1 , eu voi rescrie acel link sub forma
“http://localhost:59659/monitorizare -newsletter?user=5124d42d -501e -4253 -b1cd –
3c76b8532d07&campani e=1&adresa=@lampi@lampa1” .
Dupa cum se poate observa cele doua adrese url nu mai seamana aproape de loc
, deoarece pentru a putea monitoriza accesarile din email este nevoie de o pagina
special conceputa pentru acest lucru. Datorita customizarii linkului putem vedea ce
utilizator a aceesat newsletterul, putem vedea ce campanie a accesat si putem sa il
redirectionam catre linkul initial.
Datorita acestei metode de urmarire a newsletterului putem realiza statistici si
putem elimina utilizatorii care nu cites c aceste newsletteruri pentru a nu fii considerati
spammeri de unele companii care administreaza casute de email.
Cea de -a doua componenta a meniului din administrare este sectiunea de
“Pagini”. In aceasta sectiune se pot vizualiza paginile existente in s ite ,se pot adaugare
noi pagini sau se pot edita/ sterge paginile curente. In figura 3.4.2 este prezentata
sectiunea dedicata paginilor existente in site.
48
Figura 3.4.2 Administrare pagini.
Deoarece paginile sunt alcatuite dinamic in momentul in care aces tea sunt create
trebuie introduse anumite detalii. Figura 3.4.3 ilustreaza toate componentele paginii.
Figura 3.4.3 Formularul de adaugare de pagini.
Primul element pe care il intalnim in procesul de adaugare de pagini este
“Denumirea paginii”. Acest cam p reprezinta numele pe care vizitatorul o sa il vada in
site pentru o anumita pagina.
Al doilea elemnt al formularului este “Importanta”. Rolul acestei importante este
de a ne ajuta in ordonarea paginilor in meniu.
49
Al treilea element al formularului este “Tipul”. Element care se refera la ce tip de
pagina dorim sa adaugam.Deoarece unele pagini contin controale customizate prin
selectarea acestui tip de pagina noi stim ca pagia x trebuie sa aiba un control de tipul y.
Spre exemplu pentru a adauga inca o pa gina de contact pe langa campurile obligatorii
noi mai trebuie sa ii zicem ca pagina v -a fi de tipul contact. Daca salvam pagina si
navigam pe pagina nou formata vom observa formularul de contact . In schimb daca
vom selecta ca pagina sa fie de tipul “Pagi na alba” vom observa ca pe pagina nou
formata nu este nici un controler.
Dupa tipul de pagina urmeaza checkboxul “Este in meniu”. Acest checkbox ne
spune daca o pagina este in meniu sau nu. S -a luat aceasta decizie la implementare
datorita multitudinii de pagini pe care un magazin online le poate avea , fara ca aparitia
acestora sa fie necesara in meniu.
Cel de -al cincilea element al formularului este descrierea. Controlul aferent
descrierii este un control special care permite crearea de text normal si tr anspunerea
acestuia in text html. Cu ajutorul acestuia se pot crea pagini noi, cu continut editat de
catre utilizatori, fara a fii nevoie ca acestia sa aiba cunostinte avansate in domeniul it.
Dar daca administratorul magazinului are cunostinte de it, si d oreste sa realizeze pagini
spectaculoase atunci, acest lucru este posibil prin apasarea butonului “Source” din
editor si introducerea de cod html.
Rubrica destinata partii de SEO (Search Engine Optimization) este cea mai
importanta rubrica destinata pagini lor. Prin intermediul campurilor pe care trebuie sa
le completam in aceasta sectiune, motoarele de cautare ne gasesc in mediul virtual. O
SEO de calitate poate aduce magazinul pe primele pagini din google.
Campul Url este campul in care administratorul in troduce adresa virtuala a
paginii.
Campul “Titlul paginii” este denumirea sub care un motor de vor vedea pagina in
google
Campul “Descrierea paginii” este o scurta descriere despre cea ce contine pagina
Campul “Cuvintele cheie” sunt cuvinte strategic ales e care trebuie sa reflecte
continutul paginilor.
Figura 3.4.4 Ilustreaza modul in care apar in google campurile descrise anterior.
Figura 3.4.4 Informatiile despre pagina in google
50
Urmatoarea componenta a meniului administrativ este sectiunea de “Categor ii”.
Aceasta sectiune ilustreaza categoriile de produse. Aceasta componenta ne este utila in
gruparea produselor pe categorii in cazul in care dorim sa avem un magazin aranjat, cu
produse usor de gasit.
Pagina de categorii este foarte asemanatoare cu pagin a “Pagini”. Totusi exista
mici diferente fata de aceasta, acestea aparand in momentul in care o noua categorie
este adaugata sau este editata.
Un aspect foarte important al acestei sectiuni este lipsa bifei de apartenenta la
meniu. Toate categoriile defit e vor fii prezente in sectiunea de categorii fara o activare a
acestora. La fel ca si la sectiunea de pagini categoriile se ordoneaza dupa importanta.
Ceea ce este in plus fata de sectiunea pagini este posibilitatea de a adauga imagine la
categorie. Aceas ta imagine trebuie sa fie reprezentativa pentru categorie deoarece ea
poate sa fie prezenta pe mai multe pagini din site. In cazul nostru ea este prezenta pe
pagina de home.
O mica diferenta fata de sectiunea pagini este modalitatea in care campul
“Descrie re” afiseaza textul. Daca in sectiunea pagini, continutul unei pagini este scris
doar cu ajutorul campului “Descriere” in pagina de categorie aceasta descriere o sa
apara in partea de jos a paginii, sub produsele care sunt in categoria respectiva.
Figura 3.4.5 Lista de categorii si modul editare
Sectiunea dedicata produselor este un pic mai diferita fata de sectiunile intalnite
pana acuma. Deoarece s -ar putea sa existe o multime de produse a fost implementat un
sistem de filtrare dupa categorii. Acest sis tem de filtrare ne ajuta sa filtram produsele in
functie de o anumita categorie. Alt sistem de filtrare nu a mai fost implementat
deoarece s -a dorit ca administratorul sa beneficieze de acelasi “tratament” ca un
utilizator obisnuit al siteului care cauta p rintre categorii de produse. Daca
administratorului ii va parea greoaie navigarea printre produse acesta v -a venii cu idei
51
noi de filtre care se vor aplica atat pe partea de magazin cat si in partea de administrare.
Lista de produse pe langa denumire si ce le doua butoane de modificare si stergere
contine si un camp in care este afisat pretul si un camp care o sa ne zica daca produsul a
fost vandut sau mai este disponibil in stoc.
In rest putem spune ca avem aceasi functionalitate ca si la restul sectiunilor din
administrare. Figura 3.4.6 detaileaza lista de produse cu filtre.
Figura 3.4.6 Lista de produse cu filtru activ pe categoria lampi
Sectiunea de adaugare/ editare de produse este un pic mai deferita si mai
complexa fata de restul sectiunilor. Pe lang a itemurile cu care ne -am obisnuit deja, un
produs poate sa contina una sau mai multe imagini sau una sau mai multe caracteristici.
Figura 3.4.7 Sectiunea de adaugare/editare produse
52
Dupa cum se poate vedea si in figura 3.4.7 partea de sus contine doua b utoane.
Unul pentru adaugarea sau editarea de imagini , iar ce -l de-al doilea buton este editat
adaugarii sau stergerii de caracteristici.
Pe langa cele doua butoane aceasta zona contine un item dedicat categoriilor de
produse. Acest item este un item de t ipul drop down list care contine toate categoriile.
Un alt item cu care nu ne -am mai intalnit este itemul destinat pretului. In acest camp se
trece pretul produsului.
Daca un produs este confirmat ca si vandut atuni administratorul trebuie sa
navigheze in aministrare pana la produsul vanut si sa bifeze “Produs vandut”. Aceasta
optiune muta produsul din pagina categoriei in pagina de portofoliu.
Dupa cum mentionam anterior un produs poate sa contina unul sau mai multe
imagini, de aceea a fost realizata o ca tegorie dedicata pentru adaugarea de
imagini.Printru -un simplu click pe butonul “Adauga/Editeaza imagini” vom fii
redirectati catre o alta pagina din site. Pagina special conceputa pentru adaugare de
poze multiple pe produs. Pentru fiecare imagine nou adau gata trebuie specificata o
denumire , o importanta si bineinteles o imagine. Importanta joaca un rol foarte
important in acest caz deoarece pozele sunt ordonate dupa importanta iar poza
principala a produsului este poza care are importanta cea mai mica.
Un lucru pe care nu l -am mentionat este faptul ca toate imaginile sunt salvate in
baza de date. In momentul in care vrem sa modificam o poza a unui produs apasam pe
butonul “Choose File”, alegem imaginea noua , iar dupa ce apasam pe butonul salveaza
noua im agine o sa preia locul vechii imagini. Figura 3.4.8 ilustreaza toate optiunile
sectiunii de adaugare de imagini la un produs.
Figura 3.4.8 Adaugarea de imagini
Adaugarea de caracteristici la produs este conceputa pe aceeasi mentalitate ca si
adaugarea de imagini dar are campuri diferite.Deoarece nu exista o lista fixa de
caracteristici am preferat sa adopt urmatoarea metoda. Am creat doua textboxuri , unul
53
pentru denumirea caracteristicii si celalalt pentru descrierea caracterisitcii. In figura
3.4.9 se p oate observa constructia paginii.
Figura 3.4.9 Caracteristici produs
Sectiunea de emailuri este o sectiune asemanatoare in partea de listare emailuri.
Ce este mai special la aceasta sectiune este modalitatea de editare a templateurilor din
email. Pentru a edita templateurile de email si a le face cat mai atarctive se folosete o
componenta speciale de editare care permite introducerea de campuri de stilizarea
specifice web siteurilor.
Partea sensibila a acestor templateuri sunt parametrii. Parametrii care trebuie
sa fie identici la numar cu parametrii din cod. Daca sunt mai putin parametrii atunci , in
momentul in care vom incerca sa trimitem un email vom primii eroare. Sectiunea de
email este prezenta in figura 3.4.10
54
Figura 3.4.10 Setari pentru email
55
3.5 Testare si validare
Testarea este unul din cei mai importanti pasi inainte ca o aplicatie sa fie lansata
in productie. Aceste teste pot scoate la iveala nefunctionalitati sau functionalitati
anormale a numitor componente din program. Testarea asigura
Testarea este impartita in doua mari categorii:
-testare manuala, este procesul prin care una sau mai multe persoane acceseaza
magazinul pentru a gasii eventuale nereguli.
-testare automata, este procesul prin care sunt create teste automate
Unul din ava ntajele testarea automata poate fii repetitiva, adica acelasi test
poate fii executat de mai multe ori fara a fii nevoie de o rescriere a acestuia.Testele
automate pot fii rulate simultan pe mai multe calculatoare sau masini virtuale. Este
benefica in cazu l aplicatiilor mari in care codul se schimba des.
Dezavantajele unei astfel de testari este costul mai mare fata de testarea
manuala , nu toate testele pot fii automatizate.
Avantajul principal al testarii manuale este costul redus si permisivitatea de
crearea de scenarii ad -hoc.
Dezavantajele unei astfel de testari este termenul de executie crescut, si factorul
uman care poate omite anumite nereguli.
Test case usability:
I.
1. Navigarea pe site
2. Click pe meniul de categorii
3. Click pe butonul “Sunt inte resat”
II.
1. Navigarea pe site
2. Click pe meniul de categorii
3. Click pe butonul “Sunt interesat”
4. Click pe butonul “Informeazane”
III
1. Navigarea pe site
2. Click pe meniul de categorii
56
3. Click pe butonul “Sunt interesat”
4. Completarea tuturo inf ormatiilor din formular
5. Click pe butonul “Informeazane”
IV.
1.Accesarea casutei de email
2. Verificarea primirii de email
3. Verificarea datelor din email
V.
1. Accesarea paginii de autentificare
2. Click pe butonul “Autentifica”
VI.
1. Accesarea paginii de autentificare
2.Introducerea de credentiale gresite
3. Click pe butonul “Autentifica”
VII.
1. Accesarea paginii de autentificare
2.Introducerea de credentiale corecte
3. Click pe butonul “Autentifica”
4. Redirectionare catre sectiunea specifica contului
VIII
1. Navigarea pe site
2.Clicke pe imaginea centrala
3. Redirectare catre pagina specificata
Au fost facute is teste pentru designe pe diferite browsere si la diferite rezolutii
Browser
Versiune
Chrome
60.0.3112
Mozzila
55.0
Microso ft edge
40.15063
57
Capitolul 7. Conc luzii
Toate aspectele mentionate pana acuma pot fii insumate in cateva
intrebari simpl e si anume:
Care sunt costurile de promovare a unui astfel de site?
Cum vom aduce vizi tatori?
Oare designeul ales este cel mai potrivit nevoilor mele?
Ofera s ite-ul toate informatiile necesar e pentru toate procesele ?
Informatii prez entate sunt clare si concise ?
Site-ul este pla cut pentru vizitatori ?
Incarca p aginile este optima?
Este site-ul usor de folosit?
Va fi site-ul u sor de modificat si extins in
viitor?
Cat costa aceste schimbari in vi itoare?
Prima intrebare intr -un astfel de bu sines este cat ne permitem sa
investim?
Un website este conexiunea dintre mediul real si mediul virtual. Cu
cat websiteul ajunge mai sus in ierarhia motoarelor de cautare cu atat
siteul o sa fie mai accesat rezultand un numar mai mare de comenzi.
Insa pent ru a ajunge pe prima pagina din motoarele de cautare trebuie
sa investeti timp si bani in promovarea siteului. Promovarea unui site de
multe ori depaseste costurile de constructie a acestuia.
Nu trebuie sa ignorat nici un aspect din lista intrebarilor deoa rece
lucrurile mici fac diferenta.
Frameworkul pus la dispozitie de Microsoft este optiune securizata si
accesibila in realizarea acestor tipuri de aplicatii. Insa pe cat de accesibil si
usor configurabil este acest framework pe atat de mult ne poate da de furca
in primul rand la optimizare.
Mediul de programare Visual Studio 2015 este un mediu prietenos cu
multe facilitati si updatat ultimelor tendinte de programare.
58
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Propus Rares 123 [626966] (ID: 626966)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
