|Service Oriented Architecture (SOA)|
|Services vs. Applications|
|Enterprise Service Bus (ESB)|
A service proxy is a service which translates service calls betweeen two different client-service protocols. This may sound a bit abstract, so here is an example:
Imagine you have a service that is only accessible via Java's RMI (Remote Method Invocation). You need to access this service via a web service (SOAP) interface, because the rest of your service oriented architecture is standardized on SOAP.
To solve this problem you can implement a service proxy which receives SOAP calls and translates them into their corresponding RMI calls to the Java RMI service.
Here is an illustration showing a client calling a service proxy via SOAP. The service proxy then calls the Java RMI service. The response from the Java RMI service is translated into SOAP by the service proxy, and returned to the client.
|A service proxy that translates between SOAP and Java RMI.|
Some Enterprise Service Bus (ESB) products have built-in service proxy capabilities. Using an ESB with service proxy capabilities makes it a lot easier to "glue together" (integrate) your various different systems in your service oriented architecture.