Databases
Some of the many standards for accessing data include Open Database Connectivity (ODBC), OLE DB, Active Data Objects (ADO) and Common Object Request Broker Architecture (CORBA). In the constantly changing world of standards, it's often difficult to tell if a standard is a replacement, a compliment or a competitor. This paper sorts out these efforts by explaining what place each plays as standards have evolved.
Open Database Connectivity Standard (ODBC)
ODBC is an open standard application programming interface (API) for accessing a relational database (Open Database Connectivity, TechTarget). By using ODBC statements in a program, the application can access files in databases that support the standard. ODBC was created by the SQL Access Group and first released in 1992. Although Microsoft Windows was the first to provide an ODBC product, versions now exist for most platforms.
ODBC is based on and closely aligned with The Open Group standard Structured Query Language (SQL) Call-Level Interface (Open Database Connectivity, TechTarget). It allows programs to use SQL requests that will access databases without having to know the proprietary interfaces to the databases. ODBC handles the SQL request and converts it into a request the individual database system understands. In addition to the ODBC software, a separate module or driver is needed for each database to be accessed.
III. OLE DB
According to Microsoft, the creator of OLE DB, OLE DB is "a strategic system-level programming interface to data across the organization. OLE DB is an open specification designed to build on the success of ODBC by providing an open standard for accessing all kinds of data." (Comparing OLE DB and ODBC) Whereas ODBC was created to access relational databases, OLE DB is designed for relational and non-relational information such as mainframe ISAM/VSAM and hierarchical databases; e-mail and file system stores; text, graphical, and geographical data; and custom business objects, to name a few.
The major differences between OLD DB and ODBC are (Comparing OLE DB and ODBC):
OLE DB is a component-based specification and ODBC is a procedural-based specification
SQL is the core of accessing data using ODBC but just one of the means of data access through OLE DB
ODBC is constrained to relational data stores; OLE DB supports all forms of data stores (relational, hierarchical, etc.)
OLE DB typically provides a richer and more flexible interface for data access because it is not tightly bound to a command syntax such as SQL in the case of ODBC
Because of the many advantages of OLE DB over ODBC, Microsoft positioned OLE DB has a clear successor to ODBC.
IV. Active Data Objects (ADO)
ADO is a set of ActiveX controls that provide programmatic access to Microsoft's latest underlying data access technologies (Chand, 2000). ADO is based on OLE-DB, a set of Component Object Model (COM) interfaces that most of data sources (with the help of OLE-DB providers) can implement and expose their data contents in a uniform way. In other words, OLE-DB is a low-level API and ADO is a wrapper around OLE-DB, providing high-level programming interface to programmers.
There are two types of OLE DB applications: consumers and providers. A consumer is any application that uses or consumes OLE DB interfaces (Chand, 2000). For example, a Microsoft Visual C++ application that uses OLE DB interfaces to connect to database server is an OLE DB consumer. The ADO object model that uses OLE DB interfaces is an OLE DB consumer. Any application that uses the ADO object model must use OLE DB interfaces indirectly through the ADO objects.
Microsoft supports distributed component objects via distributed COM (DCOM). DCOM use remote procedure calls to organize data between processes and computers so that components appear to have the same word size, bit orientation, and address space. DCOM is a direct competitor to CORBA, discussed next.
V. Common Object Request Broker Architecture (CORBA)
CORBA is OMG's open, vendor-independent architecture and infrastructure that computer applications use to work together over networks (CORBA Basics). Using a standard protocol, a CORBA-based program from any vendor, on almost any computer, operating system, programming language, and network, can interoperate with a CORBA-based program from the same or another vendor, on almost any other computer, operating system, programming language, and network.
The core foundation of CORBA is the Object Request Broker (ORB) that provides an interface between requesting objects and receiving objects (CORBA, TechTarget). ORB support in a network of clients and servers on different computers means that a client program can request services from a server program or object without having to understand where the server is in a distributed network or what the interface to the server program looks like. To make requests or return replies between the ORBs, programs use the General Inter-ORB Protocol (GIOP) and, for the Internet, its Internet Inter-ORB Protocol (IIOP). IIOP maps GIOP requests and replies to the Internet's Transmission Control Protocol (TCP) layer in each computer.
VI. Functions of a Database Application.
You’re 80% through this paper. Sign up to read the full paper.
Sign Up Now — Instant Access Already a member? Log inAlways verify citation format against your institution’s current style guide requirements.