What are Single-Tier Drivers?
OpenLink Single-Tier ADO.NET drivers are installed on one
data-consuming machine (a client, workstation or application-server,
depending on architecture), providing 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. There is no server-side administration so the user is provided
with a single point of entry 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 ADO.NET 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.
|
ADO.Net drivers 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 ADO.NET
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.
OpenLink provides Single-Tier Drivers built using the Type A, B, and C call-level interface formats, depending on what is publicly available to third-party developers by the vendors of the respective database engines. Architectural diagrams showing the different type representations of ADO.NET 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 (ADO.NET) 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 products such as Net8 and SQL*Net, Progress Client Networking, Informix Connect, Ingres Net, DB2 Connect etc.
|
| Type A Architectural Diagram for ADO.NET Image scaled down; Click to enlarge.
|
|
| Type A Architectural Diagram for Progress ADO.NET 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 back-end 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 ADO.NET Image scaled down; Click to enlarge.
|
Type C CLI-based Single-Tier Drivers
These drivers are proxies sitting atop third-party implementations of the relevant data-access mechanisms. Their prime purpose is to integrate one data-access standard implementation with another. There are a variety of scenarios where this is useful such as:
- ADO.NET access to back-end databases that are only accessible via ODBC
|
| Type C Architectural Diagram for ADO.NET Image scaled down; Click to enlarge.
|