The term middleware refers to runtime system software, which is layered between the application programs and the operating system. It acts as a bridge to integrate application programs and other software components in an environment with multiple network nodes, several operating systems, and many software products. Middleware is needed to run client/server architectures and other complex networked architectures in a distributed computing environment. Therefore, the middleware should support directory services, message-passing mechanisms, and database gateways. Most middleware falls into two major categories:
Middleware can also be used to enable "reach-through" queries from summaries in the BI target databases to the underlying detail data held in operational systems. To keep the cost to a minimum, a number of organizations are already using gateways to transfer data from multiple heterogeneous sources of server data to client workstations, as illustrated in Figure 2.3. Figure 2.3. Gateway Example
DBMS GatewaysDMBS gateways, a form of middleware, are generally required to connect the different network architectures of desktop computers, remote clients , or small enterprise servers to industrial-strength enterprise servers. Gateways fall into four major categories.
Organizational data is distributed across multiple DBMS platforms, cooperating across a network with different instruction sets from multiple vendors. ODBC-enabled applications can access multiple distributed data sources concurrently via ODBC's common interface approach (Figure 2.4). Figure 2.4. ODBC-Enabled Applications
Modules called database drivers can be added to link the applications to the DBMS of their choice. Database drivers consist of dynamic link libraries (DLLs) that applications can invoke on demand. |