1. A method comprising: receiving confirmation, from a customer, that functional and non-functional variable service components of a service-oriented application comprise variability point information that supports an acceptable variation of the service-oriented application; in which the variability point information defines how and to what extent a variable service component may be varied by a customer of the variable service component; and in which the variable service components are predefined in an interface variation protocol defining the selectable variation point information related to the variable service component prior to the customer accepting the variation of the service-oriented application; and receiving, from the customer, a selection of the variability point information defining how and to what extent the variable service components are to be varied in at least one computing device configured to implement a service-oriented application; executing source code associated with said variable service component in said at least one computing device in response to receiving said selection, and receiving at least one parameter associated with said selection from said predetermined set of available variations in said service component; said source code performing a predetermined rebuilding of at least a portion of said service-oriented application such that said variable service component is redefined according to said selected variability point information; and where a non-functional variable service component is the only component selected by the customer to be variable, modifying only a service model representing the service-oriented application and a deployment script of the service-oriented application.