Message-oriented Middleware allows application modules to be distributed over heterogeneous Computing platforms and reduces the complexity of developing applications that span multiple Operating Systems and network protocols. The middleware creates a distributed communications layer that insulates the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by Message-oriented Middleware
Message-oriented Middlewares and Enterprise Service Bus (ESB) as they are Implemented are often difficult to separate into a Classification