Patent ID: 7657591

Claim:
At a computer system, the computer system including a URI namespace for identifying available resources of the computer system, a method for dispatching a client request message to an appropriate server-side method for processing the client request message, the method comprising: an act of receiving a client request message that includes at least a request Uniform Resource Identifier (URI) and a HyperText Transfer Protocol (HTTP) method identifier, reception of the client request message indicating to the computer system that the HTTP method identified by the HTTP method identifier is to be performed on a resource identified by the request URI; an act of extracting a URI path from the URI included in the received client request message, the extracted URI path identifying a path within the URI namespace; an act of accessing a service contract framework, the service contract framework including a plurality of transfer contracts, each transfer contract of the, plurality of transfer contracts indicating that at least one of the server implemented methods is to be invoked when a request matches the transfer contract, at least one transfer contract of the plurality of transfer contracts including the URI path identifying the path within the URI namespace and indicating a first server implemented method of the plurality of server implemented methods that is to be invoked when a first request matches the at least one transfer contract; an act of comparing the extracted URI path and the HTTP method to each of the plurality of transfer contracts in accordance with designated behaviors to identify an indicated server implemented method that is to be invoked to process the client request message, including: an act of identifying a subset of transfer contracts of the plurality of transfer contracts that match the extracted URI by comparing the extracted URI path to the URI path of each of the at least one transfer contracts including a URI path; and an act of identifying at least two transfer contracts of the plurality of transfer contracts, from among the subset of transfer contracts, that matches to the HTTP method in the client request message; and utilizing the designated behaviors to select an appropriate transfer contract among the at least two transfer contracts; and an act of invoking the server implemented method indicated in the selected transfer contract server side operation to process the client request message processing the client request message causing the identified HTTP method to be performed on the resource identified by the extracted URI.