Full width home advertisement

Java

Tech News

Ad

JDBC Architecture

- The JDBC API supports both two-tier and three-tier processing models for database access.

- This interface makes it easy to access a database because it provides an abstract layer that hides the low-level details

- It also provides for interoperability and portability.

- It allows a single application to access multiple database management systems simultaneously.

- For example :
1) A single application can query and manipulate
    § Database in Oracle and
    § Database in DB2.

2) Communication with a database management system (DBMS) is through method calls. 
3) These calls are passed to the driver.
4) Which in turn, translates them into DBMS-specific calls.
5) The driver basically acts like a set of library routines.
6) Therefore, to get wer program to communicate with a particular DBMS.
7) We need a compatible JDBC driver.


1) Two-tier Processing Models :

- In the two-tier model, a Java applet or application talks directly to the data source.
- This requires a JDBC driver.
- That can communicate with the particular data source being accessed.
- A user's commands are delivered to the database or other data source.
- And the results of those statements are sent back to the user.
- The data source may be located on another machine.
- To which the user is connected via a network.
- This is referred to as a client/server configuration.
1) User's machine as the client
2) And the machine housing the data source as the server.




[Figure: Two-tier Architecture for Data Access.]


2) Three-tier Processing Models :

- In the three-tier model, commands are sent to a "middle tier" of services.

- Which then sends the commands to the data source.

- The data source processes the commands.

- And sends the results back to the middle tier.

- Which then sends them to the user.

- Middle tier makes it possible to maintain control over access.

- And the kinds of updates that can be made to corporate data.

- Another advantage is that it simplifies the deployment of applications.

- The three-tier architecture can provide performance advantages.

- Middle tier has often been written in languages. such as
1) C or
2) C++

- Offer fast performance.

- The introduction of optimizing compilers that translate Java bytecode into efficient machine-specific code.

- And technologies such as Enterprise JavaBeans™, the Java platform is fast becoming the standard platform for middle-tier development.

- This is a big plus, making it possible to take advantage of Java's :
1) robustness,
2) multithreading, and
3) security features.

- Robustness, multithreading, and security features.

- With enterprises increasingly using the Java programming language for writing server code, the JDBC API is being used more and more in the middle tier of a three-tier architecture.

- Some of the features that make JDBC a server technology are its support for connection :
1) Pooling,
2) Distributed transactions, and
3) Disconnected rowsets.





[Figure: Three-tier Architecture for Data Access.]


- But in general JDBC Architecture consists of two layers:
1) JDBC API:
§ This provides the application-to-JDBC Manager connection.


2) JDBC Driver API:
§ This supports the JDBC Manager-to-Driver Connection.


- The JDBC API uses a driver manager and database-specific drivers.

- To provide transparent connectivity to heterogeneous (mixed) databases.

- The JDBC driver manager ensures that the correct driver is used to access each data source.

- The driver manager is capable of supporting multiple concurrent drivers connected to multiple heterogeneous (mixed) databases.

- Following is the architectural diagram, which shows the location of the driver manager with respect to the JDBC drivers and the Java application:









[Fig:- JDBC Architecture]




- The JDBC API provides the following interfaces and classes:


1) DriverManager:

§ This class manages a list of database drivers.
§ Matches connection requests from the java application with the proper database driver using communication sub-protocol.
§ The first driver that recognizes a certain sub-protocol under JDBC will be used to establish a database Connection.


2) Driver:

§ This interface handles the communications with the database server.
§ We will interact directly with Driver objects very rarely.
§ Instead, we use DriverManager objects, which manages objects of this type.
§ It also abstracts the details associated with working with Driver objects.


3) Connection :

§ This interface with all methods for contacting a database.
§ The connection object represents communication context
§ For example :
· All communication with database is through connection object only.

4) Statement :

§ We use objects created from this interface to submit the SQL statements to the database.
§ Some derived interfaces accept parameters in addition to executing stored procedures.


5) ResultSet:

§ These objects hold data retrieved from a database after we execute an SQL query using Statement objects.
§ It acts as an iterator to allow we to move through its data.



6) SQLException:

§ This class handles any errors that occur in a database application.
- The primary packages for JDBC.
    1) java.sql and
    2) javax.sql


The basic steps to get wer program up and running are:

1) Load the driver and register it with the driver manager
2) Connect to a database
3) Create a statement
4) Execute a query and retrieve the results, or make changes to the database.
5) Disconnect from the database.


- Steps 1 and 2 are the only DBMS-specific steps.
- The rest is DBMS independent.
- JDBC is very powerful and flexible.

No comments:

Post a Comment

Bottom Ad [Post Page]