Diplomski rad Milenković Ana Java tehnologije za pristup relacionim bazama podataka u Web okruženju Predmet: Klijent-server sistemi Profesor: dr. Ninel Čukalevski
Diplomski rad Milenković Ana IZVOD U diplomskom radu opisane su Java tehnologije koje se mogu koristiti za pristup relacionim bazama podataka u Web okruženju. Među njima se nalaze Java Database Connectivity (JDBC), SQL for Java (SQLJ), objektno-relaciono mapiranje (ORM) i Enterprise JavaBeans 3 (EJB). Na primeru izrade projekta za pregled i upravljanje nastavnim planom i programom obrađena je primena komponente EJB specifikacije - Java Persistance API (JPA) tehnologije sa implementacijom u Hibernate alatu.
OO jezici i relacione baze podataka
Masovna upotreba RDBMS rešenja za upravljanje podacima u korporacijskim informacionim sistemima Rašireno prihvatanje Java jezika , povećan uticaj objektne paradigme na razvoj softvera Nekompatibilnost objektne i relacione paradigme Tabelarna reprezentacija podataka vs. mreža objekata Tipovi podataka SQL – neproceduralan, Java – OO jezik
Java 2 platforma
Višeslojni distribuirani aplikacioni model
JDBC – Java DataBase Connectivity
Industrijski standard za pristup heterogenim relacionim bazama podataka korišćenjem Java jezika Glavni delovi JDBCa: JDBC API (Java aplikacija <-> JDBC menadžer) JDBC drajver API (JDBC menadžer <-> drajver DBMSa) Povezivanje na bazu
JDBC URL adresa jdbc:<podprotokol>:
Tipovi JDBC drajvera
SQLJ – SQL for Java
SQL for Java, produžetak ISO/ANSI standarda za Embeded SQL Kombinovanje naredbi Java jezika i SQL naredbi Neophodan pretprocesor (SQLJ prevodilac) Statička analiza za proveru sintakse, šeme i tipova podataka
ORM – Object-Relational Mapping
Posrednik između objektne i relacione paradigme Automatsko mapiranje na osnovu konfiguracionih fajlova ORM alati: Oracle TopLink, Hibernate, iBATIS
EJB 3
Enterprise JavaBeans 3 specifikacija za Java EE platformu Model serverskih komponenti koje enkapsuliraju poslovnu logiku Vrste EJB komponenti: Session Beans – stateless i stateful Message-Driven Beans (MDB) EJB kontejner – posrednik između klijenta i bean-ova kojima upravlja
JPA, Entiteti
Java Persistance API (JPA) – deo EJB3 specifikacije Entiteti – perzistentni objekti Metapodaci entiteta – anotacije Primer koda za mapiranje tabele Profesor u odgovarajući entitet @Entity @Table (name = "professor") public class ProfessorBean implements Serializable { private int id private String name; private String resume; private List items; @Id public int getId() { return id; } public void setId(int id) { this.id = id; } @Column public String getName() { return name; } public void setName(String name) { this.name = name; } @Column public String getResume() { return resume; } public void setResume(String resume) { this.resume = resume; } @ManyToMany @JoinTable (name = "pitem_prof", joinColumns = @JoinColumn (name="professor_id"), inverseJoinColumns = @JoinColumn (name="pitem_id")) public List getItems() { return items; } public void setItems(List items) { this.items = items; } }
Praktični rad
Modul za upravljanje nastavnim planovima i programima visokoškolske ustanove Arhitektura Web aplikacije Tomcat, Hibernate, Tapestry, MySQL, MySQL Connector/J
Hvala na pažnji!
Ana Milenković Viša elektrotehnička škola [email protected] mart, 2007