Overview Middleware
The items included under the heading of middleware differ depending on who is making the list. Many interesting categorizations exist — for a good discussion, see RFC 2768. These categorizations are all centered around sets of tools and data that help applications use networked resources and services. Some services, like authentication and directories, are in all categorizations. Others, such as coscheduling of networked resources, secure multicast, and object brokering and messaging, are the major middleware interests of particular communities, but attract little interest outside of those particular communties. A popular definition of middleware that reflects this diversity of interests is "the intersection of the stuff that network engineers don't want to do with the stuff that applications developers don't want to do."
Middleware has emerged as a critical second level of the enterprise IT infrastructure. The need for middleware stems from growth in the number of applications, in the customizations within those applications and in the number of locations in our environments. These and other factors now require that a set of core data and services be moved from their multiple instances into a centralized institutional offering. This central provision of service eases application development, increases robustness, assists data management, and provides overall operating efficiencies.