documentatie proiect 3

18
ACADEMIA DE STUDII ECONOMICE BUCURESTI FACULTATEA DE CIBERNETICA, STATISTICA SI INFORMATICA ECONOMICA CREAREA UNEI APLICATII WEB IN JDEVELOPER PENTRU GESTIUNEA UNEI RETELE DE FARMACII REALIZATOR: DRUTA CRISTINA GRUPA 1063 BUCURESTI 2011

Upload: cristinadruta875190

Post on 27-Jun-2015

314 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Documentatie proiect 3

ACADEMIA DE STUDII ECONOMICE BUCURESTI FACULTATEA DE CIBERNETICA, STATISTICA SI INFORMATICA ECONOMICA

CREAREA UNEI APLICATII WEB IN JDEVELOPER

PENTRU

GESTIUNEA UNEI RETELE DE FARMACII

REALIZATOR: DRUTA CRISTINA

GRUPA 1063

BUCURESTI 2011

Page 2: Documentatie proiect 3

CREAREA UNEI APLICATII WEB IN JDEVELOPER PENTRU GESTIUNEA UNEI RETELE DE FARMACII

In conditiile actuale de dezvoltare a noii economii digitale si, implicit, a nevoii de cunoastere si

de lucru cu volum mare de informatii ne vedem pusi in situatia de a crea sisteme care sa ne ajute in gestionarea datelor si usurarea muncii.

In gestiunea unei retele de farmacii se lucreaza cu o multitudine de date care trebuie organizate in vederea usurarii muncii. In acest sens am creat 6 tabele (FILIALE, FARMACISTI, SALARII, MEDICAMENTE, APROVIZIONARI si VANZARI) cu urmatoarea structura: FILIALE

CODFARM

DENFARM ADRESAFARM TELFARM LOCALITATE ZONA NRFARM

Unde: CODFARM-reprezinta codul farmaciei(va fi un numar unic pentru fiecare farmacie din retea) DENFARM-reprezinta denumirea farmaciei ADRESAFARM-reprezinta adresa farmaciei TELFARM-reprezinta telefonul farmaciei LOCALITATE-reprezinta localiattea in care se afla farmacia ZONA-reprezinta zona din tara in care se afla farmacia (est,vest,sud,nod) NRFARM-reprezinta numarul de farmacisti angajati la farmacia respectiva FARMACISTI

CODF NUME PRENUME DATA_ANG ADRESAF

TELF FUNCTIE CODFARM

Unde: CODF-reprezinta codul farmacistului(va fi un numar unic pentru fiecare farmacist angajat) NUME-reprezinta numele de familie al farmacistului PRENUME-reprezinta prenumele farmacistului DATA_ANG-reprezinta data angajarii farmacistului ADRESAF-reprezinta adresa farmacistului TELF-reprezinta telefonul farmacistului FUNCTIE-reprezinta functia detinuta de farmacist in cadrul farmaciei CODFARM-reprezinta codul farmaciei(va avea aceleasi valori ca si in tabela FILIALE) SALARII

CODSALARIU

CODF SAL_INIT IMPOZIT BONUSURI

Page 3: Documentatie proiect 3

Unde: CODSALARIU-reprezinta codul salariului(va fi un numar unic pentru fiecare salariu al fiecarui farmacist) CODF-reprezinta codul farmacistului pentru care s-a stocat salariul (va avea aceleasi valori ca si in tabela FARMACISTI) SAL_INIT-reprezinta salariul initial al farmacistului IMPOZIT-reprezinta impozitul aplicat salariului initial si bonusurilor(va fi dat in procente) BONUSURI-reprezinta suplimentele primate la salariul initial pentru activitati deosebite desfasurate in cadrul farmaciei,specializari etc. MEDICAMENTE CODMED

DEN TRATAM AMBALAJ

Unde: CODMED-reprezinta codul medicamentelor care sunt stocate in magazia farmaciei (va fi un numar unic pentru fiecare medicament) DEN-reprezinta denumirea pentru fiecare medicament TRATAM-reprezinta boala care este tratata cu ajutorul medicamentului respective AMBALAJ-reprezinta modul de ambalare al medicamentelor APROVIZIONARI CODAPROV

CODMED NR_UNIT CODFARM DATA_EXP PRET

CODAPROV-reprezinta codul zprovizionarii(va fi un numar unic pentru fiecare adaugare de noi produse) CODMED-reprezinta codul medicamentului cu care s-a realizat aprovizionarea NR_UNIT-reprezinta cantitatea de medicamente stocata PRET-reprezinta pretul la care medicamentele sunt comercializate CODFARM-reprezinta codul farmaciei in care se gaseste medicamentul(va avea aceleasi valori ca si in tabela FILIALE) DATA_EXP-reprezinta data expirarii medicamentului VANZARI

CODVANZ CODMED CODF

CODFARM NR_BUC DATA_VANZ

Page 4: Documentatie proiect 3

Unde: CODVANZ-reprezinta codul vanzarii de medicamente(va fi un numar unic pentru fiecare vanzare de medicament) CODMED-reprezinta codul medicamentului vandut(va avea aceleasi valori ca si in tabela MEDICAMENTE) CODF-reprezinta codul farmacistului care a efectuat vanzarea(va avea aceleasi valori ca si in tabela FARMACISTI) CODFARM-reprezinta codul farmaciei in care a avut loc vanzarea(va avea aceleasi valori ca si in tabela FILIALE) NR_BUC-reprezinta cantitatea de medicamente vandute DATA_VANZ-reprezinta data vanzarii de medicamente

