Table of Contents
In this article, you’ll learn about JDBC Architecture such as Two-tier Architecture, Three-tier Architecture and JDBC API.
JDBC (Java Database Connectivity) architecture defines how a Java application interacts with a database. There are two main architectural models used in JDBC:
- Two-tier Architecture
- Three-tier Architecture
Two-tier Architecture
In a two-tier architecture, the Java application directly communicates with the database source. The JDBC driver acts as a bridge between the application and the database, translating the Java program’s requests into the database’s specific query language (usually SQL) and vice versa.
Advantages:
- Simple to implement
- Efficient for small-scale applications
Disadvantages:
- Tight coupling between the application and the database
- Security concerns as the database access logic resides within the application
- Limited scalability
Three-tier Architecture
In a three-tier architecture, a middle tier is introduced between the Java application and the database. The application tier handles the user interface and business logic, while the middle tier (business logic tier) manages the communication with the database. The database tier remains responsible for storing and managing data.
Advantages:
- Improved security: Database access logic is isolated in the middle tier
- Increased scalability: The application and database tiers can be scaled independently
- Easier maintenance: Changes to the business logic can be made in the middle tier without affecting the application or database tiers
Disadvantages:
- More complex to implement than a two-tier architecture
- Introduces additional overhead due to the extra layer of communication
The choice between a two-tier and three-tier architecture depends on the specific needs of the application. A two-tier architecture is suitable for simple applications where security and scalability are not major concerns. A three-tier architecture is preferable for complex applications that require better security and scalability.
JDBC API
The JDBC API supports both two-tier and three-tier processing models for database access but in general, JDBC Architecture consists of two layers.
- JDBC API: This provides the application-to-JDBC Manager connection.
- 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 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 databases.
Following is the architectural diagram, which shows the location of the driver manager with respect to the JDBC drivers and the Java application