1. A method for ranking services in a web services architecture having a hierarchy of services ( 401 , 406 , 408 , 410 ) with a root originating service requestor ( 401 ), a service of a first level in the hierarchy calling a service of a lower level, the method comprising: the originating service requestor ( 401 ) indicating a preference regarding one or more services and a ranking machine ( 405 ) having a choice algorithm based on the preference; the originating service requestor ( 401 ) invoking services of one or more levels of hierarchy; at each level of the hierarchy, a service using a directory ( 411 ) to find a set of possible lower-level services; and the ranking machine ( 405 ) applying the choice algorithm to the set of possible lower-level services.