Arhitectura Magazinelor Online

1.Intoducere

1.1            Internetului în lume

Internetul poate fi considerat un mediu, o infrastructura ce ofera agentilor economici, spre exemplu, abilitatea de a se face cunoscuti atât clientilor cât si posibililor parteneri de afaceri, de a accesa informatia usor si rapid.

Ce este internetul? Sunt multe definitii pentru acest mediu. Este considerat, în primul rând, ca si o retea prin care circula informatia de orice tip: sunet, text, imagine, imagine video; o infrastructura globala realizata din nenumarate retele mai mici prin care se conecteaza milioane de calculatoare, telefoane si tablete din întreaga lume.

Internetul a aparut in anul 1965, prin încercarea de a conecta reteaua Departamentului Apararii Statelor Unite (cunoscuta sub numele de ARPAnet) cu alte retele conectate prin dispozitive radio sau satelit.

I-a urmat NSFNET, înfiintata de NSF (National Science Fundation), o agentie guvernamentala americana, însa problema costului ridicat al liniilor telefonice închiriate pe distante foarte mari a fost un impediment pentru dezvoltarea si largirea acestui mediu. Desi separate, cele doua retele puteau comunica în continuare, creându-se astfel o inter-retea denumita DARPA Internet, Internetul de mai târziu.

Initial, Internetul a fost o retea în care cea mai mare parte a utilizatorilor era formata din cercetatori din domeniul academic, guvernamental sau industrial.

Odata cu introducerea aplicatiei, WWW si a lansarii primului site din istorie in anul 1991, conceput de Tim Berners Lee, inventatorul www, Internetul intra în domeniul comercializarii, deoarece devine posibil accesul tuturor la site-uri, care pun la dispozitie un numar de pagini interconectate, care contin texte, sunet, fotografii si chiar imagini video. La inceput siturile nu erau nici pe departe atat de complexe si încarcate grafic cum sunt în prezent, limbajul utilizat – HTML – fiind un limbaj nu prea puternic si permitand numai o serie limitata de formatari, precum si inserarea de linkuri, pentru a putea "lega" paginile intre ele, designul web fiind, de fapt, mai mult "programare" web.

In prezent preocuparea pentru aspectul grafic al siturilor,au devenit puternic instrumente comercial și publicitar, iar tehnologiile folosite s-au diversificat si au devenit din ce în ce mai complexe. Companiile care produc situri lucreaza cu angajati specializati pentru fiecare etapa a dezvoltarii unui site, de la stadiul de conceptie grafica la programare și editare de continut.

Pentru realizarea unui site web indifferent de scopul acestuia trebuie parcurse urmatoarele erape:

Analiza preliminara

Concretizarea ideilor

Schitarea elementelor vizuale si compunerea structurii sitului

Programarea paginilor web intr-un limbaj specializat.

Testarea sitului

Schimbarea partilor care nu corespund

Publicarea site-ului

1.2            Functionarea Internetului

Toate serviciile Internet au la baza comunicarea mesajelor intre o sursa si un destinatar. Adresa unica a unui calculator este o succesiune de 4 numere naturale mai mici decât 255, separate prin ".", cea mai mica adresa fiind 0.0.0.0, iar cea mai mare adresa fiind 255.255.255.255 .

Dezavantajul memorarii si folosirii acestor numere de catre utilizatori este evident, motiv pentru care s-a utilizat o metoda de asignare a unui nume pentru fiecarui calculator din Internet. Restrictia de baza este aceea ca nu trebuie sa existe în Internet doua calculatoare cu acelasi IP (aceleasi numere) .

Numele sunt folosite doar pentru a usura utilizarea Internet-ului. Numele calculatoarelor sunt stocate în baze de date distribuite si organizate ierarhic. Exista doar 7 domenii organizationale diferite.

Acestea sunt prezentate mai jos:

În afara de domenii organizationale exista si domenii geografice. Daca domeniul este în afara Statelor Unite, el include un cod care arata tara careia îi apartine. Fiecare tara are câte un cod, astfel încât privind la numele unui calculator se poate afla locatia acestuia. Câteva coduri mai des întâlnite sunt prezentate în tabelul urmator:

2.Tehnologii Utilizate

Aplicatia a fost realizata in Microsoft Visual Studio 2012, limbajul de programare fiind Visual Basic C# si interfata in ASP.NET . Pentru stocarea datelor a fost folosit Microsoft Sql Server 2012.

2.1    Platforma .NET

.NET este strategia Microsoft pentru dezvoltarea de software care permite oamenilor sa il utilizeze din orice loc, utilizand orice fel de dispozitiv.

.NET inseamna foarte mult Internet, iar Internetul este un exemplu de tehnologie sau fenomen care inseamna lucruri diferite pentru persoane diferite. Astfel, din punct de vedere al dezvoltatorilor, Internetul este o stiva de protocoale si un model computational bazat pe TCP/IP. Din punct de vedere al afacerilor, este o tehnologie care promite multe. Pentru consumatori, este o incredibila resursa de comunicatie, informatie si conectivitate.

Descrierea pe larg a .NET este urmatoarea: o platforma de servicii web bazata pe XML care consta in:

. platforma software pentru construirea experientei .NET;

. un model de programare pentru a construi si integra servicii web bazate pe XML;

. un set de servicii web bazate pe XML programabile;

. un mijloc de a permite utilizatorilor sa interactioneze cu un set larg de dispozitive inteligente prin intermediul Web-ului, asigurand in acelasi timp faptul ca utilizatorul si nu aplicatia controleaza interactiunea;

. un mijloc de a oferi utilizatorilor aplicatii, servicii si dispozitive care sunt personalizate, simple, consistente si sigure.

.NET incorporeaza o platforma software pentru construirea experientei .NET ceea ce inseamna server care ruleaza baze de date, servere web si alte sisteme.

.NET cuprinde un model de programare impreuna cu uneltele respective prin care se permite dezvoltatorilor sa creeze serviciile web pe care se bazeaza .NET. Modelul este .Net Framework, care este descris in cele ce urmeaza.

Extinderea intraneturilor si portalurilor prin utilizarea .NET 97

Componenta finala a .NET este rezultatul modelului de programare, uneltelor si platformei. Serviciile web ofera aceste servicii si informatii necesare utilizatorilor in faza a treia de dezvoltare a Internetului. Deoarece aceste servicii web sunt programabile, ele permit unui utilizator sa utilizeze orice dispozitiv pentru a accesa informatia si pentru a o partaja cu alte site-uri sau servicii.

.NET este construit peste familia de servere .NET care cuprinde urmatoarele produse:

. SQL Server 2000 – server de baze de date;

. Exchange 2000 – server de mesagerie si groupware;

. Commerce Server 2000 – pentru crearea de infrastructuri pentru comert

electronic;

. BizTalk 2000 – primul server .NET, destinat pentru constructia de procese de afaceri care sa fie integrate cu alte procese asemanatoare prin intermediul mesajelor;

. Host Integration Server – pentru integrarea diverselor sisteme (inclusiv a mainframe-urilor);

. Application Center 2000 – produs prin care se face managementul aplicatiilor web;

. Internet Security and Accelaration Server 2000 – pentru securitatea si accelerarea aplicatiilor;

. Mobile Information Server – pentru accesarea informatiilor in timp real de pe dispozitivele mobile.

Pentru a oferi componente dezvoltatorilor pentru crearea de solutii de tip servicii web, .NET utilizeaza o serie de protocoale standard pe Internet: XML, SOAP, HTTP si TML. Unealta utilizata este Visual Studio.NET. De asemenea trebuie oferite cadrele de lucru, limbajele si ghidul. pentru ajutorul construirii acestor servicii.

Toate acestea sunt integrate in Framework.

Microsoft a decis, pe termen lung, sa inlocuiasca COM cu CLR (CommonLanguage Runtime), in care s-au incorporat cele mai bune aspecte ale COM, dar s-au omis aspectele "dureroase" ale scrierii aplicatiilor bazate pe COM.Cele mai frustrante probleme ale COM sunt:

– interoperabilitatea dintre limbaje;.

– instalarea aplicatiilor;

– versiunile de componente;

Noul model de programare introdus de CLR serveste pentru a elimina multedintre detaliile nenecesare sau confuze ale COM p 949j96j rivitoare la scrierea sau intelegereacodului pentru o aplicatie distribuita.

Istoria COM a fost marcata de probleme privind interoperabilitatea diverselorlimbaje de programare; cu toate ca exista un anumit grad de interoperabilitate intrelimbajele 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 inalt grad de interoperabilitate, modelul de programareCLR fiind bazat pe sistemul universal de tipuri (universal type system), in care fiecare limbaj managed este asezat deasupra si este mapat la un set de tipuri standard.

