Mobile applications must operate in environments which experience rapid and significant fluctuations in the Quality of Service (QoS) offered by their underlying communications infrastructure. These fluctuations may be the result of explicit changes between networks, increased competition for network resources or degradation of service due to environmental factors. In order to continue to operate effectively mobile applications must be capable of adapting to these changes. This paper reports on the design and implementation of a number of services to support adaptive applications. In particular, the paper describes in detail a Remote Procedure Call protocol (RPC) called QEX which has been designed to adapt to changes in communications QoS and to provide feedback to applications when changes to the QoS occur. QEX has been implemented as part of the ANSAware distributed systems platform and together with a number of other services described in this paper enables ANSAware to support advanced mobile applications.