OpenLink ODBC Drivers
Encyclopedia
High-performance, standards-compliant data access drivers, the
OpenLink Drivers for Open Database Connectivity (ODBC)
were arguably the first ODBC driver implementation available
for non-Windows platforms such as Unix-like environments.
OpenLink has continued to innovate in their drivers with the
incorporation of a multi-tier security model, simplification of
single-tier and multi-tier administration, and performance that
often beats the DBMS-vendor's own drivers, while providing
transparent, ODBC-based access to data sources (such as
databases) from Desktop Productivity Tools, Application
Development Environments, and Web & Internet Points of Presence.
OpenLink Drivers for Open Database Connectivity (ODBC)
started as Windows-only components, as ODBC was then
a Windows-only technology, and were strictly "Single-Tier." At
first, they only supported connections to Progress databases,
but this quickly expanded to include Unify, Ingres, Oracle,
Informix, Sybase, and Microsoft SQL Server databases.
Innovative from the start, in 1993, OpenLink Software introduced
a new product that replaced the database-specific proprietary
communication layers with its own network layer for serving
ODBC clients. The new architecture used a Session Rulebook
and a generic client driver, used for connections to all
supported database engines, for Windows, Unix, Macintosh, and
OS/2 clients. Server components were shipped to run on
Windows NT, OS/2, VMS, and Unix-like systems. All database
engines supported by the Single-Tier were also handled by the
new Multi-Tier implementation.
to users on any platform. However, there was no ODBC Driver
Manager available on any other platform. Therefore, initially,
the Windows-only ODBC drivers were accompanied by drivers for
UDBC, or Universal Database Connectivity, for use on Unix-like
and other non-Windows platforms. In this packaging, all functions
of the ODBC Driver Manager were built directly into the data
access driver, getting around limitations of the Unix-like
environments which generally could not handle dynamic libraries
as they do today. This shifted the generic abstraction layer
completely from the Driver Manager to the Driver, and was never
intended as a permanent solution.
Inspired by their UDBC products, Ke Jin partnered with OpenLink
to develop the non-Windows ODBC Driver Manager which they named
iODBC
, for Independent Open Database Connectivity. This
project brought full-powered ODBC support to many non-Windows
operating systems including Solaris, AIX, HP-UX, OpenVMS, the
BSD and Linux variants, and Mac OS 9.
able to incorporate several significant layers of centrally-administered
additional security. The Session Rulebook restricts client access to
the Database server based on multiple-access criteria including the
requested DBMS Engine, Database Catalog and/or Schema, and the
requesting client Username, Application, OS, and Hostname.
This gives the company Network/Database Administrator ultimate
control of who or what groups of users are allowed access to the
database, and what sort of access they get. Possible restrictions
include limiting any Sales user's query result sets to 100 records
(so the contents of an entire customer database cannot be taken to
a competitor, and Cartesian product
-based Denial-of-Service on
the database server instance are impossible); restricting Microsoft
Access users to Read Only connections (minimizing accidental database
wipe-outs); entirely preventing connections from outside the enterprise
LAN IP address space.
Wire-level encryption between the OpenLink client and server components
was also added to the mix circa 1994
,
long before SSL was an available option -- and SSL itself was also added
in due course (circa 2004).
The security models and features provided by OpenLink's Multi-Tier
Rulebook remain a central element of their Multi-Tier implementation,
and have yet to be matched in any other data access implementation,
ODBC or otherwise.
When ODBC started getting significant uptake, the DBMS vendors seemed to forget this vision. Directly and indirectly, they began supporting grumblings from the field that ODBC was slow by nature. This generalized knock on the protocol was disproven by published studies,
but there was still a hesitance to trust performance claims by ODBC driver vendors.
OpenLink recognized that there were several ways to implement an
ODBC driver, and further that their Multi-Tier "Enterprise Edition"
was not the fastest of these, even with its Multi-Threaded
architecture and support for Advanced Data Access API calls.
Although the security and other administrative features of the Multi-Tier implementation have significant value to the enterprise, there are times when raw performance is more important in a deployment.
To deliver the required performance, OpenLink expanded and improved their Single-Tier "Lite Edition" offerings. These drivers typically require the additional installation of database-specific networking components (e.g., Oracle Instant Client, Progress Client Access) on the client host. In some cases, where the
database and/or its network protocol is open source (e.g., PostgreSQL, MySQL, TDS for Sybase & Microsoft SQL Server),
it is built directly into the driver, and requires no additional component installation.
Once installed, the Lite Edition provides connectivity to both local and remote databases. The user must generally specify
a few connection attributes, such as the database instance
listening port and hostname, in addition to the instance name.
Of course, these Single-Tier drivers maintained the multi-threaded
architecture and inherited full support for Advanced Data Access
API calls that had been implemented in the Enterprise Edition.
Testing with the open source OpenLink ODBC Bench in one's own environment shows that the Lite Edition drivers measure up to -- and often surpass -- the performance of all other drivers in their class, including those from the DBMS vendor. The Enterprise Edition can also be seen to be no slouch.
perceived complexity of setting up connections, especially
from the end-user's perspective. OpenLink innovation has
continued to match.
First, Zeroconf
(also known as Bonjour
)
functionality was implemented in the existing components.
One of the original features of the Enterprise Edition was the
ability to force database connection attributes on the user,
but the user had to know the basic connection attributes of
the Multi-Tier components. With Zeroconf implementation,
even this was no longer required, as the administrator could
now register "network DSNs" similarly to the old practice of
registering network printers -- and the user could choose them
through their local driver manager's setup dialogs, just as they
already did with their Printer setup dialogs.
Some DBMS vendors added similar network broadcast or
advertising features features to their database engines, and
the Lite Edition drivers were enhanced to recognize such
broadcasts and make those instances available to users.
Finally, a new breed of driver, the "Express Edition" was
created, enabling connections in most cases when the user
knows only the instance name. More importantly, the Express
Edition requires no secondary component installation, as it
wraps an ODBC driver around a Java-based wire protocol
library, typically from the DBMS vendor.
to mix and match "best of class" IT
infrastructure
components, preventing vendor lock-in
that can impede enterprise agility.
By supporting open standards and specifications, these components
help preserve existing investment in IT infrastructure, while
empowering Information and Knowledge Workers
to create new market opportunities.
OpenLink Drivers for Open Database Connectivity (ODBC)
were arguably the first ODBC driver implementation available
for non-Windows platforms such as Unix-like environments.
OpenLink has continued to innovate in their drivers with the
incorporation of a multi-tier security model, simplification of
single-tier and multi-tier administration, and performance that
often beats the DBMS-vendor's own drivers, while providing
transparent, ODBC-based access to data sources (such as
databases) from Desktop Productivity Tools, Application
Development Environments, and Web & Internet Points of Presence.
History
First shipped in 1992, by the then PAL Consulting Ltd, theOpenLink Drivers for Open Database Connectivity (ODBC)
started as Windows-only components, as ODBC was then
a Windows-only technology, and were strictly "Single-Tier." At
first, they only supported connections to Progress databases,
but this quickly expanded to include Unify, Ingres, Oracle,
Informix, Sybase, and Microsoft SQL Server databases.
Innovative from the start, in 1993, OpenLink Software introduced
a new product that replaced the database-specific proprietary
communication layers with its own network layer for serving
ODBC clients. The new architecture used a Session Rulebook
and a generic client driver, used for connections to all
supported database engines, for Windows, Unix, Macintosh, and
OS/2 clients. Server components were shipped to run on
Windows NT, OS/2, VMS, and Unix-like systems. All database
engines supported by the Single-Tier were also handled by the
new Multi-Tier implementation.
A Philosophy of Open Access
OpenLink believed that the benefits of ODBC should be availableto users on any platform. However, there was no ODBC Driver
Manager available on any other platform. Therefore, initially,
the Windows-only ODBC drivers were accompanied by drivers for
UDBC, or Universal Database Connectivity, for use on Unix-like
and other non-Windows platforms. In this packaging, all functions
of the ODBC Driver Manager were built directly into the data
access driver, getting around limitations of the Unix-like
environments which generally could not handle dynamic libraries
as they do today. This shifted the generic abstraction layer
completely from the Driver Manager to the Driver, and was never
intended as a permanent solution.
Inspired by their UDBC products, Ke Jin partnered with OpenLink
to develop the non-Windows ODBC Driver Manager which they named
iODBC
IODBC
iODBC is an open source initiative managed by OpenLink Software. It is a platform-independent ODBC SDK and runtime offering that enables the development of ODBC-compliant applications and drivers outside the Windows platform...
, for Independent Open Database Connectivity. This
project brought full-powered ODBC support to many non-Windows
operating systems including Solaris, AIX, HP-UX, OpenVMS, the
BSD and Linux variants, and Mac OS 9.
Open Access Doesn't Mean Unprotected
By splitting the elements of the driver in this way, OpenLink wasable to incorporate several significant layers of centrally-administered
additional security. The Session Rulebook restricts client access to
the Database server based on multiple-access criteria including the
requested DBMS Engine, Database Catalog and/or Schema, and the
requesting client Username, Application, OS, and Hostname.
This gives the company Network/Database Administrator ultimate
control of who or what groups of users are allowed access to the
database, and what sort of access they get. Possible restrictions
include limiting any Sales user's query result sets to 100 records
(so the contents of an entire customer database cannot be taken to
a competitor, and Cartesian product
Cartesian product
In mathematics, a Cartesian product is a construction to build a new set out of a number of given sets. Each member of the Cartesian product corresponds to the selection of one element each in every one of those sets...
-based Denial-of-Service on
the database server instance are impossible); restricting Microsoft
Access users to Read Only connections (minimizing accidental database
wipe-outs); entirely preventing connections from outside the enterprise
LAN IP address space.
Wire-level encryption between the OpenLink client and server components
was also added to the mix circa 1994
,
long before SSL was an available option -- and SSL itself was also added
in due course (circa 2004).
The security models and features provided by OpenLink's Multi-Tier
Rulebook remain a central element of their Multi-Tier implementation,
and have yet to be matched in any other data access implementation,
ODBC or otherwise.
The need for speed
The various DBMS vendors initially supported the X/Open and SQL/CLI API efforts at a time when they recognized that more client tools would be available for use with each DBMS if the application vendors could code to a single API, rather than refactoring their application for each and every supported DBMS.When ODBC started getting significant uptake, the DBMS vendors seemed to forget this vision. Directly and indirectly, they began supporting grumblings from the field that ODBC was slow by nature. This generalized knock on the protocol was disproven by published studies,
but there was still a hesitance to trust performance claims by ODBC driver vendors.
OpenLink recognized that there were several ways to implement an
ODBC driver, and further that their Multi-Tier "Enterprise Edition"
was not the fastest of these, even with its Multi-Threaded
Thread (computer science)
In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...
architecture and support for Advanced Data Access API calls.
Although the security and other administrative features of the Multi-Tier implementation have significant value to the enterprise, there are times when raw performance is more important in a deployment.
To deliver the required performance, OpenLink expanded and improved their Single-Tier "Lite Edition" offerings. These drivers typically require the additional installation of database-specific networking components (e.g., Oracle Instant Client, Progress Client Access) on the client host. In some cases, where the
database and/or its network protocol is open source (e.g., PostgreSQL, MySQL, TDS for Sybase & Microsoft SQL Server),
it is built directly into the driver, and requires no additional component installation.
Once installed, the Lite Edition provides connectivity to both local and remote databases. The user must generally specify
a few connection attributes, such as the database instance
listening port and hostname, in addition to the instance name.
Of course, these Single-Tier drivers maintained the multi-threaded
architecture and inherited full support for Advanced Data Access
API calls that had been implemented in the Enterprise Edition.
Testing with the open source OpenLink ODBC Bench in one's own environment shows that the Lite Edition drivers measure up to -- and often surpass -- the performance of all other drivers in their class, including those from the DBMS vendor. The Enterprise Edition can also be seen to be no slouch.
Simplify, Simplify
More recently, complaints about ODBC have focused on theperceived complexity of setting up connections, especially
from the end-user's perspective. OpenLink innovation has
continued to match.
First, Zeroconf
Zeroconf
Zero configuration networking , is a set of techniques that automatically creates a usable Internet Protocol network without manual operator intervention or special configuration servers....
(also known as Bonjour
Bonjour (software)
In computing, Bonjour is Apple Inc.'s trade name for its implementation of Zeroconf, a group of technologies that includes service discovery, address assignment, and name resolution...
)
functionality was implemented in the existing components.
One of the original features of the Enterprise Edition was the
ability to force database connection attributes on the user,
but the user had to know the basic connection attributes of
the Multi-Tier components. With Zeroconf implementation,
even this was no longer required, as the administrator could
now register "network DSNs" similarly to the old practice of
registering network printers -- and the user could choose them
through their local driver manager's setup dialogs, just as they
already did with their Printer setup dialogs.
Some DBMS vendors added similar network broadcast or
advertising features features to their database engines, and
the Lite Edition drivers were enhanced to recognize such
broadcasts and make those instances available to users.
Finally, a new breed of driver, the "Express Edition" was
created, enabling connections in most cases when the user
knows only the instance name. More importantly, the Express
Edition requires no secondary component installation, as it
wraps an ODBC driver around a Java-based wire protocol
library, typically from the DBMS vendor.
Universal Benefits of Universal Data Access
Through any of these drivers, OpenLink provides the freedomto mix and match "best of class" IT
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...
infrastructure
Infrastructure
Infrastructure is basic physical and organizational structures needed for the operation of a society or enterprise, or the services and facilities necessary for an economy to function...
components, preventing vendor lock-in
Vendor lock-in
In economics, vendor lock-in, also known as proprietary lock-in or customer lock-in, makes a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs...
that can impede enterprise agility.
By supporting open standards and specifications, these components
help preserve existing investment in IT infrastructure, while
empowering Information and Knowledge Workers
Knowledge worker
Knowledge workers in today's workforce are individuals who are valued for their ability to act and communicate with knowledge within a specific subject area. They will often advance the overall understanding of that subject through focused analysis, design and/or development. They use research...
to create new market opportunities.
- Support Advanced Data Access API functionality
- Support all ODBC Scrollable Cursor Models
- Enhance the security of as-shipped DBMS Engines (Multi-Tier only)
- Deliver performance benefits over DBMS vendor-supplied drivers (primarily Single-Tier)
See also
- Open Database ConnectivityOpen Database ConnectivityIn computing, ODBC is a standard C interface for accessing database management systems . The designers of ODBC aimed to make it independent of database systems and operating systems...
(ODBC) - iODBCIODBCiODBC is an open source initiative managed by OpenLink Software. It is a platform-independent ODBC SDK and runtime offering that enables the development of ODBC-compliant applications and drivers outside the Windows platform...
- Java Database ConnectivityJava Database ConnectivityJava DataBase Connectivity, commonly referred to as JDBC, is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database. JDBC is oriented towards relational databases...
(JDBC) - OLE DBOLE DBOLE DB is an API designed by Microsoft for accessing data from a variety of sources in an uniform manner. It is a set of interfaces implemented using the Component Object Model ; it is otherwise unrelated to OLE...
- ADO.NETADO.NETADO.NET is a set of computer software components that programmers can use to access data and data services. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems,...
- XMLA
- ZeroconfZeroconfZero configuration networking , is a set of techniques that automatically creates a usable Internet Protocol network without manual operator intervention or special configuration servers....
- OpenLink SoftwareOpenLink SoftwareFounded in 1992, OpenLink Software, Inc., is a software company headquartered in Burlington, Massachusetts, USA.The company develops and deploys standards-compliant middleware products that cover:...
, the company that builds and maintains OpenLink's Drivers for ODBC