In this paper we present Amadeus, which is a holistic service-oriented environment for QoS-aware Grid workflows. Amadeus considers user's requirements, in terms of QoS constraints, during workflow specification, planning, and execution. Within the Amadeus environment, workflows and the associated QoS constraints are specified at a highlevel using an intuitive graphical notation. A set of QoSaware service-oriented components is provided for workflow planning to support automatic constraint-based service negotiation and workflow optimization. For improving the efficiency of workflow planning, we introduce a QoSaware workflow reduction technique. By following either a static or a dynamic planning strategy the workflow is executed using the selected services in the manner that the specified user's requirements are met. For each phase of the workflow lifecycle we experimentally evaluate the corresponding Amadeus components.