Jerry Nixon on Windows: The Service Agent API Separation Pattern

Jerry Nixon on Windows

Tuesday, November 4, 2008

The Service Agent API Separation Pattern

Although that is what Microsoft calls it, I call it the Service Proxy pattern. It is a very important and very valuable pattern.

This software pattern does not allow a client to access a service directly. Instead, it requires a proxy. A proxy can be simple or sophisticated. The pattern goal is to separate the service from the client.

In my experience, we implement a ServiceProxy class library. That library is the only project which is allowed to add a Web Reference or Service Reference (when we use WCF). It is shared across clients accessing the same service. Security and transformations are centralized. The service interface becomes stable – service signature changes minimally impact clients.

You only need to implement this pattern one time to fall in love with it.