Sistemul de tipuri al CLR defineste un set predictibil de tipuri primitive continand deexemplu, numere intregi si cu virgula flotanta. De asemenea, sistemul de tipuridefineste clasele standard pentru alte tipuri, precum String,Array iar limbajele .NET ofera cuvinte cheie care sunt mapate direct catre tipurile integrate in CLR. Deexemplu, Visual Basic.NET ofera cuvantul cheie Integer al carui echivalent in C# este int, ambele tipuri fiind mapate direct la tipul System.Int32 din CLR. CLR este imbunatatit fata de COM prin standardizarea unui set de tipuri care este partajat de toate limbajele managed. De exemplu, sistemul de tipuri ofera tipuri integrate pentruunsigned integer, care sunt suportate in intregime de C#, dar nu si de Visual Basic.NET. acest lucru poate insemna faptul ca pot exista dezvoltatori care ca creeze componente care sa expuna unsigned integer in maniere imposibil de utilizat in alte limbaje. Termenul managed (controlat / gestionat) semnifica faptul ca un cod sau limbaj are nevoie de Common Language Runtime pentru a fi executat, spre deosebire de codul simplu, care nu necesita motorul CLR.

Pentru a preveni situatii ca cele de mai sus s-a creat un document numit Common Language Specification (CLS) in care este definit un subset de tipuri si facilitati CLR pe care componentele si limbajele trebuie sa le suporte pentru a interopera cu alte limbaje managed.

Sistemul de tipuri al CLR se bazeaza in cea mai mare parte pe mostenire, intregul sistem de tipuri fiind bazat pe o ierarhie de mostenire unica. Toate tipurile uilizate pentru a crea obiecte deriva in cele din urma din radacinaSyste,Object. In momentul in care se creeaza o clasa fara a se mosteni in mod explicit alta clasa, noua clasa creata mosteneste in mod implicit System.Object.

2.1.1    Aplicatii Web in ASP.NET

ASP.NET este mai mult decat urmatoarea versiune de Active Server Pages, fiind o platforma unificata de dezvoltare care ofera serviciile necesare dezvoltarii de aplicatii web. In timp ce ASP.NET ofera o sintaxa asemanatoare ASP, ele pun ladispozitie si un nou model de programare si infrastructura pentru aplicati mai sigure,scalabile si stabile.ASP.NET este un mediu bazat pe .NET in care se pot dezvolta aplicatii in orice limbaj compatibil .NET (VB.NET, C#, Perl.NET, etc.) in plus, Framework-ul.NET fiind disponibil oricarei aplicatii ASP.NET. Printre beneficiile acestei tehnologii se numara: mediul de executie controlat, siguranta tipului, mostenire, cache, scheme de autentificare, etc.

Dezvoltatorii pot alege sau combina aplicatiile ASP.NET sub forma de formulare web si /sau servicii web. Astfel, formularele web permit construirea de pagini de web bazate pe formulare care contin elemente simple care pot fi programate pentru anumite sarcini. Serviciile web bazate pe XML ofera mijloacele de acces la functionalitatea unor servere la distanta prin care se pot expune interfete de programare pentru accesul la datele sau logica unei afaceri, toate acestea prin protocoalele standard HTTP si XML. In plus, serviciile web nu sunt legate de o anumita componenta tehnologica sau o conventie de apelare a obiectelor.

Modelul obiectual al ASP.NET s-a schimbat semnificativ de la ASP [15], transformandu-se intr-unul mai structurat si orientat-obiect. Din nefericire pentru programatorii care utilizau Active Server Pages, noul model nu este in intregime compatibil cu versiunea anterioara, aproape fiecare pagina trebuind sa fie modificata pentru a rula sub ASP.NET. In plus, schimbarile majore aduse Visual Basic implica faptul ca paginile ASP scrise cu Visual Basic Scripting Edition nu pot fi portate direct in ASP.NET. De asemenea, accesarea bazelor de date din aplicatiile ASP este o tehnica frecventa, iar noua versiune ASP.NET aduce, pe langa imbunatatiri multiple, si necesitatea transformarii codului existent.

2.1.2    Structura unei aplicații

O aplicație pentru platformă (un assembly) 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 și 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 IL și metadata, ele nu pot fi executate independent, în afara contextului assembly-ului. Pentru majoritatea aplicațiilor, este suficient 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ă folosirea modulelor multiple.

Desigur, o aplicație poate apela cod dintr-un assembly extern – la fel cum o aplicație pentru platforma Windows poate apela funcții din bibliotecile sistemului sau biblioteci scrise de utilizatori.

2.1.3 Configuratia ASP.NET

Facilitatile de configuratie ale ASP.NET sunt continute intr-o infrastructura extensibila care permite dezvoltatorilor sa defineasca setari de configuratie la prima instalare a aplicatiilor, astfel incat pot fi adaugate sau modificate setarile curente in orice moment, cu un impact minimal asupra aplicatiilor Web operationale sau serverelor. Sistemul de configuratie al ASP.NET presupune ca:

– informatia pentru configuratie este stocata in fisiere text intr-un format bazat pe XML care se poate modifica fie manual, fie utilizand un editor /parser XML standard;

– fiecare director sau aplicatie poate avea propriul fisier de configurare numit web.config, configuratie care se aplica directorului curent si subdirectoarelor acestuia. De asemenea, configuratia aflata in fisierele din subdirectoare poate mosteni configuratia din directorul parinte sau o poate suprascrie.

Fisierul general de configuratie numit machine.config care se afla in directorul: WinNTMicrosoft.NETFrameworkversiuneconfig contine setarile pentru intregul server de web.

In momentul executiei, ASP.NET utilizeaza configuratia din fisierele de configuratii pentru a calcula o colectie de setari de configuratie pentru fiecare resursa URL, aceste setari fiind pastrate pentru toate cererile urmatoare la resursa respectiva.

ASP.NET detecteaza schimbarile in fisierele de configuratie si aplica in mod automat noile setari resurselor afectate fara ca serverul web sa fie repornit pentru ca schimbarile sa intre in vigoare.

Pe langa setarile existente, se pot adauga noi parametrii de securitate si se pot scrie proceduri pentru manipularea acestora. Setarile sunt protejate de accesul din exterior prin configurarea IIS astfel incat nu este permis accesul la aceste fisiere.

2.2    Limbajul C#

C# este un limbaj de programare orientat-obiect ccreat de Microsoft la sfârșitul anilor 90. A fost conceput ca un concurent pentru limbajul Java. Ca și acesta, C# este un derivat al limbajului de programare C++.

Scopul limbajului de programare C# este de a simplifica mult scrierea de programe pentru sistemul de operare Windows.

Cod scris în C++:

public:

int main(array<System::String ^> ^args)

{

Application::EnableVisualStyles();

Application::SetCompatibleTextRenderingDefault(false);

Application::Run(gcnew Form1());

return 0;

}

Acelasi cod cu aceleasi atributii dar scris in c#:

public static void Main()

{

Form1 form1 = new Form1();

form1.Show();

Application.Run(form1);

}

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.

Principiile de bază ale programării orientate pe obiecte (ÎNCAPSULARE, MOȘTENIRE, POLIMORFISM) sunt elemente fundamentale ale programării C#. În mare, limbajul moștenește sintaxa și principiile de programare din C++. Sunt o serie de tipuri noi de date sau funcțiuni diferite ale datelor din C++, iar în spiritul realizării unor secvențe de cod sigure (safe), unele funcțiuni au fost adăugate (de exemplu, interfețe și delegări), diversificate (tipul struct), modificate (tipul string) sau chiar eliminate (moștenirea multiplă și pointerii către funcții). Unele funcțiuni (cum ar fi accesul 6 direct la memorie folosind pointeri) au fost păstrate, dar secvențele de cod corespunzătoare se consideră „nesigure”.

2.2.1. Crearea aplicațiilor consolă

Pentru a realiza aplicații consolă (ca și cele din Borland Pascal sau Borland C) în mediul de dezvoltare Visual Studio, trebuie să instalăm o versiune a acestuia.

După lansarea aplicației, din meniul File se alege opțiunea NewProject apoi alegem ConsoleApplication.

Când creați o aplicație consolă, se generează un fișier cu extensia .cs. În cazul nostru, s-a generat fișierul ConsoleApplication1.cs. Extensia cs provine de la C Sharp. Redenumirea lui se poate realiza din din fereastra Solution Explorer, pe care o puteți afișa cu ajutorul combinației de taste Ctrl+W,S sau din meniul View.

Codul sursă generat este :

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

}

}

}

Complectand funcția Main cu următoarea linie de program:

Console.WriteLine("Hello World!");

