What Is Middleware?
Loosely defined, middleware is a set of services that perform various functions in a distributed computing environment, across a wide set of server and client systems. In essence, middleware is computer software that connects software components. Here are some types of middleware services:
Security: Authenticates a particular client program to some system component to verify, for example, that the client program and its user are really who they say they are.
Transaction management: Ensures transactional integrity — that a system or database doesn’t get corrupted if problems occur.
Message queues: Enables loosely coupled systems to pass messages back and forth to each other, and those messages trigger actions and/or transactions to occur. Messages sent from one application to another are collected and stored until they’re acted on, while the application continues with other processing.
Application server: A server that hosts an application programming interface (API), which exposes business logic and business processes so that other applications, either on the same or different servers, can use the shared logic and processes.
Web server: A computer program that’s responsible for accepting requests from Web browsers, as well as sending responses and content to those browsers — usually Web pages, such as HTML documents, and linked objects, such as images.
Directory: Enables a client program to find other services or servers located in a distributed enterprise.
These types of services are typically part of a distributed transaction-processing environment. Not that a data warehousing environment can’t also include these services; it’s just that other middleware services are more important to a data warehousing environment.