What is database-oriented middleware?
Database-oriented middleware is any middleware that facilitates communications with a database, whether from an application or between databases. Developers typically use database-oriented middleware as a mechanism to extract information from either local or remote databases. For example, in order to extract information from an Oracle database, the developer may invoke database-oriented middleware to log on to the database,request information, and process the information that has been extracted from the database.
Although CLIs are common APIs that span several types of databases, providing access to any number of databases through a well-defined common interface, they are most often found working with relational databases. Such is the case with Microsoft ODBC. ODBC exposes a single interface in order to facilitate access to a database. It then uses drivers to accommodate differences between databases. ODBC also provides simultaneous multiple-database access to the same interface-in the ODBC architecture, a driver manager can load and unload drivers to facilitate communications between the different databases (e.g., Oracle, Informix, and DB2).
JavaSoft's Java Database Connectivity (JDBC) is another example of a CLI. JDBC is an interface standard that uses a single set of Java methods to facilitate access to multiple databases. JDBC is very much like ODBC,providing access to any number of databases from any Java application: applet, servlet, JSP, EJB, or standalone application. The future of Microsoft database middleware is represented by its OLE DB. OLE DB provides a standard mechanism to access any number of resources-including databases, Excel spreadsheets, and flat files-as standard objects (e.g., COM objects). OLE DB provides an object framework to retrieve a result set and then navigate and manipulate the result set in memory. OLE DB relies on the OLE Transactions transaction management framework to ensure the ACID properties (Atomicity, Consistency, Isolation, and Durability).
Rather than use a single multidatabase API, native database middleware accesses the features and functions of a particular database, using only native mechanisms. This limitation-communicating with only one type of database-is the primary disadvantage of native database middleware. Its advantages include improved performance and access to all the features of a particular type of database.
Dig Deeper on Topics Archive
Related Q&A from David Linthicum
David Linthicum explains what advanced business application programming (ABAP)/4 means. Continue Reading
David Linthicum defines Service Component Architecture (SCA) and Service Data Objects (SDO) and explains how to best build these components to enable... Continue Reading
David Linthicum explains how it is possible that Apache Tomcat is both a Web server and an application server. Continue Reading