Veți observa că în scrierea programului sunteți asistați de IntelliSense, ajutorul contextual.

Programul complectat va arata asa:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("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, „punctul 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.In cazul nostrum mesajul este urmatorul:

Pentru compilarea programului, selectați Build din meniul principal sau apăsați tasta F6. În cazul în care aveți 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:

– rapid fără asistență de depanare (Start Without Debugging Ctrl+F5)

– rapid cu asistență de depanare (Start Debugging F5 sau butonul din bara de

instrumente)

– rulare pas cu pas (Step Into F11 și Step Over F10)

– rulare rapidă până la linia marcată ca punct de întrerupere (Toggle Breakpoint F9 pe linia respectivă și apoi Start Debugging F6). Încetarea urmăririi pas cu pas (Stop Debugging Shift+F5) permite ieșirea din modul depanare și revenirea la modul normal de lucru. Toate opțiunile și rulare și depanare se găsesc în meniul Debug al mediului de programare.

2.3    Baze de date

Datorită implicării tot mai accentuate a calculatoarelor in mai multe domenii de activitate, sfera problemelor rezolvate cu ajutorul calculatorului s-a extins foarte mult. A apărut astfel o specializare a programelor (pachetelor de programe), orientate spre rezolvarea diverselor tipuri de probleme: matematice, tehnice, economice, de proiectare. Sistemele de Gestiune a Bazelor de Date (pe scurt SGBD) sunt sisteme informatice (software) specializate în stocarea și prelucrarea unui volum mare de date, volumul de prelucrări implicit fiind relativ mic. Termenul de "bază de date" se va referi la datele prelucrate, la modul de organizare a acestora pe suportul de memorare, iar termenul de "gestiune" va semnifica totalitatea operațiilor ce se vor aplica asupra datelor din bazele de date.

Apariția și răspândirea rețelelor de calculatoare a dus la dezvoltarea într-o nouă direcție a SGBD-urilor, ele căpătând un caracter multiutilizator – mai mulți utilizatori folosesc simultan aceeași bază de date. Principalul avantaj al rețelelor a fost eficiența mult sporită de utilizare a resurselor sistemelor de calcul: la baza de date aflată pe un server central, de obicei foarte puternic, au acces simultan mai mulți utilizatori, situați la distanță de aceasta, de unde rezultă o bună utilizare a resurselor serverului și o economie de memorie, datorită memorării unice a bazei de date (doar pe server, nu și pe stațiile de lucru.)

De asemenea, au apărut bazele de date distribuite, care reprezintă baze de date logic integrate, dar fizic distribuite pe mai multe sisteme de calcul. Utilizatorul unei asemenea baze de date o vede ca pe o bază de date unică, compactă (nivelul logic), cu toate că, în realitate, ea este distribuită pe mai multe calculatoare legate între ele (nivelul fizic). La nivel statistic această organizare a dus la o creștere substanțială a vitezei de acces, pe un server local sunt mai rapid accesibile decât ele s-ar fi aflat pe un server la distanță, unde ar fi fost stocată baza de date în întregime, în cazul nedistribuirii (menționăm că un factor important care limitează viteza de lucru este transferul de date între calculatoare). Tot datorită distribuirii, se mărește considerabil limita maximă a dimensiunii unei baze de date, care nu mai este determinată de capacitatea fizică de memorare a sistemului de calcul.

Îmbunătățiri a suferit și modelul de organizare a bazelor de date. Structura tabelară a bazelor de date simple din SGBD-urile mai vechi a fost înlocuită în cele moderne cu modelul relațional de organizare a bazelor de date. Conform acestui model, o bază de date relațională este formată din mai multe tabele simple, între care se stabilesc anumite relații. În paralel cu acest model s-a dezvoltat un nou limbaj de interogare a bazelor de date.

SQL (Structured Query Language), neprocedural, care permite accesul rapid și comod la datele memorate în bazele de date.

Pentru utilizatorii neprofesioniști, care nu sunt puțini la număr, au fost perfecționate interfețele SGBD-urilor, utilizatorul având la dispoziție sisteme de meniuri, ferestre, obiecte de control, prin care comunicarea cu SGBD-ul devine o plăcere.

2.3.1 Elemente de teoria bazelor de date

a)Activitățile și obiectivele organizării datelor

Organizarea datelor ocupa un loc important in proiectarea sistemelor informatice. De modul în care sunt organizate datele depinde eficiența sistemului informatic.

Organizarea datelor presupune:

• definirea, structurarea si gruparea datelor in colecții de date omogene;

• stabilirea legăturilor (relațiilor) între date, între elementele unei colecții, între colecțiile de date;

• reprezentarea (stocarea) lor pe suport informațional, prealabil intr-un sistem de calcul.

Scopul organizării datelor îl constituie regăsirea automată a datelor după diverse criterii și forme:

• timpul de acces la datele organizate pe diferite suporturi de date să fie minim (acces rapid la date);

• spațiul de memorie internă și externă ocupat de date să fie cât mai redus (economie de memorie internă și externă). Se urmărește ca pe un spațiu de memorie cât mai mic să se introducă un volum cât mai mare de date;

• datele să apară o singură dată în sistem (unicitatea datelor). Totuși, uneori, pentru realizarea unui acces mai rapid la date, se impune acceptarea unei redundanțe minime a datelor;

• în sistemul de organizare a datelor să se reflecte, pe cât posibil, toate legaturile dintre obiectele, fenomenele, procesele economice pe care aceste date le reprezintă;

• să permită schimbarea structurii datelor si a relațiilor dintre ele fără a modifica programele ce le gestionează (flexibilitatea datelor).

b) Concepte utilizate în organizarea datelor

Cele trei concepte de bază utilizate sunt: 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.

Orice proprietate a unui obiect poate fi exprimată printr-o pereche (ATRIBUT, VALOARE). Exemplu: „masa X are culoarea albă ", unde „culoare" reprezintă atributul, iar „albă" valoarea.

Așadar, o entitate se poate exprima prin mai multe proprietăți, deci mai multe perechi de forma (ATRIBUT, VALOARE). De exemplu, o persoană X poate fi reprezentată prin mulțimea de perechi (NUME, Nicolae); (VÂRSTA, 21); (SEX, MASCULIN); (PROFESIE, student); (SALARIU, 5500000).

În realitate, mulțimea atributelor NUME, VÂRSTA, SEX, PROFESIE, SALARIU poate fi asociată mai multor persoane. Rezultă că atributul nu caracterizează dor o entitate, ci poate caracteriza o clasă de entități numită entitate grup. În exemplul de mai sus entitatea grup s-ar putea numi PERSOANE. Deoarece toate elementele unei entități grup se caracterizează prin aceeași mulțime de atribute, se poate spune că entitățile din cadrul unei entități grup sunt de același tip. În acest sens, se utilizează termenul de „tip de entități" pentru o clasă de entități.

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, alfanumeric dacă valorile sale sunt șiruri 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 atribute cheie sau pot fi atribute ce nu identifică unic o entitate și se numesc atribute non-cheie.

Un alt concept utilizat este cel de dată. Data este un model de reprezentare a informației, accesibil unui anumit procesor (om, program, calculator); cu acest model se operează pentru a obține noi informații despre fenomenele și procesele lumii reale.

O dată care este indivizibilă în raport cu informația pe care o reprezintă, dar și în raport cu modul de prelucrare se numește dată elementară sau scalară. Mai multe date elementare formează o dată compusă.

Din punct de vedere logic, o dată se definește prin: identificator, atribut și valoare.

Exemplu: PROF -identificator

PROFESIA -atribut

STUDENT -valoare

Din punct de vedere fizic, unei date îi corespunde o zonă de memorie de o anumită mărime, situată la o adresă absolută.

c)Structuri de date

Tipurile de structuri de date întâlnite în sistemele informatice se diferențiază în funcție de sistemul informațional și de tehnologiile de prelucrare a datelor utilizate.

Structura de date este definită ca o colecție de date între care s-au stabilit o serie de relații care conduc la un anumit mecanism de selecție si identificare a componentelor.

Mulțimea de date asociată structurii poate fi alcătuită din datele unui tip sau mai multor tipuri de entități. Componentele structurii pot fi individualizate și identificate prin nume (identificator) sau prin poziția pe care o ocupă in structură (în raport cu ordinea specificată).

Dacă localizarea unei componente se face prin parcurgerea tuturor componentelor care se aflau în ordinea specificată, atunci structura are un acces secvențial.

Dacă o componentă din structură poate fi selectată fără a ține seama de celelalte componente, atunci structura are un acces direct.

Componentele unei structuri de date pot fi date elementare sau pot fi ele insele structuri de date.

