Service-oriented Architecture supports software to be composed from services dynamically. Selecting and composing appropriate services according to business process, policies and non-functional constraints is an essential challenge. This paper proposes a method for automatic selection of the most relevant service for composition based on non-functional properties and the user’s context. In doing this we also propose a method of obtaining and evaluating non-functional aspects.