1. A method for ranking services in a web services computer hardware architecture having a hierarchy of services with a root originating service requestor, a service of a first level in the hierarchy calling a service of a lower level, the method comprising: indicating a preference regarding at least one service and a ranking machine having a choice algorithm based on the preference; invoking services of at least one level of hierarchy; finding a set of possible lower-level services, by a service, using a directory at each level of the hierarchy; applying the choice algorithm to the set of possible lower-level services.