480 likes | 729 Views
Lekcija 13. Baze podataka i aplikacije. Baze podataka. Sadržaj. Uvod Integrisana rešenja Slojevita struktura aplikacija Specifičnosti pristupa BP iz različitih slojeva Tehnologije koje omogućavaju razmenu podataka između BP i aplikacija. Uvod. Klijent server paradigma
E N D
Lekcija 13 Baze podataka i aplikacije Baze podataka
Sadržaj • Uvod • Integrisana rešenja • Slojevita struktura aplikacija • Specifičnosti pristupa BP iz različitih slojeva • Tehnologije koje omogućavaju razmenu podataka između BP i aplikacija Predavanja
Uvod • Klijent server paradigma • SUBP – serverska strana • Aplikacija koja koristi BP – klijentska strana Predavanja
Integrisana okruženja • Klijent i server su jedno • Primer Access-a i MS JetDB • Sve je u jednom fajlu • Platformska zavisnost Predavanja
Integrisana okruženja Predavanja
Integrisana okruženja Predavanja
Integrisana okruženja Predavanja
Integrisana okruženja Predavanja
Integrisana okruženja • Raslojavanje po potrebi Predavanja
Slojevita struktura aplikacija • Pojavom OOP omogućeno je: • razdvajanje podataka od logike njihove obrade • razdvajanje podataka od interfejsa prema korisnicima podataka. • Objekti preuzimaju odovornost za obavljanje specifičnih funkcionalnosti aplikacije Predavanja
Slojevita struktura aplikacija • Raslojavanje aplikacije - odvajanje njenih delova prema funkcionalnosti • Slojevi – grupisani objekti srodnih funkcionalnosti • Pravilo dobrog dizajna aplikacija: • između objekata (klasa) u istom sloju treba da se postigne visoka kohezija (high cohesion), • slaba sprega između slojeva (low coupling). Predavanja
Slojevita struktura aplikacija • Osnovni aplikacioni model je troslojni model • Prezentcioni sloj (presentation layer) • Sloj poslovne logike (buisness logic layer) • Sloj podataka (data layer) Predavanja
Slojevita struktura aplikacija Predavanja
Slojevita struktura aplikacija • Aplikacije mogu imati više od tri sloja • Podaci mogu biti razdvojeni na više različitih mesta • Više nivoa obrade • Primer: Web aplikacije Predavanja
Slojevita struktura aplikacija Predavanja
Slojevita struktura aplikacija • Aplikacije servisi (nezavisne softverske komponente) • Web servisi su zasnovani na tri osnovna standarda: • XML (za prikazivanje podataka), • SOAP (za razmenu podataka između davalaca i korisnika servisa) i, • WSDL za potrebe opisa servisa, definisan je poseban jezik Predavanja
Slojevita struktura aplikacija Predavanja
Pristup BP • Specifičnosti pristupa BP iz različitih slojeva • Pristup podacima iz prezentacionog sloja • Pristup podacima iz sloja poslovne logike • Pristup iz sloja podataka Predavanja
Pristupa BP - Prezentacioni sloj - • Prezentacioni sloj sadrži objekte koriničkog interfejsa • Uokvireni prozori sa naslovnom linijom koji sadrže kontrole za interakciju sa korisnikom Predavanja
Pristupa BP - Prezentacioni sloj - Predavanja
Pristupa BP - Prezentacioni sloj - Predavanja
Pristupa BP - Prezentacioni sloj - Predavanja
Pristupa BP - Prezentacioni sloj - Predavanja
- Prezentacioni sloj - Pristup BP iz ASP stranice Predavanja
Pristupa BP - Prezentacioni sloj - Posebno dizajnirani tag-ovi za pristupanje BP iz prezentacionog sloja Predavanja
Pristupa BP - Prezentacioni sloj - Pristupanje BP iz PHP stranice Predavanja
Pristup BP - sloj poslovne logike - • Najčešće korišćen pristup kod višeslojnih aplikacija • Entiteti (klase ili moduli) zaduženi za komunikciju sa BP • Uslužne klase koje omogućavaju interakciju sa BP • CDatabase,CRecordset klase iz Microsoft (MFC) • ResultSet, Connection klase u Java-inom paketu java.sql.* Predavanja
Pristup BP - sloj poslovne logike - Predavanja
Pristup BP - sloj poslovne logike - C++ kod koji preuzima nazive proizvoda iz tabele u BP i dodaje ih u listu proizvoda u korisničkom interfejsu Predavanja
Pristup BP - sloj poslovne logike - Java kod koji u tabelu t_mtutor_groups u BP dodaje novi zapis (novi naziv grupe) Predavanja
Pristup BP - sloj podataka - • Izmeštanje SQL naredbi iz izvornog koda aplikacije u SUBP Predavanja
Pristup BP - sloj podataka - • Preduslov - SUBP mora da poseduje mogućnosti kreiranja procedura • SQL naredbe se ugnježdavaju kao procedure (stored procedure) u ciljnu BP Predavanja
Pristup BP - sloj podataka - • Poziv ugnježdenih procedura Predavanja
Razmena podataka između BP i aplikacija • Tehnologije koje omogućavaju razmenu podataka između BP i aplikacija ODBC • DAO (Data Access Objects) • ADO • JDBC Predavanja
Razmena podataka između BP i aplikacija- ODBC - • Pre kreiranja aplikacije potrebno je izvršiti registrovanje BP kojoj se pristupa posredstvom ODBC drajvera. • Registracija je obavezna bez obzira na tip BP • U Windows-ovom kontrol-panelu se bira ikonica ODBC, pri čemu se otvara administatorski dijalog prozor Predavanja
Razmena podataka između BP i aplikacija- ODBC - Dodavanje novog ODBC veznika Predavanja
Razmena podataka između BP i aplikacija- ODBC - Izbor ODBC drajvera Predavanja
Razmena podataka između BP i aplikacija- ODBC - Zadavanje imena ODBC izvora podataka Izbor BP Predavanja
Razmena podataka između BP i aplikacija- ODBC - Izbor BP Predavanja
Razmena podataka između BP i aplikacija- ODBC - • Dalje se kreiraju brokerske klase koje koriste ODBC preko datog naziva, da bi uspostavile interakciju sa podacima u BP Naziv ODBC-a Naziv tabele Povezivanje polja u tabeli sa podacima u brokerskoj klasi Predavanja
Razmena podataka između BP i aplikacija- DAO - • Automatizacija – potpuna nezavisnost objekata aplikacije od prezentacije podataka u ciljnoj BP • Potpunija kontrola i jednostavniji pristup svim entitetima u SUBP • Različiti DAO paketi i biblioteke Predavanja
Razmena podataka između BP i aplikacija- DAO - • Svi objekti u SUBP su obavijeni odgovarajućim aplikacionim objektima: • SUBP • BP • Tabele • Polja • indeksi • Upiti • ... • Grupe • Korisnici Predavanja
Razmena podataka između BP i aplikacija- DAO - DAO u Web okruženju Predavanja
Razmena podataka između BP i aplikacija- ADO - • ADO – ActiveX Data Objects • Pristup svemu što može da poseduje podatke (e-mailovi, Excel tabele, datoteke) • ADO sloj nadgradnje nad OLE radi uprošćavanja pristupa podacima Predavanja
Razmena podataka između BP i aplikacija • JDBC (Java DB Connectivity) Predavanja