We propose a comprehensive framework for adaptivity of service-based applications, which exploits the concept of process fragments as a way to model reusable process knowledge and to allow for the dynamic, incremental, contextaware composition of such fragments into adaptable servicebased applications. The framework provides a set of adaptation mechanisms that, combined through adaptation strategies, are able to solve complex adaptation problems. An implementation of the proposed solution is presented and evaluated on a realworld scenario from the logistics domain.