This disclosure describes a system and method for mediating service requests in an ESB. The invention improves the prior art by providing additional decoupling between the ESB and service providers. State of the art ESBs leverage a Service Registry to resolve at runtime the endpoint a request is routed to. The Registry can also provide policies: a list of assertions describing the endpoint?s characteristics (for example security and reliability). In addition a typical ESB contains mediation components that perform data transformation: this decouples the format of the request message from the service provider interface. The best separation of concern is achieved by using a canonical model, abstracted from the data format used by message consumer and message provider. The ESB will implement a first transformation from the consumer?s request to the canonical model; and a second transformation from the canonical model to the object model consumed by the service provider. Thestate of the art described above provides a strong level of decoupling between service consumers and service providers; on the other hand it involves a certain level of dependency between the ESB and the other participants in the service interactions (service consumers and service provider). Consider, for example, the case in which a new release of an existing service is published into the ESB. The service interface, as well as the service endpoint, may have changed. If this happen the ESB components mediating between the canonical model and the service interface will have to be modified. The same will happen if the data model of the service consumer changes. Figure 1 (Mediation 1 depends on the service consumer and Mediation 2 on the service provider) The dependency of the ESB from the data model of service provider (and/or consumers) generates significant governance issues because service owners are usually different from the owners of the ESB infrastructure. The introduction of new service providers requires not only a change in the configuration of the registry but also the deployment of new mediation components that can threaten the stability of the overall ESB solution.
System and method for service mediation
This disclosure describes a system and method for mediating service requests in eg; an Enterprise Service Bus (ESB). The mechnism herein improves the prior art by providing additional decoupling between the ESB and service providers.
State of the art ESBs leverage a Service Registry to resolve at runtime the endpoint a request is routed to. The Registry can also provide policies: a list of assertions describing the endpoint's characteristics (for example security and reliability). In addition a typical ESB contains mediation components that perform data transformation: this decouples the format of the request message from the service provider interface. The best separation of concern is achieved by using a canonical model, abstracted from the data format used by message consumer and message provider. The ESB will implement a first transformation from the consumer's request to the canonical model; and a second transformation from the canonical model to the object model consumed by the service provider.
The state of the art described above provides a strong level of decoupling between service consumers and service providers; on the other hand it involves a certain level of dependency between the ESB and the other participants in the service interactions (service consumers and service provider).
Consider, for example, the case in which a new release of an existing service is published into the ESB. The service interface, as well as the service endpoint, may have changed. If this happen the ESB components mediating between the canonical model and the service interface will have to be modified. The same will happen if the data model of the service consumer changes.
Figure 1 (Mediation 1 depends on the service consumer and Mediation 2 on the service provider)
The dependency of the ESB from the data model of service provider (and/or consumers) generates significant governance issues because service owners are usually different from the owners of the ESB infrastructure. The introduction of new service providers requires not only a change in the configuration of the registry but also the deployment of new mediation components that can threaten the stability of the overall ESB solution.
The core idea of the mechanism herein is an ESB that leverage generic mediation components performing data transformation defined in the service registry.
The mediation components herein are generic, not coupled to the object model of other participants in the interaction. This solves the governance and stability issues described in section 1. The introduction of a new service provider (or service consumer) can...