Overview of Mediator
webMethods Mediator is a service mediation and policy enforcement application for web services. Web services can be SOAP-based, REST-based, plain XML services, or OData services. Mediator is also used with web services that have been externalized as Application Programming Interfaces (APIs).
Mediator is designed for use with Software AG's Service-Oriented Architecture (SOA) products. Mediator application is delivered as a package called WmMediator which executes on Integration Server. This application provides an infrastructure for the run-time enforcement of service policies that are defined and managed from Software AG's UDDI registry, repositories or CentraSite.
Primarily, Mediator serves:
As an intermediary between service consumers and service providers (
mediation).
As a
policy enforcement point (PEP) that enforces policies defined for a web service.
Mediation
Mediator serves as an intermediary between service consumers and service providers through service virtualization. This implies that when a service request is sent by a consumer to a service provider, this request is sent to a virtual service hosted on Mediator for processing rather than directly to the service provider. A virtual service is an enhanced copy of a service provider's web service and acts as a consumer-facing proxy for the provider's web service. You configure virtual services in CentraSite and deploy them to a Mediator server.
Alternatively, if you have web services that have been externalized as APIs, the requests sent by a service consumer to a service provider is sent to a virtualized API hosted on Mediator for processing. You virtualize APIs using CentraSite Business UI and deploy them to a Mediator server. Mediator provides virtual OData services. OData services are a special kind of virtualized APIs.
Policy Enforcement
Mediator supports creating policies for virtual services or virtualized APIs that provide run-time governance capabilities for them. A policy is a sequence of actions that is carried out by Mediator when a consumer requests a particular service through Mediator. An action is a single task that is included in a policy and is evaluated by Mediator at run-time. The actions in a policy perform activities such as authenticating consumers, validating digital signatures, and capturing performance measurements. Actions include one or more parameters which you configure when you insert the actions into a policy. For example, an action that identifies consumers, specifies one or more identifiers to identify the consumers trying to access the services.
Mediator provides built-in action templates. A built-in action template is a definition of an action that can be used in a policy. An action template specifies the set of parameters associated with a particular policy action. You can use these action templates to create actions for your policies.
Mediation also provides improved interoperability between consumers and providers. You can configure the virtual service to make any necessary modifications to the message or its protocols before engaging with the provider as all requests from the service consumer pass through Mediator.
Example
In a regular scenario, a request from a consumer application is sent directly to a web service exposed by the service provider. In a mediated system, the request is sent through Mediator where policies are applied to the web service and are enforced by Mediator.
For example, a consumer application could be a web form filled out by a bank employee looking for all the records for a customer, such as savings, investment, and mortgage. The Customer Data service handles requests for such data, therefore, Mediator applies the policies to the request. The policies it enforces for the service dictate that the employee making the request is eligible to see the mortgage data, but none of the other data requested. The service retrieves the mortgage data from the Financial Holdings service provider and returns it to the consumer application.