OpenLink ODBC Drivers

From Wikipedia, the free encyclopedia

OpenLink Drivers for Open Database Connectivity (ODBC)
Image:Openlink150.gif
Developed by OpenLink Software
OS Cross-platform
Genre ODBC, Databases, Data Management, Database Management System, Data Architecture, Software
License Commercial
Website Official Web page

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.


Contents

[edit] History

First shipped in 1992, by the then PAL Consulting Ltd, the 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. [1]

[edit] A Philosophy of Open Access

OpenLink believed that the benefits of ODBC should be available 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.

[edit] Open Access Doesn't Mean Unprotected

By splitting the elements of the driver in this way, OpenLink was 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 [2], 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.

[edit] The Need for Speed

The X/Open and SQL/CLI API efforts were initially supported by the various DBMS vendors, 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[1], 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 that 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 no additional component installation is required.

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.

[edit] Simplify, Simplify

More recently, complaints about ODBC have focused on the 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.

[edit] Universal Benefits of Universal Data Access

Through any of these drivers, OpenLink provides the freedom 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.

  • 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)
  1. ^ a b North, Ken. "ODBC Branches Out", DBMS Magazine, Miller Freeman, Inc., April 1996. Retrieved on 2008-02-15. 
  2. ^ Parkes, Clara H.. "Power to the People", DBMS Magazine, Miller Freeman, Inc., April 1996. Retrieved on 2008-02-20. 


[edit] See also

[edit] External links