OpenLink Software

What are Single-Tier Drivers?

OpenLink Single-Tier Drivers conform to the common perception of an ODBC driver - a single component installed on the desktop or workstation machine only. Once installed, it provides connectivity to local or remote databases.

Why is it important?

The OpenLink Single-Tier is a client-only installation and goes some way to ensure the job for developers, administrators and end-users is simplified. Part of this is process means installing the software in one location as opposed to numerous locations. By discarding the server-side setup, there is no server-side administration so the user has only a single entry-point for installation and administration. In the majority of cases, knowing the database is all that is required.

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 ODBC 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.

ODBC (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 typically are unavailable 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 ODBC 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.

OpenLink provides ODBC-based Single-Tier Drivers for all databases, using the Type A, B, and C call-level interface formats. The type of driver provided depends on what is publicly available to third-party developers by the vendors of the respective database engines.

The ODBC Single-Tier drivers are C-based drivers and offer developers an opportunity to develop generic solutions across platforms without prior knowledge of the operating system hosting the Database server. Architectural diagrams showing the different representations of ODBC 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 (ODBC) 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, DB2 Connect etc.

Type A Architectural Diagram for ODBC
Type A Architectural Diagram for ODBC Image scaled down; Click to enlarge.

Type A Architectural Diagram for Progress ODBC
Type A Architectural Diagram for Progress ODBC 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 ODBC
Type B Architectural Diagram for ODBC 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:

  • ODBC access to back-end databases that are accessible via JDBC and/or ODBC
Type B Architectural Diagram for ODBC
Type B Architectural Diagram for ODBC Image scaled down; Click to enlarge.