Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin)...
Transcript of Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin)...
Datu bāzes sistēmaLietojumu serveris (Java)
Objektu-relāciju
attēlojums (ORM)
Informācijas sistēmas arhitektūra
Datu bāzes
serveris(DBVS)
Dat
u bā
zes i
nter
feis
s
Plānais (thin) klients Datu bāze
Dati un meta-dati
Servera procedūras
(programmēšanas valodas PL/SQL,
Java un citas)
Universālā datu bāze:1) relāciju datu bāze;2) objektu datu bāze;3) relāciju-objektu datu bāze;4) XML datu bāze.
Datu bāzes interfeisi:1) ODBC;2) OLE DB;3) ADO;4) JDBC.
Lietojumu servera uzdevumi:1) lieli lietojumi;2) web serveris;3) transakciju serveris.
Biezais (thick, fat)
klients
1
Java programmu darbība
Parasts Java lietojums Java lietojums ar DBVS Oracle
The Java Naming and Directory Interface (JNDI) is part of the Java platform, providing applications based on Java technology with a unified interface to multiple naming and directory services. You can build powerful and portable directory-enabled applications using this industry standard.
SQLJ is an outdated working title for efforts to combine Java and SQL. It was a common effort started around 1997 by engineers from IBM, Oracle, Compaq, Informix, Sybase, Cloudscape and Sun Microsystems.
Java lietojums
Java virtuālā mašīna
Operētājsistēma
Java servera lietojums
Oracle Java API: JDBC, JNDI, SQLJ
Java kodola bibliotēkas
Oracle DB Java virtuālā mašīna
Oracle DB bibliotēkas
Operētājsistēma
Java kodola bibliotēkas
2
Datu bāzes serverī glabājamo Java procedūru sagatavošana izmantošanai – publicēšana (publishing)
Sākot ar Oracle8i versiju, datu bāzes sistēmā ir iekļauta Java Virtuālā Mašīna. Tas ļauj datu bāzes serverī glabāt un izmantot Java programmas.Lai palaistu (izsauktu) datu bāzes serverī glabājamo Java metodi: 1) jāizveido PL/SQL procedūra vai funkcija, kura izsauc Java metodi;2) jāpalaiž izveidotā PL/SQL procedūra vai funkcija, kura savukārt palaiž Java metodi.
create or replace function FUNKCIJAS_NOSAUKUMS [(parametru saraksts)] return sql_tips as LANGUAGE JAVA NAME 'klases_nosaukums.metodes_nosaukums([pilns_java_datu_tips [,...]]) return pilns_java_datu_tips';
create or replace procedure PROCEDURAS_NOSAUKUMS [(parametru saraksts)] as LANGUAGE JAVA NAME 'klases_nosaukums.metodes_nosaukums([pilns_java_datu_tips [,...]])';
Parametri parametru sarakstā tiek pierakstīti sekojošā formatā:Parametra_nosaukums [IN | OUT | IN OUT] sql_datu_tipsJava programmā OUT un IN OUT parametriem jābūt masīva elementam vai masīvam.
Piemērscreate or replace funtion TEKSTA_IZVADE(teksts varchar2) return varchar2 asLANGUAGE JAVA NAME 'Klase1.Metode1(java.lang.String)return java.lang.String';
Funkcijas izsaukšana: select TEKSTA_IZVADE('Anita') from DUAL;Procedūras izsaukšana: SQL> variable IZVADE varchar2(21);SQL> CALL PROCEDURA_1('AAA', :IZVADE);SQL> print IZVADE;Ja nav parametru () var nelikt, bet var arī likt.
3
Java programmas izpildes varianti4
Kas ir JDBC interfeiss
JDBC (Java Database Connectivity) interfeiss veic Java lietojuma programmu sasaisti ar datu bāzes sistēmu. Tas ir lietojuma programmu interfeiss (API) Java programmēšanas valodas programmām. JDBC interfeiss nodrošina:1) savienojuma izveidošanu ar datu bāzes sistēmu;
2) SQL komandu formulējumu (statements) izveidošanu;
3) SQL komandu izpildes nodrošināšanu (ne veikšanu, to realizē datu
bāzes sistēma);
4) iegūto rezultātu saņemšanas nodrošināšana.
JDBC divas galvenās klases ir:1) DriverManager klase. Tā ielādē nepieciešamo datu bāzes draiveri jeb dzini
(programmu, kura nodrošina lietojuma sasaisti ar konkrēto datu bāzes sistēmu), izveido savienojuma objektu (connection) un realizē savienojumu;
2) savienojuma objekta izveidošanai tiek izmantota klase Connection.
5
Lietojuma programmas savienojuma ar datu bāzes sistēmu izveidošana
Lietojuma programma
Lietojuma interfeiss (application programming interface (API))
Savienojuma pārvaldnieka programma (driver manager)
Savienojuma nodrošināšanas programma (driver). Katrai datu bāzes sistēmai sava.
Datu bāzes sistēma
6
JDBC interfeisa arhitektūra
JDBC interfeisa arhitektūru veido divi līmeņi:1) JDBC API. Tas ir savienojums: lietojums JDBC dziņu vadītājs (JDBC manager);
2) JDBC Driver API. Tas ir savienojums: JDBC dziņu vadītājs dzinis jeb draiveris. Katram avotam (datu bāzes sistēmai) ir savs draiveris vai draiveri.
7
Datu bāzes sistēmu interfeiss JDBC1
JDBC is a set of programming APIs that allows easy connection to a wide range of databases from Java programs.
According to Sun Microsystems, the JDBC API contains two major sets of interfaces:
1) JDBC API for application writers;
2) the lower-level JDBC driver API for driver writers. (http://java.sun.com/products/jdbc/overview.html.)
1 Mahmoud Parsian . JDBC Recipes: A Problem-Solution Approach. 2005. Ir fails.
8
Lietojuma savienojuma ar datu bāzi nodrošināšanas varianti (savienojumu dažādība)
1. Java Database Connectivity (JDBC) programmas realizē Java
lietojumprogrammas sasaisti ar datu bāzes sistēmu (Java API).
2. Enterprise JavaBeans (EJB);
3. Java Data objekts (JDO) un citas.
4. Citas tehnoloģijas.
9
Java lietojumu dažādība
1. Vienkāršs Java lietojums (Java application).
2. Java applets jeb sīklietotne (applets).A Java applet is a small application which is written in Java and delivered to users in the form of bytecode. The user launches the Java applet from a web page, and the applet is then executed within a Java Virtual Machine (JVM) in a process separate from the web browser itself. A Java applet can appear in a frame of the web page, a new application window, Sun's AppletViewer, or a stand-alone tool for testing applets.
3. Java servera sīklietotne (servlets).The servlet is a Java programming language class used to extend the capabilities of a server. Although servlets can respond to any types of requests, they are commonly used to extend the applications hosted by web servers, so they can be thought of as Java applets that run on servers instead of in web browsers.
4. Java servera lapas (Java server pages (JSPs));JavaServer Pages ir servera puses Java tehnoloģija, kas ļauj izveidot dinamiski ģenerētas tīmekļa lapas HTML, XML vai citā formātā. Arhitektoniski JSP var skatīt kā Java servleta augsta līmeņa abstrakciju. Tehnoloģiju izstrādājusi Sun Microsystems 1990. gadu beigās.
5. Uzņēmuma JavaBeans tipa programmas (enterprise JavaBeans (EJBs)).Enterprise JavaBeans (EJB) is a managed, server-side component architecture for modular construction of enterprise applications.
10
Lietojumprogramma
JDBC interfeiss Datu avots
Datu bāzes sistēma
Java programma
JDBC interfeiss
Lietojuma un datu bāzes sasaistes arhitektūras dažādība (piemēri ar JDBC interfeisu)
2. Trīs slāņu modelis (three tier model)
3. Java programmēšana datu bāzes serverī
1. Divu slāņu modelis (two-tier model)
11
JDBC thin driverJava sockets
JDBC OCI driverOCI C library
Datu bāzes sistēmas Oracle JDBC draiveri (dziņi)
1. Plānais (thin) draiveris. It is a pure Java driver used on the client-side, without an Oracle client installation. It can be used with both applets and applications.
2. Oracle Call Interface (OCI) draiveris. It is used on the client-side with an Oracle client installation. It can be used only with applications.
3. Servera puses plānais (server-side thin) draiveris. It is functionally similar to the client-side thin driver. However, it is used for code that runs on the database server and needs to access another session either on the same server or on a remote server on any tier.
4. Servera puses iekšējais (server-side internal) draiveris. It is used for code that runs on the database server and accesses the same session. That is, the code runs and accesses data from a single Oracle session.
SQL enginePL/SQL engine
Server-side thin driver
JDBC server-side internal
driver
KPRB C library
Oracle datu bāze
Java engineOracle datu
bāzes sistēma
12
13
Datu bāzes sistēmas Oracle JDBC draiveri
Divas vienāda nosaukuma klases
14