- When implementing a business or software activity in SOA, a match is sought between the required functionality and that provided by a web service. In selecting services to perform a certain business functionality, often only hard constraints are considered. However, client requirements over QoS or other NFP types are often soft and allow tradeoffs. We use a graphical language for specifying hard constraints, preferences and tradeoffs over NFPs as well as service level objectives (SLO). In particular, we use the TCP and UCP network formalisms to allow for a simple yet very flexible specification of hard constraints, preferences, and tradeoffs over these properties. Algorithms for selecting web services according to the hard constraints, as well as for optimizing the selected web service configuration, according to the specification, were developed.