1 / 57

Baze podataka i aplikacije

Lekcija 13. Baze podataka. Baze podataka i aplikacije. 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 arhitektura

Download Presentation

Baze podataka i aplikacije

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lekcija 13 Baze podataka Baze podataka i aplikacije

  2. 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

  3. Uvod • Klijent server arhitektura • SUBP – serverska strana • Aplikacija koja koristi BP – klijentska strana Predavanja

  4. Integrisana okruženja • Klijent i server su jedno • Primer Access-a i MS JetDB • Sve je u jednom fajlu • Platformska zavisnost Predavanja

  5. Integrisana okruženja Predavanja

  6. Integrisana okruženja Predavanja

  7. Integrisana okruženja Predavanja

  8. Integrisana okruženja Predavanja

  9. Integrisana okruženja • Raslojavanje po potrebi Predavanja

  10. Slojevita struktura aplikacija • Pojavom OOP omogućeno je: • razdvajanje podataka od logike njihove obrade • razdvajanje podataka od interfejsa prema korisnicima podataka. • Aplikacije se grade od objekata • Objekti preuzimaju odovornost za obavljanje specifičnih funkcionalnosti aplikacije Predavanja

  11. Slojevita struktura aplikacija Primeri: Grupa objekata od kojih se gradi korisnički interfejs Grupa objekata koji ostvaruju konekciju na BP, izvršavaju upite i prihvataju rezultate upita Objekti međusobno komuniciraju preko funkcionalnih poziva Objekti mogu biti fizički razdvojeni (na različitim računarskim platformama Za takve aplikacije kažemo da su ditribuirane 26.12.2006. Predavanja 11

  12. 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

  13. Slojevita struktura aplikacija • Osnovni aplikacioni model je troslojni model • Prezentcioni sloj (presentation layer) • Sloj poslovne logike (buisness logic layer) • Sloj podataka (data layer) Predavanja

  14. Slojevita struktura aplikacija Predavanja

  15. Slojevita struktura aplikacija • Aplikacije mogu imati više od tri sloja • Podaci mogu biti razdvojeni na više različitih mesta • Rasterećenje hardverskih (serverskih) platformi • Više nivoa obrade • Primer: Web aplikacije Predavanja

  16. Slojevita struktura aplikacija Predavanja

  17. Slojevita struktura aplikacija • Aplikacije servisi (nezavisne softverske komponente) • Web servisi su zasnovani na tri osnovna standarda: • XML – extensible markup language - (za prikazivanje podataka), • SOAP – simple object access protokol (za razmenu podataka između davalaca i korisnika servisa) i, • WSDL – Web Service Definition Language - za potrebe opisa servisa, definisan je poseban jezik Predavanja

  18. Slojevita struktura aplikacija • Tri komponente Web servisa: • Davalac servisa, korisnik servisa, provajder • Web servisi omogućavaju: • Povezivanje različitih aplikacija, tehnologija i računarskih platformi Predavanja

  19. 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

  20. 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

  21. Pristupa BP - Prezentacioni sloj - Predavanja

  22. Pristupa BP - Prezentacioni sloj - VBA skripta koja sadrži SQL naredbu Predavanja

  23. Pristupa BP - Prezentacioni sloj - Predavanja

  24. Pristupa BP - Prezentacioni sloj - Predavanja

  25. - Prezentacioni sloj - Pristup BP iz ASP (Active Server Pages) stranice Predavanja

  26. Pristupa BP - Prezentacioni sloj - Posebno dizajnirani tag-ovi za pristupanje BP iz prezentacionog sloja Predavanja

  27. Pristupa BP - Prezentacioni sloj - Pristupanje BP iz PHP stranice Predavanja

  28. 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

  29. Pristup BP - sloj poslovne logike - Predavanja

  30. 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

  31. Pristup BP - sloj poslovne logike - Java kod koji u tabelu t_mtutor_groups u BP dodaje novi zapis (novi naziv grupe) Predavanja

  32. Pristup BP - sloj podataka - • Izmeštanje SQL naredbi iz izvornog koda aplikacije u SUBP Predavanja

  33. Pristup BP - sloj podataka - • Ugnježdene procedure (stored procedures) • Skupovi instrukcija koje se često koriste • Njihovom upotrebom programeri se oslobađaju višestrukih pozivanja istih komandi • Najbrže se izvršavaju jer se proces prevođenja instrukcija vrši na SQL serveru • Procedurese nalaze na jednom mestu, a ne na više mesta u aplikacijama (npr. nafront-endkraju – prezentacioni sloj), pa je njihova izmena i ažuriranje mnogo lakše Predavanja

  34. Pristup BP - sloj podataka - • Ugnježdene procedure (stored procedures) • Kada se izvrši procedura, samo rezultat obrade se šalje ka sledećem sloju • Najmanje opterećenje mreže, poboljšanje performansi • Procedurama se mogu prosleđivati parametri i promenljive • Procedure se mogu pozivati i iz drugih procedura • Najčešće se pišu u nekom od proširenja jezika SQL koje definiše proizvođač konkretnog DBMS • Oracle – PL/SQL • Microsoft SQL Server – Tansact-SQL Predavanja

  35. 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

  36. Pristup BP - sloj podataka - • Poziv ugnježdenih procedura Predavanja

  37. Pristup BP - sloj podataka - • Trigeri, okidači (triggers) • Programska procedura u okviru SUBP, koja se aktivira određenim događajem: • upis novog zapisa u tabelu • brisanje određenog zapisa • modifikacija postojećeg zapisa • Trigerpredstavlja jedan od mehanizama za proveru uslova integriteta baze podataka • Npr. Pre upisa u tabelu dobavljač-artikal proveriti da li dobavljač dobavlja dati proizvod Predavanja

  38. Pristup BP - sloj podataka - • Trigeri, okidači (triggers) • Triger pokreće određenu aktivnost nad bazom, uvek kada se desi jedan od navedenih događaja • Tačnije rečeno, SUBP inicira izvršenje okidača, odmah po nastajanju događaja • Rad okidača je van kontrole aplikativnog programa koji je vezan na SUBP, a obavezno se izvršava Predavanja

  39. Pristup BP - sloj podataka - • Trigeri, okidači (triggers) • Sintaksa trigera je sledeća: • Tip može biti: BEFORE, AFTER i INSTEAD OF • CREATE [OR REPLACE] TRIGGER /naziv_trigera/ /tip trigera/ ON /naziv tabele/ BEGIN /izvrsne_instrukcije_trigera/ END Predavanja

  40. Pristup BP - sloj podataka - • Trigeri, okidači (triggers) • Oracle ima trigere koji se aktiviraju i kada se menja šema RBP • Schema-level triggers • After Creation • Before Alter • After Alter • Before Drop • After Drop • Before Logoff • After Logon Predavanja

  41. 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

  42. 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

  43. Razmena podataka između BP i aplikacija- ODBC - Dodavanje novog ODBC veznika Predavanja

  44. Razmena podataka između BP i aplikacija- ODBC - Izbor ODBC drajvera Predavanja

  45. Razmena podataka između BP i aplikacija- ODBC - Zadavanje imena ODBC izvora podataka Izbor BP Predavanja

  46. Razmena podataka između BP i aplikacija- ODBC - Izbor BP Predavanja

  47. 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

  48. 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

  49. 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

  50. Razmena podataka između BP i aplikacija- DAO - Predavanja

More Related