Middleware Technologies like CORBA, Business objects, Biztalk etc
Like client/server, Middleware is another overused buzzword, but it is critical in the development of N-Tier client/server systems. Middleware by definition, sits between the client and the server. It converts data and allows very different systems to get along.
The increasingly rapid upward migration of companies to enterprise-wide computing has been made possible, in part, by the emergence of a generation of powerful, field-proven Middleware technologies.
Middleware begins with an API on the client that can invoke services remotely. It handles the transmission of the request and the resulting response, however it often doesn't provide an actual service such as an interface or server process.
The role of Middleware is to ease the task of designing, programming and managing distributed applications by providing a simple, consistent and integrated distributed programming environment. Essentially, Middleware is a distributed software layer, or ‘platform’ which abstracts over the complexity and heterogeneity of the underlying distributed environment with its multitude of network technologies, machine architectures, operating systems and programming languages.
Different Middleware platforms support different programming models. Perhaps the most popular model is object based Middleware in which applications are structured into (potentially distributed) objects that interact via location transparent method invocation.