19
Datu bāzes sistēma Lietoju mu serveri s (Java) Objektu Informācijas sistēmas arhitektūra Datu bāzes server is (DBVS) Datu bāzes interfeiss Plānais (thin) klients Datu Dati un meta- dati Servera procedūras (programmēšan as valodas PL/SQL, Java Universālā datu bāze: 1) relāciju datu bāze; 2) objektu datu Datu bāzes interfeis i: 1) ODBC; 2) OLE Lietojumu servera uzdevumi: 1) lieli lietojumi; 2) web Biezais (thick, fat) 1

Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

  • Upload
    lamkiet

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 2: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 3: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 4: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

Java programmas izpildes varianti4

Page 5: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 6: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 7: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 8: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 9: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 10: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 11: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 12: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

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

Page 13: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

13

Page 14: Kas ir JDBC interfeiss - · Web viewInformācijas sistēmas arhitektūra. Plānais (thin) klients. Lietojumu serveris (Java)Objektu-relāciju attēlojums (ORM) Datu bāzes interfeiss

Datu bāzes sistēmas Oracle JDBC draiveri

Divas vienāda nosaukuma klases

14