What are Single-Tier Drivers?
OpenLink Single-Tier Drivers are a single component installed on a
data-consuming machine (a client in a client/server architecture, or on an
application-server machine, according to architecture).
Why is it important?
Being installed only on the client machine, the OpenLink Single-Tier
endeavours to make the job for developers, administrators and end-users
simpler. By discarding the Server-side setup, there is no server-side
administration so the user is provided with 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 return-on-investment increases
significantly.
Driver Architecture
These drivers are built by implementing the OLEDB 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.
|
OLEDB 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 including 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 OLE DB providers 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.
Single-Tier Architectural Diagram
OpenLink Single-Tier Drivers provide developers or users with OleDB
access to remote or local databases, and on a wider variety of operating
systems. With the OpenLink drivers, technologies such as Microsoft Data
Transformation Services (DTS) can be used to access and transform disparate
database technologies running on remote systems that might not have been
possible before.
The OpenLink OLEDB provider for ODBC is an OLEDB-ODBC Bridge provider,
written in C++, exploiting ODBC to enable connectivity to an ODBC-compliant
DSN (database).
If the underlying ODBC driver is the OpenLink driver, the possible
driver-types depend on what is made publicly available by the vendors of the
respective database engines. Below are architectural diagrams showing the
different type representations for the OLE-DB drivers available.
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, DB/2 Connect etc.
|
| Type-A Architectural Diagram for OLE-DB Image scaled down; Click to enlarge.
|
Single-Tier Type-A OLE-DB Driver for Progress
|
| 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 once on a workstation/desktop or application server machine, and
after installation are ready for direct communication with the supported
backed database. The 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.
|
| 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 (ODBC, JDBC etc). The prime purpose is to integrate one
data-access standard implementation with another. There are a variety of
scenarios where this is useful such as:
- access to back-end databases that are only accessible via
ODBC
- access to back-end databases that are only accessible via
JDBC
|
| Image scaled down; Click to enlarge.
|