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.
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 client2) And the machine housing the data source as the server.
- 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 or2) 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, and3) 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, and3) 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 manager2) Connect to a database3) Create a statement4) 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