Baze de date
Descrierea si folosirea aplicatiei - baze de dateDESCRIEREA SI FOLOSIREA APLICATIEIAplicatia este prevazuta cu mai multe interfete prin intermediul carora operatorii pot introduce, modifica si chiar sterge date intr-un mod controlat. Din pagina de login dupa o autentificare reusita se intra in functie de nivelul de acces pe una din interfetele : pagina de administrare, pagina de registatura sau pagina de flux Designul aplicatiei a fost conceput pentru a oferi o cat mai usoara navigare prin interfetele acesteia. Referindu –ne la stilurile folosite se va remarca pastrarea acelorasi tonuri in toate paginile site –lui pentru a-i conferi continuitate si armonie. De asemenea s-a folosit acelasi stil si pentru toate controalele folosite in aplicatie.
Pagina de loginPagina de default.aspx este prevavuta cu o caseta de login in intriorul careia se vor introduce numele operarorului si parola acestuia. Deasemenea logininul e prevazut si cu o caseta de validate astfel incat daca nu se introduce parola sau se introduce o parola care contine caractere ne suportate de oracle sa nu se mai incerce conectarea ci doar sa se afiseze un mesaj de eroare.
Operatorii folositi in aplicatie sunt useri de oracle si in plus au drepturi clare asupra bazei de date oferite prin intermediul rolurilor. S-a optat pentru acest mod de a securiza datele pentru a avea un control mai precis asupra introducerilor de date si a modificarii acestora de catre operatori. In plus in cazul unor caderi ale bazei de date se va putea folosi dictionarul datelor din oracle pentru a le reconstitui si in cazul unor modificari neautorizate a datelor se va putea urmarii cine si ce date au fost modificate folosind modulul de audit de la oracle. Se va crea o un user „registru” in schema caruia vor fi create toate tabelele pe care le vor putea accesa ceilalti useri. Rolurile pe care un utilizator trebuie sa le indeplineasca pentru a se putea conecta la baza de date si implicit pentru a avea acces al schema „registru” sunt:
Daca serverul oracle a acceptat autentificarea adica userul are drepturile mentinate mai sus atunci se vor crea variablele de sesiune in care se vor retine toate datele necesare unui user pentru a face diferite intreogari asupra bazei de date cat si date cat mai exacte despre acest operator. In variabila de sesiune Session['conection'] se va retine stringul necesar unui user pentru a se conecta la baza de date. O alta variabila de sesiune importanta este Session['securitate'] care determina nivelul de acces al unui user la nivel de aplicatie pe fiecare interfata in parte. Celelalte variabile de sesiune folosite sunt: Session['username']=Login1.UserName; Session['id_user'] = reader.GetInt32(0); Session['id_serviciu']=reader.GetInt32(5); Session['numeuser']=reader.GetValue(2).ToString(); Session['prenumeuser']=reader.GetValue(3).ToString(); Session['functieuser']=reader.GetValue(4).ToString() Dupa ce au fost retiune variabilele de sesiune petru a directa userii in intrefetele de lucru corespunzatoare se va verifica serviciul din care face parte userul respectiv si va fi redirectat folosint codul urmator: if ((Session['id_serviciu'] != null) && (Session['id_user']!=null)) } Utilizatorii de la registraturaUtilizatorii de la registratura vor putea inregistra lucrari venite fie din exterior fie din interior dar sa si elibereze diferitele lucrari care au primit o rezolvare. Eliberearea se poate face fie specificand numele persoanei care a ridicat raspunsul fie transmitand prin posta raspunsul. Acesti operatori vor avea la dispozitie un meniu ce la va facilita accesul da doua tipuri de lucrari, lucrari pe tehnic si pe cereri.
Fig 4.2.1 Meniu registratura Dupa apasarea butonului de inregistrare va aparea o interfata in care vor putea fi completate uramtoarele campuri: tip_cerere, adresa imobil, continut, observatii si o caseta in care se vor completa date despre proprietar sau petent dupa caz pentru a putea fi contactat in cazul rezolvarii lucrarii sau experierii acesteia prin posta. Campurile obligatorii vor fi tip cerere, continut si nume pretent/proprietar, fara completarea acestora nu se va genera numar de inregistrare. Dupa ce se va apasa butonul adauga cerere se va genera numarul de inregistrare al lucrarii , se vor insera in baza de date celelalte informatii si in plus va aparea in fluxul de lucrari ale managerului lucrarea nou inregistrata.
Fig 4.2.2 Numarul generat se va trece pe cerere impreuna cu stampila institutei si apoi aceasta cerere va fi scanata si salvata in format PDF local.
Fig 4.2.3 Generare Nr Inreg Folosind butonul de Upload se va incarca fisierul corespunzator cererii tocmai scanate. Urmatorul pas va fi adaugarea acestui fisier in baza de date de mentionat ca se va adauga doar numele acestuia ce va fi compus din nr de inregistrare + data inregistrarii+cod user ia fisierul propriuzis va fi salvat pe server intrun director numit date_doc.
Fig 4.2.4 Upload fisier Utilizatorii din fluxUtilizatorii care vor avea acces la interfata flux vor fi operatorii care apartin serviciilor : cadastru, arhiva si informatica, fond funciar, juridic, carte funciara. Aici vom distinge trei tipuri de operatori cu drepturi diferite, acestia vor putea fi identificati dupa pictograma ce va aparea in dreapta sus sub numele serviciului din care fac parte.
Fig 4.3.1 Meniul paginii
flux In urma verificarii variabilei de sesiune se vor activa sau dezactiva item-uri din menu si astfel accesul la anumite pagini va fi restrictionat. Managerul va avea acces al toate item-urile meniului putand efectua operatiuni de genul : repartizare pe serviciu rapoarte avansate modificare tip lucrare repartizare in cadrul serviciului validare lucrate solutionare lucrare Seful de serviciu va putea efectua doar operatiile: repartizare in cadrul serviciului validate lucrare solutionare Operatorul normal nu va putea decat sa solutioneze o anumita lucrare urmand ca aceasta sa fie validata de seful de seviciu. Selectarea tipurilor de utilizatori care intra pe flux se va face folosind codul: if (!Page.IsPostBack) break; case 1: break; case 2: break; default: break; } NumeUser.Text = + Session['numeuser'] + ' + Session['prenumeuser']; populare_grid(); } Managerul va alege itemul Lucrari din meniul Repartizare pentru intra in pagina din care poate sa faca repartizarea lucrarilor pe servicii si modificarea tipului cererii.
Fig 4.3.2 Meniu repartizare
Lucrari In pagina Repatizare->Lucrari va aparea un data grid in care vor fi toate lucrarile inregistrate in Registratura si asteapta sa fie repartizate. Pe langa operatiunea de repartizare pe servicii Managerul va avea posibilitatea de a stabili termenul de rezolvare al unei lucrari. Repartizarea se va face selectand din combo-ul din fiecare linie a data grid-ului numele serviciului catre care va fi repartizata lucrarea. Prin apasarea butonului de repartizare se va face update la tabela flux pentru campul id_serviciu unde campul stare din tabela este 1 adica lucrara este in mod curent in lucru. In metoda „grid_send_rep” de tip CommnadItem a datagrid-ului se capteasa itemul grid-ului in care a fost dat click apoi se executa scriprul SQL tinanduse cont de restrictia: Flux.Id_lucrare= gr.DataKeys[e.Item.ItemIndex].ToString(); unde dataKeys este prima coloana a grid-ului ce retine nr_inreg al lucrarii protected void grid_send_rep(object sender, DataGridCommandEventArgs e) }
Fig 4.3.3 Grid repartizare
Lucrari/Serviciu Urmatorul pas in fluxul lucrarilor este constituit de repartizarea lucrarilor intern in fiecare serviciu pe operatori. Pentru a intra in aceasta interfata trebuie ales meniul Rep Intern->Lucrari. Interfata lucrari este formata din doua zone si anume zona de detalii si zona de repartizare. Zona de detalii ofera informatii despre lucrare in forma in care aceasta a intrat in registratura si in plus detalii despre eventualele solutionari temporare ce vor aparea intr-un datagrid aflat in chenarul „Lista Rezolvari”. In aceasta lista de rezolvari vor fi disponibile date referitoare la data solutionarii, cine a solutionat, nota de solutionare si fisierul *.doc sau *.pdf care a rezultat in urama solutionarii. Fisierul atasat rezolvarii va putea fi accesat apasand un buton atasat fiecarei rezolvari. Pentru a fi incarcate detaliile in acesta zona se va apasa butonul „Detalii” simbolizat printr-o lupa. Dupa incarcarea detaliilor si consultarea lucrarii repartizarea acesteia se va face alegand din lista aflata in gridul de lucrari numele operatorului si apoi se va apasa pe butonul „Trimite”. Pentru a putea popula datagrid-ul in care apar lucrarile cu un combo list care sa contina numele userilor din serviciul al carui sef este userul logat am populat grid-ul cu date punand pe coloana corespunzatoare selectarii operatorului un combo list gol, apoi parcurg fiecare linie a grid-ului si populez combo-ul folosind functia: protected void parc_grid()
Fig 4.3.4 Grid repartizare
Lucrari/Operator Interfata de solutionare a dosarelor poate fi accesata de catre toti operatorii indiferent de nivelul de securitate de care apartine acesta. Accessul al acest view se face acesand Itemul Lucru al meniului Rep Intern. Pagina ce va fi afisata este alcatuita din trei zone si anume: zona de detalii, zona de rezolvare, zona de selectie. Prima este zona in care se incarca detaliile despre lucrare, detinand deasemenea toate informatiile si despre rezolvarile antreiore plus posibilitatea de a vizualiza fisierele atasate. A doua parte este zona in care se solutioneaza propriuzis lucrarea adica se adauga o nota de rezolvare un fisier atasat si eventual un cost al rezolvarii lucrarii daca este cazul. Zona de selectie este reprezentata de un data grid in care vor aparea toate lucrarile ce trebuie rezolvate de operator. Pentru a incarca in zona de detalii o lucrare trebuie selectata din zona de selectie apasand pe butonul „select”.
Fig 4.3.4 Grid
Selectare-Solutionare La apasarea butonului „solutioneaza” se executa metoda Solutioneaza_Click care va face update pe tabela flux. protected void Solutioneaza_Click(object sender, EventArgs e) elsecatch (OracleException ee) } } Poate cea mai importanta interfata o constituie interfata de validare a lucrarilor la nivel de serviciu prin intremediul careia se decide daca o lucrare a fost rezolvata corespunzator si daca da, se decide daca aceasta e ok pentru a se intoarce la manager sau mai necesita avizarea unui alt serviciu. In cazul in care se alege validare definitiva atunci lucrarea ajunge la manager iar daca se alege rezolvare temporara seful de serviciu este obligat sa transmita lucrarea catre alt serviciu selectand serviciul dintr-ul combo inainte de a ii da validare.
Fig 4.3.5 Validare
repartizare In meniu este disponibila si o optiune de administrare prin intermediul careia ficare operator isi poate modifica parola. Este necesar ca userul sa stie vechia parola ca masura de precautie in cazul in care intra o persoana neautorizata si vrea sa modific parola. Deasemenea parola noua cere o confirmare pentru nu grsi la introducerea noii parole. Modifcarea parolei se face pentru userul de oracle si devine totodata si parola userului aplicatiei. Metoda care face modificarea parolei este: protected void ChangePasswordPushButton_Click(object sender, EventArgs e) catch (OracleException ee)
Fig 4.3.6 Cand se paraseste aplicatia este necesat sa se foloseasca butonul de „Iesire” pentru a nu permite acesul persoanelor neautorizate la aplicatie. In momentul in care se apasa butonul „Iesire” se executa o metoda care face ca toate variabilele de sesiune folosite sa devina null si astfel un viitor acces la aplicatie va necesita o log-are. Session['username'] = null; Session['id_user'] = null; Session['id_serviciu'] = null; Session['numeuser'] = null; Session['prenumeuser'] = null; Session['functieuser'] = null; Session['securitate'] = null; Response.Redirect('default.aspx'); Pagina de administrarePagina de administrare este o alta interfata importanta a aplicatiei prin intermediul careia se efectueaza mai usor urmatoarele operatiuni : crearea de utilizatori, modificarea drepturilor utilizatorilor, adaugarea sau modificarea serviciilor, adaugarea sau modificarea tipurilor de cereri. Accesul la aceasta pagina il va avea un singur utilizator „admin” CONCLUZIIMediul ASP.NET ofera dezvoltatorilor de aplicatii web un set complet de controale pentru afisarea informatiei. Complexitatea acestora deriva atat din numarul impresionant de atribute pe care le poseda cat si din modul in care sunt integrate in platforma .NET. Din punct de vedere al dificultatii in utilizare situatia am putea spune ca este relativa, in sensul ca variaza de la un nivel care nu implica un volum mare de cod(acesta fiind generat automat de IDE) pana la configurarea totala a acestora de catre programator, in cazul aplicatiilor complexe. Aspectul cel mai important al mediului ASP.NET il reprezinta integrarea conceptelor si tehnicilor folosite intr-un model de programare. Astfel realizarea unei aplicatii web, bazata pe formulare web implica folosirea acelorasi concepte valabile si in cazul programelor windows standard; in cazul de fata putem spune ca diferentele intre modul de folosire a controalelor de afisare a datelor folosite in exemplele web de mai sus nu difera de modul in care acestea ar fi fost folosite in cazul in care dezvoltam o aplicatie standard. BIBLIOGRAFIEPopescu Ileana, Baze de date relationale, Editura Universitatii din Bucuresti, Bucuresti, 1996 Popescu Ileana, Modelarea bazelor de date, Editura Tehnica, Bucuresti, 2001 James Foxall, Wendy Haro-Chun, Sams Publishing March 2002 – Teach yourself C # in 24 hours Stephen Walter, Sams Publishing December 2002, ISBN 0-672-32476-8, ASP.NET Kick Start Joe Martin, Brett Tomson, Teora Press – Introducere in Asp.NET Mickey Williams, Microsoft Press, 2002 – Microsoft Visual C#.NET https:// msdn.microsoft.com ASP.NET
Prezentare generala
|