Asupra unei structuri de date se pot efectua o multitudine de operații care se refera la valori și/sau la structură. Dintre acestea, cele mai frecvente sunt:

• crearea (memorarea datelor în forma inițială pe suport de memorie);

• consultarea (accesul la componentele structurii în vederea prelucrării valorilor);

• actualizarea (schimbarea stării structurii prin: adăugarea, ștergerea unor elemente, modificarea valorii unor elemente, modificarea relațiilor dintre elemente);

• sortarea (aranjarea elementelor unei structuri după anumite criterii);

• ventilarea (spargerea structurii în două sau mai multe structuri);

• fuzionarea (formarea unei noi structuri din două sau mai multe structuri);

• copierea;

• interclasarea.

Operațiile la care poate fi supusă o structură de date și eficiența cu care acestea pot fi realizate, depind in mare măsură de relațiile între datele materializate pe suportul de memorie.

Toate structurile de date care au aceeași organizare și sunt supuse acelorași operații formează un anumit tip de structură de date.

Un tip de structură de date este o mulțime ordonată de date între care s-au stabilit anumite relații și pentru realizarea operațiilor se folosește un grup de operatori de bază cu o anumită semantică.

d) Baze de date

Evoluția metodelor și tehnicilor de organizare a datelor a fost determinată de necesitatea de a avea un acces cât mai rapid și mai ușor la un volum din ce în ce mai mare de informații precum și de perfecționarea echipamentelor de culegere, memorare, transmitere și prelucrare a datelor.

În esență, 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.

Baza de date astfel definită trebuie să îndeplinească următoarele condiții:

• 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ță minima ș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, ca:

• după orientare: generalizate, specializate;

• după modelul de date: ierarhice, rețele, relaționale, orientate obiect;

• după amploare geografică: locale, distribuite;

• după limbajele utilizate: autonome (limbaje proprii), cu limbaj gazdă, mixte;

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 complexă 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, operatori);

Arhitectura bazei de date dă o imagine despre modul general de organizare și funcționare a ei.

Structured Query Language (SQL-limbajul structurat de interogare) este limbajul standard de factor folosit pentru manipularea și regăsirea datelor din aceste baze de date relaționale. Prin SQL, un programator sau un administrator de baze de date poate face următoarele lucruri:

• Să modifice structura bazei de date

• Să schimbe valorile de configurare pentru securitatea sistemului

• Să adauge drepturi utilizatorilor asupra bazelor de date sau tabelelor

• Să interogheze o bază de date asupra unor informații

• Să actualizeze conțrhutul unei baze de date

Cea mai folosită insrucțiune din SQL este SELECT. Această instrucțiune regăsește datele din baza de date și le returnează utilizatorului.

În mod curent, există două metode uzuale de folosire a SQL într-un program aplicativ:

• Embedded SQL (SQL încapsulat)

• CaII level interface for SQL (Interfața de nivel apel pentru SQL) SQL a fost realizat prima dată ca un standard ANSI în 1986. Standardul ANSI 1989 (numit deseori SQL-89) definește trei tipuri de realizare a interfeței cu SQL într-un program de aplicație:

• Module Language (Limbaj modular): Folosește proceduri în cadrul programelor. Aceste proceduri pot fi apelate de programul aplicației și pot returna valori în program prin transmiterea parametrilor.

• Embedded SQL (SQL încapsulat): Folosește instrucțiuni SQL încapsulate în codul de program. Acest lucru necesită adesea folosirea unui precompilator pentru procesarea instrucțiunilor SQL. Standardul definește instrucțiuni pentru Pascal, FORTRAN, COBOL și PL/1.

• Direct Invocation (Apelul direct): Este lăsată la alegerea persoanei care implementează programul.

Embedded SQL (SQL încapsulat a fost cea mai folosită formă de SQL într-un limbaj de programare de foarte mult timp). Folosește ceea ce se numește static SQL (SQL static). Această înseamnă că instrucțiunea SQL este compilată în cadrul aplicației și nu poate fi schimbată în timpul execuției programului. Principiul este aproape la fel ca deosebire dintre un compilator și un interpretor.

Standardul ANSI 1992 (SQL-92) a extins limbajul și a devenit un standard internațional- Sunt definite trei niveluri de conformitate cu SQL: introductiv, intermediar și complet.

Noile caracteristici introduse includ următoarele:

• Conectările la baza de date

• Cursoare derulante

• SQL dinamic

• Joncțiuni externe

Toate aceste extensii sunt prezentate în această carte, la fel ca și extensiile propri folosite de producătorii de sisteme de baze de date. SQL dinamic va permite pregătirea instrucțiunii SQL în timpul execuției aplicației. Deși performanța pentru acest tip de SQL nu se ridică la nivelul celei pentru SQL încapsulat, totuși asigură programatorului aplicației (și utilizatorului) un grad mare de flexibilitate. O interfață de nivel apel, cum ar fi ODBC sau biblioteca bazei de date Sybase, este un exemplu de folosirea SQL dinamic.

Interfețele de nivel apel ar trebui să nu fie conceput nou pentru programatorii de aplicații. Când se folosește ODBC, de exemplu, se completează pur si simplu o variabilă cu instrucțiunea SQL și se apelează funcția pentru a trimite instrucțiunea SQL și se apelează funcția pentru a trimite instrucțiunea SQL la baza de date. Erorile sau rezultatele pot fi returnate programului prin folosirea altor apeluri de funcții proiectate pentru aceste scopuri. Rezultatele sunt returnate prin operația numită "Legarea Variabelelor" (binding).

Așa cum s-a menționat, Query (Interogare) este cu adevărat un termen impropriu. O interogare SQL nu este neapărat o întrebare pusă bazei de date. Poate fi și o comandă pentru executarea uneia dintre acțiunile următoare:

• Să construiască sau să șteargă o bază de date;

• Să insereze, să modifice sau să șteargă linii sau câmpuri;

• Să caute în câteva tabele o anumită informație și să returneze rezultatele într-o anumită ordine;

• Să modifice securitatea informațiilor;

2.3.2 Serverul de baze de date Microsoft SQL

a) Introducere

Microsoft SQL este un sistem de gestiune a bazelor de date relațional construit pe modelul client-server ce folosește limbajul SQL (SQL=Structured Query Language), foarte rapid și ușor de utilizat. Microsoft SQL respectă standardul ANSI . Câteva dintre facilitățile oferite merită să fie menționate:

• Viteză. Microsoft SQL este rapid.

• Ușurință în utilizare. Microsoft SQL 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.

• Suport pentru limbaje de interogare. Microsoft SQL înțelege SQL (Structured Query Language – limbaj de interogare structurat), limbajul preferat al tuturor sistemelor moderne de baze de date. De asemenea, puteți avea acces la Microsoft SQL folosind aplicații care acceptă ODBC (Open Database Connectivity), un protocol de comunicație cu bazele de date, creat de Microsoft.

• La server se pot conecta mai mulți clienți simultan. Clienții pot folosi mai multe baze de date simultan. Se poate obține acces la Microsoft SQL în mod interactiv, care să permită introducerea de interogări și vizualizarea rezultatelor: clienți în linie de comandă, browsere Web sau clienți X Window System. De asemenea, este disponibilă o varietate de interfețe de programare pentru limbaje precum C,C#, Java, PHP și Python.

• Conectivitate și securitate. Microsoft SQL poate fi folosit integral în rețele, iar bazele de date sunt accesibile de oriunde din Internet, deci vă puteți partaja datele cu oricine, oriunde. Dar Microsoft SQL are controlul accesului, astfel încât persoanele care nu au dreptul să vă citească datele nu vor avea această posibilitate.

b) Terminologia folosită în arhitectura sistemului Microsoft SQL

Când folosiți Microsoft SQL, în realitate utilizați două programe, deoarece Microsoft SQL operează folosind o arhitectură client/server:

• Serverul de baze de date este un program localizat în calculatorul unde sunt stocate datele dumneavoastră. Acesta ascultă cererile clienților care sosesc prin rețea si obțin acces la conținutul bazei de date în funcție de aceste cereri, pentru 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 ca doi utilizatori să nu poată mo difica aceeași înregistrare simultan. Toate cererile clienților trec prin server, deci serverul determină clientul care execută cutare operație si când o execută. Dacă mai mulți clienți doresc simultan accesul la același tabel, ei nu sunt obligați să se găsească si să negocieze unii cu alții. Ei își trimit cererile la server și îl lasă pe acesta să se ocupe de determinarea ordinii în care vor fi onorate cererile.

Structura bazei de date

