Different distributed component-based applications (e.g., distributed multimedia, library information retrieval, secure stock trading applications), running in heterogeneous execution environments, need different quality of service (QoS). The semantics of QoS requirements and their provisions are application-specific, and they vary among different application domains. Furthermore, QoS provisions vary per applications in heterogeneous execution environments due to the varying distributed resource availability. Making these applications QoS-aware during the development phase, and ensuring their QoS guarantees during the execution phase is complex and hard. In this paper, we present a unified QoS management framework, called 2KQ+. This framework extends our existing run-time 2KQ middleware system  by including our uniform QoS programming environment and our automated QoS compilation system (Q-Compiler). The uniform QoS programming and its corresponding QoS compilation allow and assist the application developer to build different component-based domain applications in QoS-aware fashion. Furthermore, this novel programming and compilation environment enables the applications to be instantiated, managed, and controlled by the same reconfigurable, component-based run-time middleware, such as 2KQ, in heterogeneous environments. Our experimental results show that different QoS-aware applications, using the 2KQ+ framework, get configured and setup fast and efficiently.