Service selection is the first step in customer life cycle management where services are selected to meet a customer's goals or objectives, personalised to the circumstances of the customer. The aim of this paper is twofold: (1) to develop concepts and algorithms for goal-directed service selection; and (2) to compare and reconcile our goal-directed approach with a service-oriented approach. The proposed goal-directed service selection algorithm is based on a goal-directed domain description that represents the customer objectives and the business processes. We use service component architectures with formalised contractual service process definitions as a software engineering approach to architectural design and realisation of service-oriented architectures (SOA). The comparison aims to understand the relationship between and benefits of a goal-directed approach and a service oriented approach . We use case studies from two complex customer care management domains to demonstrate the concepts. The implemented algorithms are tested in a health care case study.