Patent ID: 8577733

Claim:
An apparatus comprising: a engine configured to receive an order for a service or good; a component offerings database configured to store one or more components provided by one or more providers and provider information; a service representation database configured to create service specifications comprising listings of components for a given service or good; a supplier selector module configured to be in communication with the engine, the component offerings database, and the service representation database, said supplier selector module further configured to: receive the order from the engine; obtain from the service representation database a service specification comprising at least one component representing the order; search the component offerings database for provider information associated with an available provider identified as supplying the at least one component for the service or good; query a system of the available provider to determine a capability to supply the at least one component; confirm the ability of the available provider to supply the at least one component; and create a service instance representing the order as provided by the available provider; wherein the engine is further configured to: receive the service instance from the supplier selector module and use the service instance to fill parameters in a workflow to fulfill the order; receive a request from a customer to alter the order while fulfilling the order; determine a change to the order given a current state of fulfillment of the order; and in response to the determination of the change to the order given the current state of fulfillment of the order, perform a constrained provider selection process wherein the constrained provider selection process is constrained at least in part based on the current state of fulfillment of the order.