In a service-oriented
architecture (SOA), a mediation layer primarily facilitates communication
across different services. In other words, the mediation
layer makes the services independent of each other so that even if a particular
service is replaced or removed, the other services can seamlessly interact with
The mediation layer plays an important role in defining a loosely coupled SOA, but is used for other operations as well. Many organizations want to have an XM-based messaging system which is technology-neutral; a mediation layer between the service provider and the consumer can make a lot of things possible. The mediation layer acts as an interpreter between different technologies and protocols, such as between HTTP and Java Messaging Service (JMS). In such cases, rather than putting in place a synchronous-asynchronous bridge or building a protocol adapter, it makes more sense to just utilize a mediation layer which can do that necessary translation for the system.