What are Single-Tier Drivers?
The Single-Tier
JDBC Drivers are a single component installed on a data-consuming machine -
depending on the architecture in which the driver is deployed, either a client
such as a desktop, a workstation or an application-server machine. No
components need be installed on the database server.
Why is it important?
The OpenLink Single-Tier suite,
being installed only on client machines, is ideal for a variety of
situations: if you only have one or a small number of machines on which you
want to access data (e.g. you''re a home user, or deploying in
application-server architecture), then you don''t need to install anything on
the server machine, just the client. To the developer writing an
application, there is no requirement to know on which server it resides: you
can write your application for any environment, regardless of where it will
end.
There are also performance benefits gained by employing
this single solution, which in some cases exceeds that provided by the
native drivers. Being able to integrate your solution simply into your
organization with its plethora of internal and disparate systems means your
RoI increases significantly.
Driver Architecture
These drivers are built by implementing the JDBC data-access interface
specifications using a database-vendor-provided Call Level Interface (CLI).
Thus, the capabilities and architecture of the CLI significantly affect the
functional outcome of a driver.
|
| Image scaled down; Click to enlarge.
|
JDBC, and any other data-access drivers for that matter, are developed
using the call-level interface (CLI) of the respective databases that they
support. These call level interfaces take the following forms:
- Type A - C-based dynamic SQL interface that
inextricably includes client and server networking components
- Type B - C-based remote procedure calls (RPC) interface to the
wire-protocol of the underlying database. This is a client-only interface
that communicates directly with the remote database server. These interfaces
arent typically available to third-party developers. To date the Open
Source projects such as FreeTDS, MySQL, PostgreSQL, and Interbase are the
only publicly accessible and freely available versions of such
interfaces.
- Type C - Generic bridges: these are JDBC
drivers that act as implementation proxies, such that bridging can be
achieved in the manner depicted in the matrix below:
OpenLink provides Single-Tier Drivers built using the Type A, B, and C
call-level interfaces formats, depending on what is publicly available to
third-party developers by the vendors of the respective database engines.
Please view your respective Data Access Mechanism for more
information.
Java developers have always enjoyed the freedom of being able to write cross-platform applications. To complement this, OpenLink Software provides Java built Single-Tier Drivers built using the Type A, B, and C call-level interface formats together with the Java JDBC technology.
The type of JDBC Single-Tier driver available depends on what is publicly available by the vendors of the respective database engines. Furthermore, on occasions when Java developers require access to ODBC-only databases, such as Microsoft Access, the Type C CLI bridge technology is available, thereby extending the reach of the developer looking to explore new avenues. Architectural diagrams showing the different representations of JDBC drivers based on Call-Level Interface types are available below.
Type A CLI based Single-Tier Drivers
These drivers are built using the Type-A call level interfaces of the relevant back-end database engine. Thus, these drivers implement the interfaces of the respective data-access mechanisms (JDBC) with inherent database specific networking, and a dependency on the database vendor-provided networking middleware products. At installation-time you simply install the driver with the underlying assumption that remote database connectivity is already in place (or will be put in place) via the installation of products such as Net8 and SQL*Net, Progress Client Networking, Informix Connect, Ingres Net, DB/2 Connect etc.
|
| Type A Architectural Diagram for JDBC Image scaled down; Click to enlarge.
|
|
| Type A Architectural Diagram for Progress JDBC Image scaled down; Click to enlarge.
|
Type B CLI based Single-Tier Drivers
These drivers are built using the Type-B client networking interface to wire-protocols of the supported back-end database. These drivers are installed one time on a workstation/desktop or application server machine, and after installation are ready for direct communication with the supported backed database. This driver format is only currently available for; Microsoft SQL Server, SYBASE ASE, MySQL, PostgreSQL, and OpenLink Virtuoso. Support for other databases will occur as and when unsupported database engine vendors make their RPC client interfaces available to third party developers.
|
| Type B Architectural Diagram for JDBC Image scaled down; Click to enlarge.
|
Type C CLI based Single-Tier Drivers
These drivers are proxies that sit atop third-party implementations of the relevant data-access mechanisms. The prime purpose to integrate one data-access standard implementation with another, and there are a variety of scenarios where this is useful such as:
- JDBC access to back-end databases that are only accessible via ODBC
|
| Type C Architectural Diagram for Progress JDBC Image scaled down; Click to enlarge.
|