Middleware Architecture - DDBMS


Middleware Architecture

It allows a single query to span multiple servers without requiring all database servers having the capability of managing multisite execution strategies. Here, we have one database server that is capable of managing queries and transactions spanning multiple servers. This server acts as a layer of software that coordinates the execution of queries and transactions across one or more independent database servers and is called middleware. All other database servers need to handle only local queries and transactions.

The middleware layer has the capability to execute joins and other operations (relational) on data accessed from other servers. This layer does not maintain any data by itself.

The middleware database architecture, also called data access middleware, is designed to allow a single query to span multiple servers, without requiring all database servers to be capable of managing such multisite execution strategies. Data access middleware provides users with a consistent interface to multiple DBMSs and file systems in transparent manner. Data access middleware simplifies heterogeneous environment for programmers and provides users with an easier means of accessing live data in multiple sources. It eliminates the need for programmers to code many environment specific requests or calls in any application that needs access to current data rather than copies of such data. The direct request or calls for data movement to several DMSs are handled by the middleware, and hence a major rewrite of application program is not required.

The middleware is basically a layer of software, which works as a special server and coordinates the execution of queries and transactions across one or more independent database servers. The middleware layer is capable of executing joins and other relational operations on data obtained from the other servers, but typically; does not itself maintain any data.

Middleware provides an application with a consistent interface to some underlying services, shielding the application from different native interfaces and complexities required to execute the services. Middleware might be responsible for routing a local request to one or more remote servers, translating the request from one SQL dialect to another as needed, supporting various networking protocols, converting data from one for one format to another, coordinating work among various resource managers and performing other functions.

The middleware engine is basically an application programming interface for routing of requests to various drivers and performing other functions. It handles data access requests issued. Drivers are used to connect various back-end data sources and they translate requests that have been issued through the middleware API to a format intelligible to the target data Translation service may include SQL translation, data type translation and error messages and return code translation.