1. A computer-implemented method of assigning a web service request to a plurality of service providers comprising: decomposing a web service request into a plurality of workflows; analyzing the plurality of workflows using a computer to determine a plurality of business processes; associating a web service type with each of the plurality of business processes; assigning a business value to each of the plurality of business processes; searching for an optimal assignment of said plurality of business processes to said plurality of service providers, said optimal assignment responsive to an overall business value of executing the web service request, wherein the searching further includes solving a combinatorial optimization problem; categorizing a first one of the plurality of workflows as a success if a completion time of the one of the plurality of workflows is less than a predetermined quality of service value; and categorizing a second one of the plurality of workflows as a failure if the completion time of the one of the plurality of workflows is greater than a constant times the predetermined quality of service value.