1. A method for hosting one or more versions of a service using a service proxy, the method comprising: specifying an interface definition of a service which defines and uniquely identifies an interface version for the service, and specifying an implementation definition of the service which uniquely identifies an implementation version for the service; generating one or more service proxies, wherein each service proxy represents an interface version of a service; providing a proxy configuration that contains entries for a plurality of service implementation versions, wherein each service proxy utilizes the proxy configuration to access a certain one or more of the plurality of service implementation versions which share the same or a compatible interface version of a service, and wherein the proxy configuration contains attributes that include information about each of the plurality of service implementation versions; and wherein the service proxy dynamically selects one of the service implementation versions in the proxy configuration to route one or more client service requests to based on the proxy configuration attributes.