Pentru a ne putea face o baza de date trebuie ca serverul de baze de date Microsoft SQL Server 2012 să fie pornit. În continuare va trebui să deschidem Programs(Microsoft SQL Server(Enterprise Manager pentru a putea creea baza de date, de unde facem click dreapta pe Database(New Database și introducem numele bazei de date. Pentru creearea de tabele, se selecteaza baza de date în care dorim să creem o tabelă, facem click dreapta pe Tables(New Table… si introducem capetele de tabel dorite.

După ce am creeat tabele trebuie să facem diagrama , facând click dreapta pe Diagrams(New Database Diagram și apare o casetă numita: New Database Diagram Wizard unde avem de urmat trei pași. O dată ce baza de date a fost creată și relațiile dintre tabele realizate, diagrama va arăta în felul următor:

1               Studiul cerintelor

          Problema propusa spre rezolvare se incadreaza in domeniul auto avand ca scop scurtarea timpului de cautare a unor servicii, cum ar fi cumpararea de masini, inchirierea si repararea acestora , prin realizarea unei aplicatii web.

Obiectivul aplicatiei este de a oferi servicii care sa raspunda unor cerinte auto exigente de siguranta si confort.

Prin realizarea aplicatiei informatice se urmareste eficientizarea informarii vizitatorilor si a celor care ofera astfel de servicii. Va fi astfel necesar sa se poata oferi in orice moment informatii dupa diferite criterii. Pentru a impiedica efectuarea de inscrieri fictive care ar conduce la pierderi importante de timp, se vor folosi conturi si parole de autentificare.

Pentru fiecare tip de utilizator se impune realizarea unui modul independent ce va asigura suportul total pentru satisfacerea in timp real a necesitatilor.

1.2.         Modelul cazurilor de utilizare

In urma descrierilor facute in studiul cerintelor se contureaza urmatoarele cazuri de utilizare:

 administrare sistem – actualizeaza baza de date

 autentificare utilizator – permite introducerea contului si a parolei in vederea adaugari de anunturi sau primirea de informatii referitoare la anunturile deja existente sau recent introduse

 setarea parametrilor de cautare – cautarea unui anunt cu datele prestabilite de utilizator

   vizionare anunturilor – permite parcurgerea listei cu anunturi

 adaugarea unui anunt – permite utilizatorilor inscrierea gratuita de anunturi noi pe site

Actorii care  interactioneaza cu sistemul sunt urmatorii:

 administrator  sistem – administreaza baza de date a sistemului

 utilizatorii inregistrati – vizioneaza anunturile, adauga anunturi, editeaza sau sterg anunturile adaugate de ei

 vizitatori – vizioneaza anunturile, adauga anunturi

Diagrama generala a cazurilor de utilizare este prezentata in Figura 1.2.1 si cu ajutorul ei se poate delimita aria de cuprindere a sistemului si se pot identifica cerintele.

Figura 1.2.1 Diagrama generala a cazurilor de utilizare

Detalierea cazurilor de utilizare

Autentificare utilizator: Realizeaza operatia de autentificare pentru un utilizator al programului.

Actori:   administrator aplicatie, useri inregistrati si utilizatori.

Flux principal de evenimente: actiunile efectuate de utilizator sunt urmatoarele:

Introducere identificator utilizator si parola.

Programul verifica corectitudinea informatiilor introduse.

Daca informatiile sunt corecte, atunci se permite accesul utilizatorului in sistem, iar cazul de utilizare se incheie.

Flux alternativ de evenimente:  daca informatiile nu sunt corecte:

Se afiseaza un mesaj de eroare si se solicita reintroducerea informatiilor pentru autentificare.

Utilizatorul poate reincerca autentificarea, deci se reia cazul de utilizare cu fluxul principal de evenimente.

Utilizatorul renunta, cazul de utilizare luand sfarsit.

Administrare: Descrie secventele de actiuni prin care se adauga/modifica/sterg informatiile despre utilizatorii aplicatiei si prin care se actualizeaza lista de servicii oferite.

Actori: administrator sistem

Flux principal de evenimente: actiunile executate de administrator, atunci cand sterge un anunt al unui utilizator, sunt:

Citirea anuntului, stabilind daca s-au incalcat conditiile de utilizare a siteului sau nu.

In cazul incalcarii anumitor conditii administratorul identifica persoana care a postat.

Sterge anuntul din baza de date.

Trimite avertizment utilizatorului care a incalcat conditiile.

Salveaza in baza de date avertismentul.

Diagrama detaliata a cazului de utilizare administrare este prezentata in Figura 1.2.2

Figura 1.2.2 Diagrama detaliata a cazului de utilizare administrare

Adaugare anunt: Descrie operatia de populare a bazei de date cu anunturi .

Actori: utilizator.(cu cont activ)

Flux principal de evenimente: Actiunile efectuate la adaugarea unui anunt sunt:

Autentificare utilizatorului.

Accesarea paginii care permite realizarea acestei operatiuni

Completarea chestionarului cu informatiile corespunzatoare autovehiculului

Inregistrarea anuntului in baza de date.

Preconditii: Utilizatorul trebuie sa aiba un cont valid pe website.

Postconditii:  Anuntul se inregistreaza in baza de date.

Diagrama detaliata a cazului de utilizare adaugare anunt este prezentata in Figura 1.2.3

Figura 1.2.3 Diagrama detaliata a cazului de utilizare adaugare anunt 

Adaugare service: Descrie operatia de populare a bazei de date cu service-uri .

Actori: utilizator.(cu cont activ)

Flux principal de evenimente: Actiunile efectuate la adaugarea unui anunt sunt:

Autentificare utilizatorului.

Accesarea paginii care permite realizarea acestei operatiuni

Completarea chestionarului cu informatiile corespunzatoare operatiunilor practicate in acel service

Inregistrarea anuntului in baza de date.

Preconditii: Utilizatorul trebuie sa aiba un cont valid pe website.

Postconditii:  Anuntul se inregistreaza in baza de date.

Diagrama detaliata a cazului de utilizare adaugare service este prezentata in Figura 1.2.4

Figura 1.2.4 Diagrama detaliata a cazului de utilizare adaugare service

Vizualizare Anunturi:  Ofera posibilitatea utilizatorului de a vizualiza anunturi sortate dupa anumite criterii selectate de acesta.

Actori: utilizatorul.(vizitator)

Flux principal de evenimente:

Include cazul de utilizare autentificare utilizator .

Se selecteaza filtrele dorite pentru a vizuliza anunturile.

Preconditii: Informatiile ce privesc anunturile trebuiesc introduse in baza de date.

Diagrama detaliata a cazului de utilizare vizualizare anunt este prezentata in Figura 1.2.5

Figura 1.2.5 Diagrama detaliata a cazului de utilizare vizualizare anunt

Diagrama detaliata a cazurilor de utilizare este prezentata in Figura 1.2.6

Figura 1.2.6 Diagrama detaliata a cazului de utilizare 

1.3.          Cerinte de interfata

Aplicatia va avea o interfata prietenoasa cu utilizatorul pentru a permite o interactiune cat mai usoara cu operatorul uman. Utilizatorul trebuie sa aiba doar notiuni elementare despre utilizarea unei aplicatii cu interfata grafica precum si despre navigarea in cadrul unui site web.

Obtinerea de informatii se realizeaza prin integrarea naturala a elementelor de raportare, analiza si monitorizare a performantelor activitatilor. De asemenea, prezentand o arhitectura scalabila si o singura metadata, utilizatorii pot naviga cu usurinta de la meniuri si tabele de performanta catre rapoarte si analize fara a fi nevoiti sa foloseasca o multitudine de instrumente si sa interactioneze cu diverse interfete.

Se doreste ca aplicatia sa fie un produs software accesibil oricarei categorii de utilizatori ai unui calculator. Totusi, avand in vedere complexitatea aplicatiei, este necesara realizarea unor interfete dedicate in functie de rolul utilizatorului: administrator, utilizator.

1.4.         Alte aplicatii informatice utilizate in domeniu

Pana in prezent au fost create foarte multe aplicatii informatice care au ca obiectiv publicarea de anunturi cu caracter informativ despre maisni. Acestea sunt mai simple sau mai complexe, oferind o gama mai restransa sau mai larga de facilitati.

Prezentam in continuare cateva din aplicatiile existente in domeniul auto.

Site-ul http://www.autovit.ro este cel mai renumit site de anunturi auto la ora actuala din Romania . Desi nu este un site in care anunturile se pot posta gratis, are peste 54.000 anunturi auto cu un numar de peste 29.000 de vizitatori unici si peste 200.000 de afisari pe zi.Este un site complex care inglobeaza diferite tipuri de anunturi cum ar fi: anunturi de autoturisme, motociclete si atv-uri, utilaje de constructii, utilaje agricole si nu in ultimul rand piese-dezmembrari.

Site-ul http://www.bestauto.ro este al doilea ca numar de vizitatori unici si afisari din Romania . Spre deosebire de principalul sau concurent site-ul bestauto.ro va pune la dispozitie 4 metode de audaugare si promovare anunt, 3 dintre ele fiind contra cost, iar ce-a de-a 4 varianta este gratuita.

Site-ul http://www.mobile.de este cel mai mare site de automobile din Europa, avand peste 1.200.000 de anunturi si peste 1.800.000 afisari pe zi fiind in top 600 cele mai accesate siteuri din lume.

5.ARHITECTURA  MAGAZINELOR ONLINE

5. 1.  Notiuni generale  

Un site web este compus din doua parti fundamentale: interfata si cod behind (codul din spatele interfetei), care nu se vede, si anume functionalitatea (partea de programare).

Interfata unei pagini web este ceea ce vizitatorul vede, este partea cu care utilizatorul interactioneaza, este imaginea si identitatea unei pagini web. Realizarea ei este foarte importanta deoarece ea poate determina revenirea sau nu a clientului. Interfata trebuie sa fie bine structurata, trebuie sa comunice eficient si sa se potriveasca cu mesajul administratorului. Utilizatorul trebuie sa reuseasca sa interpreteze cu usurinta informatiile pe care autorul paginii web doreste sa le transmita prin felul în care a organizat textul, imaginile, animatiile, etc.

Primul element al interfetei, întâlnit la majoritatea site-urilor, este bannerul. Acesta cuprinde titlul paginii si câteva elemente grafice. Urmatorul element este întâlnit la cele mai multe din site-urile profesionist realizate si anume meniul al carui rol este acela de a permite navigarea rapida prin paginile site-ului. Urmeaza apoi, de regula trei coloane verticale în care sunt organizate informatiile, sunt prezentate ofertele si promotiile sau incluse diferite formulare de autentificare, înscriere. Corpul paginii este încadrat de cele doua coloane si se finalizeaza, de cele mai multe ori cu acelasi meniu din partea de început. Este bine ca proiectantul site-ului sa nu încarce excesiv aceste sectiuni din doua motive, în primul rând o aglomeratie de informatii ar putea bulversa un vizitator mai putin initiat în privinta lucrului cu Internetul, si în al doilea rând eventualele optiuni care ar putea aparea în viitor nu ar mai avea spatiu pentru adaugare.

Partea centrala a site-ului cuprinde, în general fie produsele din promotii fie articolele saptamânii fie reclame, în functie de domeniul în care activeaza pagina web. Acestea sunt însotite de informatii suplimentare, cum ar fi pretul, caracteristicile, data publicarii, accesari etc. Paginile cuprind si câteva date statistice cu numarul total de vizitatori, recordul de vizitatori pe zi, numarul de articole, produse accesate/descarcate într-o perioada. Pentru ca aceste informatii sa fie credibile, acestea sunt validate de site-uri specializate în urmarirea si analiza numarului de utilizatori (www.trafic.ro).

În partea dreapta a paginii poate fi întâlnit un modul de cautare a articolelor, produselor, etc. foarte important indiferent de domeniul din care face parte pagina web. Cautarea poate fi facuta dupa nume, categorie, pret sau caracteristici. Unele site-uri ofera si link-uri catre paginile oficiale ale utilitarelor necesare parcurgerii/navigarii (de exemplu Acrobat Reader un program specializat pe citirea documentelor de tip PDF).

Înainte de a se trece la partea de programare din dezvoltarea site-ului se recomanda ca interfata sa fie terminata pentru ca, dupa ce se începe implementarea efectiva (de exemplu în Asp.NET va fi relativ dificila modificarea aspectului initial al site-ului.

ASP.NET este un set de tehnologii care ne permit crearea de aplicații web. Este evoluția de la Microsoft Active Server Pages (ASP), dar beneficiază de suportul platformei de dezvoltare Microsoft .NET.

Una dintre cele mai importante calități ale ASP.NET este timpul redus necesar dezvoltării aplicațiilor web. Chiar dacă ASP.NET este gândit pentru a dezvolta aplicații web foarte complexe – prin faptul că se bazează pe .NET, prin faptul că se insistă pe un model de dezvoltare OOP, respectiv pe separarea interfeței de logica aplicației – totuși, este extrem de simplu ca folosind ASP.NET să dezvoltăm aplicații mici, de genul magazinelor online, al aplicațiilor care sunt pur și simplu un ”front-end” pentru o bază de date, sau al site-urilor personale.

ASP.NET cuprinde toate tehnologiile necesare pentru a dezvolta o aplicație web, scriind cantitatea minimă de cod. Limbajele de programare care pot fi utilizate pentru a crea aplicații ASP.NET sunt cele suportate de platforma .NET – cum sunt Visual Basic .NET și C#, iar o altă caracteristica importanta a acestor limbaje (înafara faptului că sunt ”managed”) este ca au fost create având în vedere paradigma programării orientată pe obiecte. Totul din .NET, și vident din ASP.NET, este un obiect. Evident, orice site / aplicație web trebuie să fie găzduită pe un server pentru a putea fi utilizată.

Ca solutii alternative ar putea fi utilizate combinatiile:

ca limbaj de programare  PHP;

ca server de baze de date  MySQL;

ca server web  Apache

Php este un limbaj de tip script proiectat special pentru web, care ruleaza pe server. În cadrul codului HTML al unei pagini web se poate insera cod PHP care va fi executat de fiecare data când acea pagina este vizitata Codul PHP este interpretat de catre serverul web, fiind generat cod HTML sau orice alt tip de continut cum ar fi de exemplu fisiere grafice.

Limbajul acesta a fost creat în 1994 de catre Rasmus Lerdorf si preluat apoi si se alti programatori ajungându-se în prezent la utilizarea lui de catre aproximativ 20.000.000 de domenii si 1.200.000 adrese IP.

Sursa: http://www.php.net/usage.php

5. 2.  Crearea unui site auto

            Cerintele unei aplicatii informatice de aceste dimensiuni se pot realiza pornind de la trei module elementare:

    Autentificarea;

    Catalogul de produse si servicii oferite;

    Administrarea aplicatiei.

1.  Autentificarea

Un sistem de autentificare presupune, în primul rând, permiterea accesului pentru fiecare dintre utilizatori la serviciile oferite de o aplicatie, de un sistem, în functie de identitatea clientului.

De cele mai multe ori autentificarea se face pe baza unui nume de utilizator, pentru a stabili identitatea vizitatorului, si a unei parole de acces la resursele aplicatiei. Aceste informatii se stabilesc în momentul completarii formularului de înscriere, de catre posibilul client. Abia dupa aceasta etapa vizitatorul, acum utilizator poate beneficia, în totalitate de serviciile oferite de magazinul virtual.

În aceasta etapa ar putea aparea o serie de probleme pe care cel care a creat aplicatia trebuie sa le prevada si sa le previna. Una din aceste probleme ar fi introducerea, de catre client, a unor date incorecte si ar putea fi preîntâmpinata prin aparitia, de fiecare data, a unui mesaj de avertizare.

Exemplu: vizitatorul a uitat numele de utilizator (username-ul) sau parola. Problema va putea fi rezolvata daca se trimite în casuta de email a clientului din nou datele de identificare necesare pentru autentificare.

Reamintirea parolei se va face la cererea clientului care va completa, în momentul selectarii acestei optiuni, un formular cu datele utilizate la înscriere (nume, prenume, adresa de e-mail). Dupa aceasta etapa va putea folosi vechiul cont dar cu introducerea unei parole noi criptata si stocata într-o baza de date. Nu se va face, astfel o reamintire a parolei, ci va fi generata cu ajutorul algoritmului si a unei chei de criptare o noua parola.

Daca utilizatorul nu îsi aminteste datele cerute în formular singura solutie posibila va fi crearea unui nou cont de utilizator. 

Parola, în momentul în care un vizitator doreste sa-si creeze un cont nou, valoarea câmpului parola va fi criptata cu ajutorul unei functii predefinite . Este indicata obligarea utilizatorilor la folosirea unor parole cât mai lungi, pentru o criptare cât mai sigura dar si mai dificila.

Functia are doi parametrii:

    sirul care urmeaza a fi criptat (parola utilizatorului);

    cheie de criptare (optional). 

2.  Catalogul de produse si servicii

            Oferta de bunuri si servicii poate fi considerata un mecanism de vizualizare a produselor facilitând selectarea si cunoasterea lor.

            Un exemplu pentru acest mecanism din cadrul aplicatiei este achzitia unei masini. Astfel, se alege categoria "Auto", se selecteaza unul din produsele acestei grupe, se studiaza caracteristicile sale detaliate, dupa care fie contactam proprietarul fie cautam alt produs cu aceleasi caracteristi sau mai buune.

Se continua:

    fie cu selectarea altor produse din aceeasi categorie sau din categorii diferite;

    fie cu modificarea parametrilor produs;

3. Administrarea aplicatiei

             Succesul oricarui site on-line depinde de modul în care acesta este întretinut. Administrarea aplicatiei se face într-un mod dinamic. Ea nu este destinata utilizatorilor obisnuiti, ci doar administratorilor care se ocupa de buna functionare a acestuia

5.3.         Detalierea interfetei

Deoarece unul din scopurile implementarii noastre a fost sa dezvoltam un sistem unitar care sa poata fi cu usurinta modificat, extins si actualizat in viitor, am ales pentru implementarea interfetei Web a produsului, tehnologia  ASP.NET, care este foarte flexibila, iar .NET este o platforma al carei limbaj star este C# si care ofera independenta fata de limbajul de programare.  

          La conceperea interfetei s-a avut in vedere ca prin intermediul aplicatiei se lucreaza  online, in principal pentru adaugarea de si postarea de anunturi.  

   Primul element al interfetei site-ului, comun majoritatii paginilor web, este bannerul. El cuprinde, în cazul de fata numele siteului, "rarauto.ro" si contine 2 butoane. Un buton pentru autentificare si un buton pentru inregistrare. Cele doua butoane sunt extrem de importante in utilizarea in cazul in care nu doresti sa fii un simplu vizitator si vrei sa postez anunturi pe acest site.

Prin selectarea butonului „Inregistrare” se va face redirectionarea spre pagina de inregistrare, aceasta cuprinde sase campuri. Aceste campuri sunt utilizate pentru a memora cateva date despre utilizator. Aceste campuri sunt obligatorii iar necomplectarea lor sau complectarea lor incorect va fi semnalata prin mesaje de avertizare.Cele cinci campuri contin date precum numele, prenumele, adresa de email, parola pentru a se putea loga pe site si numarul de telefon.In figura 5.3.1 este prezentata operatia de creare de cont cu mesajele de eroare.

Figura 5.3.1 Operatia de creare de cont cu mesajele de eroare

Neintroducerea numelui sau a prenumelui va fi avertizata prin * rosie de dupa text box. Daca la reintroducerea parolei aceasta se scrie diferit fata de cea anterioara va aparea mesajul „Parola introdusa gresit. Va rugam reincercati” . Prin neintroducerea simbolului „@” in adresa de email aceasta va genera mesajul de eroare „Introdu o adresa de e-mail valida”. Daca continutul numarului de telefon nu este de 10 cifre sau sunt introduse litere in locul cifrelor va aparea mesajul de eroare „Introduceti un numar de telefon valid”.

Daca toate conditiile au fost respectate si nu exista nici un mesaj de eroare atunci inregistrarea poate sa fie salvata in baza de date. Continutul parolei salvate in baza de date este unul criptat dupa o cheie predefinita.

Alegand butonul „Autentificare” acesta ne va redirectiona spre pagina de autentificare unde vom avea nevoie de datele introduse in tabelul din pagina de inregistrare pentru a ne putea loga. Vom avea nevoie de adresa de email si de parola. Daca una din cele doua date nu corespunde cu datele introduse de noi anterior, autentificarea nu se va face si veti primi un mesaj de eroare.In momentul in care autentificarea a fost realizata cu succes veti fi redirectionati spre pagina „Prima pagina” si va aparea in locul optiunii de autentificare adresa de email cu care suntem autentificati iar locul butonului de inregistrare va fi luat de cel al butonului de „Delogare”. Figura 5.3.2 contine operatiunea de dupa logare unde sunt prezente cele 2 butoane.

Figura 5.3.2 Operatia de schimbare a butoanelor si respectiv a functiilor

Urmatorul element prezent este meniul, o componenta care nu lipseste din marea majoritate a paginilor web. Rolul lui este acela de a permite, de a oferi o navigare cât mai rapida si eficienta prin paginile site-ului. În acest caz meniul este unul orizontal cu conexiuni catre sase pagini de informatii: „Prima Pagina”, „Parerea ta”, „Adauga Anunt”, „Inchirieri Auto”, Service Auto”, „Anunturile Mele”. Sectiunea „Adauga Anunt” contine un submeniu cu 3 pagini: „Anunt Auto ”, „Anunt Inchirieri”, Anunt Service”.

Pagina principala este împartita în doua sectiuni. În partea stanga a site-ului sunt prezentate sase controllere pentru a putea filtra anuntul in functie de ce dorim sa cautam. Controller sunt de timpul „drop down list”, popularea acestora cu iteme facandu-se din baza de date.Contollere cu o selectie aleatoare sunt prezentate in Figura 5.3.1

Figura 5.3.1 Controllere

Tot in partea stanga sub controller gasim 2 butoane: “Cautare” si “Cautare Avansata”. Primul buton si anume “Cautare” face o filtare in baza de date a anunturilor si face redirectionarea catre pagina Cauta_anunt.aspx in care anunturile sunt incarcate si sunt disponibile pentru vizualizare. Cel de-al doilea buton “Cautare Avansata” are ca scop redirectionarea spre pagina “Cautare_avansata.aspx”, unde anunturile pot fi filtrate dupa cincizecisipatru de filter de cautare. O mare parte din aceste filter vor fi prezentate in Figura 5.3.2.

.  Figura 5.3.2 Filtrele de cautare ale paginii “Cautare_avansata.aspx”

Dupa selectarea filtrelor dorite si apasarea butonului “Cautare ” din partea de jos a paginii, veti fi redirectionat catre pagina Cauta_anunt.aspx. Informatiile din filtre vor fi trasmise pe pagina Cauta_anunt.aspx prin intermediul url-ului, campurile de tip text box si drop down list vor avea vor avea valori precum “Marca=Audi&Model=A7”, sau vor fi string.empty adica nu au fost selectata nici o valoare. Controlleru de tip check box va fi trimis prin intermediu Url-ului avand valorile true sau false acesta insemnand la true a fost selectat filtrul respectiv iar daca e false filtrul respectiv nu a fost selectat.Datele sunt salvate intr-un string si sunt transmise cu ajutorul comenzii “Response.Redirect()”. Transmiterea datelor prin intermediul url-ului este prezentata in Figura 5.3.3

Figura 5.3.3 Transmiterea datelor prin intermediul url-ului

Dupa cum se poate observa in Figura 5.3.3 selectia autovehiculului contine anul de la care porneste autovehiculul si dotarea ABS a acestuia. Momentan baza de date contine doua anunturi cu aceste doua caracteristici. In Figura 5.3.4 este prezentata incarcarea si afisarea anunturilor pe pagina dupa anumite criterii.

Figura 5.3.4 afisarea anunturilor pe pagina dupa anumite criteria

 Afisarea anunturilor pe pagina „Cauta_anunt.aspx” cumprinde doar cateva elemente esentiale din anuntul propriuzis. In figura 5.3.5 sunt prezentate elementele primului anunt.

Figura 5.3.5 Prezentarea elementelor unui anunt.

Pentru a putea viziona anuntul complect cu toate specificatiile nu trebuie decat sa dam click pe poza sau pe numele masinii. In momentul in care dam click pe unul din cele 2 iteme mentionate anterior, vom trimite in Url id-ul anuntului, preluat anterior din baza de date, iar pagina Show_anunt.aspx va incarca toate itemele anuntului.

Figura 5.3.6

In Url-ul paginii distingem “id=1083” ceea ce reprezinta id-ul anuntului preluat din baza de date, si reperul nostru pentru a verifica corectitudinea datelor si a functiilor utilizate referitoare la anunt.In partea dreapta, sub meniu, se pot distinge doua tabele. In partea dreapta este un table cu informatii esentiale despre masina, iar in partea stanga sunt pozele pe care se poate aplica un zoom pentru a putea fi vizualizate mai bine. Acest zoom este prezentat in figura 5. 3.7.

Figura 5.3.7

In figura 5.3.8 ne este prezentata partea de dotari a masinii. Am grupat aceste dotari in trei mari categorii si anume „Caracteristici exterioare”, „ Confort si design interior” si nu in cele din urma „Siguranta”. Tabelul dispune si de o scurta „Descriere” facuta de catre proprietar si contine specificatiile suplimentare pe care cel ce a adaugat anuntul doreste sa le faca despre masina.

Figura 5.3.8

Revenind la „Prima pagina” in partea dreapta sub meniu este pozitionata o galerie care face rularea imaginilor. Aceste imagini sunt incarcate din fisierul „Images” din interiorul siteului si au scop informativ. Numarul de imagini care poate fi rulat in conditiile actuale este trei dar nu este numarul maxim. Imaginile se pot inlocui cu usurinta si sunt destinate informarii vizitatorilor despre noile modificari sau oferte in ceea ce priveste siteul.In figura 5.3.8 este prezentata aceasta galerie.

Figura 5.3.8 Rulare de Imagini

A doua component a meniului este “Parerea Ta”. Deoarece vizitatorii sunt un element cheie al siteurilor web s-a realizat un forum in care persoanele care viziteaza acest site sa isi poata da cu parerea despre el sa ne zica ce nu le place si ce ar mai trebuii imbunatatit. Conditia pentru a posta in acest forum este sa ai un cont active pe site si sa te autentifici. Citirea postarilor se poate face si fara a indeplinii conditiile de postare.

A treia component a meniului este “Adauga Anunt”. Aceasta rubrica contine un submeniu cu trei posibilitati “Anunt Auto” , “Inchirieri Auto”, “Service”.

Rubrica “Anunt Auto” este dedicata tuturor persoanelor care au un autoturism care il ofera spre vanzare si doresc sa foloseasca serviciile sitului web pentru a face public anuntul. Conditiile care trebuie indeplinite pentru a putea adauga un anunt este ca persoana care doreste sa faca acest lucru, sa detina un cont activ pe site si sa se autentifice. In cazul in care nu este autentificata in momentul in care doreste sa adauge un anut o fereastra de tip “pop up” se v-a deschide, v-a bloca continulul siteului, afisand mesajul “ Trebuie sa va autentificati pentru a adauga un anut”. Fereastra de tip pop-up contine 2 butoane. Butonul “OK” care face redirectionarea inspre pagina de autentificare si butonul “Anulati ” care face redirectionarea spre pagina de home. Fereastra de tip pop-up este prezentata in figura 5.3.9.

Figura 5.3.9 Fereastra de tip pop-up

Daca am indeplinit conditiile de adaugare anunt atunci fereastra de tip pop-up nu se va mai deschide si puteam parcurge formularul pentru a dauga un anunt. Acest formular contine trei tipuri de contollere: drop down list, text box, check box, avand si posibilitatea de a adauga poze. Datele din drop down list sunt preluate din baza de date si sunt incarcate in pagina odata cu incarcarea paginii.

Pagina este structurata in cinci mari categorii. Prima categorie este “Detalii vehicul” care contine doua tip de campuri: campuri oblicagorii care sunt identificate prin “*” de la sfarsitul descrierii controllerului. Campurile oblicatorii sunt: “Marca”, “Model”, “Tip”, “Anul Fabricatiei”, “Luna Fabricatiei”, “Motorizare”, “Capacitate”, “Cutie de viteza”, “Norme Euro”, “Culoare”, “Kilometraj”, “Consum”, “Stare”, “Taxa” si “Pret”.Campurile care nu sunt obligatorii sunt “Putere maxima” si “Volan”.

Cea de-a doua categorie este Localizare vehicul care contine trei drop down list-uri. Primul drop down list este “Tara de provenienta ” care este singurul camp ce nu este obligatoriu pentru complectare. Celelalte doua campuri “Tara in care se afla ” respectiv “judetul in care se afla ” sunt campuri obligatorii pentru complectare.

Daca unul dintre campurile obligatorii nu a fost complectat un mesaj de eroare va aparea in pagina continand mesajul “Unul din campurile obligatorii nu a fost selectat. Va rugam verificati!!!”.Pentru a exemplifica au ramas neselctate campurile care contin “Marca” si “Modelul”. Mesajul de eroare este prezentat in figura 5.3.10

Figura 5.3.10 Mesajul de eroare pentru campurile neselectate

A treia categorie contine dotarile pe care o masina le poate poseda. Toate campurile din aceasta categorie sunt de tipul check box si trebuie doar sa le selectam pentru a aparea in descrierea autovehiculului. Gruparea dotarilor este facuta in trei sectiuni pentru a putea fi mai usor de reperat de catre utilizator. Prima sectiune, avand denumirea, “ Caracteristici exterioare ” contine urmatoarele caracteristici: “Jante de aliax”, “Bare portbagaj”,” Faruri cu xenon”,”Carlig remorcare”, “Culoare metalizata”, “Geamuri colorate” si “Trapa”.

Cea de-a doua sectiune are denumirea de “Confort si design interior” si cuprinde “Sistem de incalzire auxiliar”, “Inchidere centralizata”, “Sistem de navigatie”, “Comenzi volan”, “Climatizare”, “Pilot automat”, “ITP nou”, “Computer bord”, “Dublu climatronic”, “Scaune incalzite electric”, “Parbriz incalzit”, “Oglinzi electrice”, “Tapiterie din piele”, “Geamuri electrice”, “Radio/CD”.

Ce-a de-a treia sectiune o regasim sub denumirea de “Siguranta” continand urmatoarele iteme: “ABS”, “ESP”, “EDS”, “Airbag”, “Proiectoare ceata”, “Tractiune 4×4”, “Controlul tractiunii”, “Servo directie”, “Alarma”, “Senzori ploaie”, “Dispozitiv antidemaraj electric”, “Suspensie reglabila”, “Antifurt mecanic” , “Imobilizator”, “Cadru de protectie”, “Fara accident”, “Senzori parcare”.

Toate aceste iteme sunt prezentate in figura 5.3.11

Figura 5.3.11

A patra categorie a paginii “Adauga Anunt” este cea de adaugare de poze. Persoana care doreste sa adauge un anunt are posibilitatea de a adauga sase poze. Acestea sunt salvate in baza de date si sunt utilizate in momentul in care anuntul este vizualizat.

A cincea categorie si ultima este cea de “Scurta descriere”. Aici cel ce doreste sa adauge un anunt poate scrie tot ce doreste despre masina lui pentru a face anuntul mai interesant si poate specifica anumite lucruri care nu s-au specificat in itemele anterioare.

Cel de-al doilea item al submeniului este “Inchirieri Auto”. Accesul in aceasta pagina se va face doar daca utilizatorul are un cont activ pe site si este autentificat. In caz contrat o fereastra de tip pop-up se va , v-a bloca continulul siteului, afisand mesajul “ Trebuie sa va autentificati pentru a adauga un anut”. Fereastra de tip pop-up contine 2 butoane. Butonul “OK” care face redirectionarea inspre pagina de autentificare si butonul “Anulati ” care face redirectionarea spre pagina de home.

In aceasta pagina utilizatorul v-a putea sa isi adauge masinile pe care le ofera spre inchiriere, pretul cu care le inchiriaza pe durata unei zile, o imagine cu masina si dotarile de care dispune masina.

Cel de-al treilea item al submeniului este Service. In aceasta rubrica posesorii de service-uri auto pot sa complecteze un formular care contine localizarea service-ului, operatiunile pe care le poate face acesta si o imagine cu acesta pentru a fi gasit mai usor. Adaugarea de anunturi se va face pe baza unui cont activ iar utilizatorul v-a trebuii sa fie logat.

O alta componenta a meniului este “Inchirieri auto”. Aici orce persoana fie ca este utilizator fie ca este un simplu vizitator poate avea acces la informatiile din aceasta pagina. Informatiile din aceasta pagina cuprind anuntiei a persoanelor/firmelor care dau spre inchiriere autoturisme.

Cea de-a cincea componenta a meniului este cea de “Service Auto”. Aceasta rubrica a fost creata in favoarea persoanelor care nu stiu unde sa gaseasca anumite servicii necesare intretinerii si bunei functionalitati a autovehiculelor pe care le au in posesie. Anunturile continute in aceasta pagina vor putea fi filtrate doar dupa locatia in care se afla.

Ultima componenta a meniului este “Anunturile mele” , pagina care contine toate anunturile pe care un utilizator al acestui site le-a inregistrat in baza de date. Acesul pe aceasta pagina este restrictionat si se poate face doar daca esti logat pe site. In caz contrar o fereastra de tip “pop up” se v-a deschide, v-a bloca continulul siteului, afisand mesajul “ Trebuie sa va autentificati pentru a va putea vizualiza anunturile”. Fereastra de tip pop-up contine 2 butoane. Butonul “OK” care face redirectionarea inspre pagina de autentificare si butonul “Anulati ” care face redirectionarea spre pagina de home. . Fereastra de tip pop-up afisand mesajul este prezentata in figura 5.3.12.

Figura 5.3.12 Fereastra de tip pop-up

Daca am trecut de acest pas si ne-am autentificat cu succes, anunturile pe care noi le-am postat de pe userul cu care suntem autentificati vor aparea in pagina, continand o poza cu masina, datele si specificatiile acesteia. Aceasa incarcare a datelor este prezentata in figura 5.3.13

Figura 5.3.14

Similar Posts