Etapa de implementare incepe odata cu activitatea de programare si construire efectiva a aplicatiei. Pentru a construi logica aplicatiei se creeaza, pornind de la baza de date, componentele ADF Business Components, care au rolul de a usura munca programatorului in ceea ce priveste gestionarea interactiunii aplicatiei cu baza de date. Dupa instalarea mediului Oracle JDeveloper si apelul produsului putem trece la crearea unei noi aplicatii: Se creează o nouă aplicaţie de tip Java EE Web Application:

Page 5: Documentatie proiect 3

Se aleg următoarele tehnologii pentru partea de interfaţă (Farmacii):

Page 6: Documentatie proiect 3

Se aleg următoarele tehnologii pentru partea de modelare (Informatii):

Va rezulta o aplicaţie cu 2 componente: Farmacii si Informatii.

Pentru modelare se vor introduce în proiect toate obiectele bazei de date (create anterior) cu care se doreşte să se lucreze. Click dr pe Model -> New-> Business Tier-> ADF Business Components-> Business Components from Tables.

Page 7: Documentatie proiect 3

Se va solicita conectarea la o baza de date

După ce se dau parametrii conexiunii fereastra de creare a componentelor din tabele va arăta astfel:

Page 8: Documentatie proiect 3

Se solicită apoi alegerea tabelelor de lucru din baza de date. Pentru vizualizarea obiectelor se bifează opţiunea Auto-Query şi apoi se aleg tabelele dorite. Pentru tabelele selectate anterior se crează tabelele virtuale şi legăturile din proiect.

Page 9: Documentatie proiect 3

După crearea componentelor din tabelele BD se vor observa următoarele elemente în modelul aplicaţiei: pentru fiecare tabelă obiectul corespunzător aplicaţiei, tabela virtuală şi legăturile cu alte tabele, dacă e cazul:

De asemenea în tabul Data Controls se vor putea vizualiza următoarele componente:

Se pot schimba etichetele asociate atributelor (tab-ul Attributes -> ControlHints -> LabelText) sau se pot pune condiţii (tab-ul Query->Edit->clauza WHERE) şi diverse ordonări (tab-ul Query->Edit->clauza ORDER BY).

Page 10: Documentatie proiect 3

Pentru partea de interfaţă se vor crea 3 pagini JSP (pg1, pg2, pg3). Pentru prima pagină se dă click dr pe Farmacii->New->Web Tier->JSF->JSF Page

Page 11: Documentatie proiect 3

Se redenumeşte pagina şi se lasă setările implicite:

Pentru a crea în această pagină un tabel de tip MaterDetail pentru tabelele Filiale şi Farmacisti se va pune cu drag and drop pe această pagină obiectul FarmacistiView2 (continut de obiectul FilialeView1) din DataControls. Se alege optiunea MasterDetail->ADF Master Form, Detail Table. Înainte au fost create 2 butoane “INFORMATII 2” şi “INFORMATII 3” prin care ulterior se vor crea legăturile către paginile 2 şi 3.

Page 12: Documentatie proiect 3

Pentru a crea celelalte pagini şi legăturile dintre ele (la nivel logic) se deschide fişierul faces-config.xml din cadrul interfeţei şi se adaugă în mod vizual (drag and drop) paginile info2.jsp şi info3.jsp, respectiv legăturile dintre ele denumite conform figurii următoare:

Pentru crearea propriu-zisă (fizică) a paginii2 se dă dublu click pe ea din faces-config. Se adauga doua butoane “INFORMATII 1” si “INFORMATII 3”. Pe pagina info2.jsp se doreşte să se afişeze rezultatul unui select predefinit de utilizator. Prin urmare este nevoie de crearea unei noi viziuni care să conţină rezultatul acestui select. Click dr pe Model şi apoi se alege ViewObject din ADF Business Components.

Page 13: Documentatie proiect 3

Se aleg pentru interogare tabelele FILIALE, FARMACISTI. Se doresti afisarea farmacistilor sefi din fiecare filiala.

Atributele alese sunt următoarele:

Page 14: Documentatie proiect 3

Suplimentar la interogare se pot adăga condiţii şi sortări:

Odată ce tabela virtuală este creată în proiect, ea se poate vizualiza printre obiectele modelului:

Page 15: Documentatie proiect 3

Pentru a obţine şi obiectul de tip DataControl corespunzător viziunii tocmai create se va adăga acesta manual astfel: click dr pe AppModule->Open->DataModel->se adaugă instanţa nou creată în DataModel.

Vizualizarea rezultatelor returnate de interogarea creată se poate obţine prin adăugarea obiectului respectiv de tip DataControl în pagina info2.jsp. Se alege ADF Form, apoi se bifează opţiunea Include Navigation Controls pentru a include în pagina jsp şi butoanele de navigare în formular. Pagina va arata astfel:

Page 16: Documentatie proiect 3

In pagina 3 se va include obiectul corespunzător tabelei, pentru a putea include opţiunile de adăugare, modificare, ştergere. Se alege un formular simplu de tip ADF Form şi butoanele de navigare în formular.

Page 17: Documentatie proiect 3

Pentru operaţiile actualizare se aleg următoarele operaţii corespunzătoare tabelei Produse: CreateInsert şi Execute pentru Insert, Execute pentru Update şi Delete pentru Delete. Prin apăsarea butoanelor asociate acestor operaţii se vor efectua actualizări la nivel logic. info3.jsp arată astfel:

Page 18: Documentatie proiect 3